Prisma CloudのAPI使用に関する最初の注意点
みなさんこんにちは!Prisma Cloud製品担当SEの川口です。
今回はPrisma CloudでAPIを使用する際、最初の注意点について、簡単ですが書いておきたいと思います(基本的にPythonについての記述になります)。
目次[非表示]
Prisma CloudのAPIって、どうやって使うの?
以下URLにあるAPIリファレンスににサンプルコード付きで記載されています。
https://api.docs.prismacloud.io/reference
Try the API
その中で、REST APIのURLがhttps://api.prismacloud.ioである場合、APIドキュメントから直接Prisma Cloud REST APIのほとんどを試すことができます。
しかし残念ながら弊社の環境はhttps://api.anz.prismacloud.ioのため使用できませんでした・・・。
まず初めに
(1)アクセスキーを作成
PrismaCloud本体側のUIから、「設定」→「アクセスキー」を選んで新規作成します。
この時Secretが表示されるのは最初の1回だけなので注意してください!
(2)JWTのトークンを取得する
import requests url = https://api.anz.prismacloud.io/login payload = "{ \"username\":\"ACCESS_KEY_ID\", \"password\":\"SECRET_KEY\“ }“ headers = { 'accept': "application/json; charset=UTF-8", 'content-type': "application/json; charset=UTF-8"} response = requests.request("POST", url, data=payload, headers=headers) print(response.text) ←これは無くてもOK |
ここで(1)で取得したAccess key idをACCESS_KEY_IDにとSecret keyをSECRET_KEYに記入してペイロードに入れておくことで認証が可能になります。
ただしわからないところが
APIリファレンス(https://api.docs.prismacloud.io/reference)には、リクエストヘッダーにx-redlock-authとContent-Typeは必須である旨が記載されているんですが、肝心のリクエストヘッダーにx-redlock-authを使用するサンプルコードがないため、パッと見分かりずらいです。たぶんですがマニュアル見ただけだと無理ではないかと思います(自分は無理でした・・・)。
ではどうするのかというと
まず最初にjsonライブラリをインポートしておきます。
import json |
で、ヘッダーを定義して(この段階では空欄でOKです)
redlock_api_headers = { 'Content-Type': 'application/json', 'x-redlock-auth': '', 'cache-control': 'no-cache’ } |
最初に取得したJWTからtokenを取り出して、ヘッダーに入れます(jsonをimportしておかないとエラーになるので注意)
redlock_api_headers['x-redlock-auth'] = json.loads(response.text)['token’] |
そのあと任意のAPIを定義しますが、リクエストヘッダーはAPIごとに違うので最初の定義の段階で宣言しておきます。
たとえばユーザリストを取得したい場合
Prisma Cloudに設定したユーザリストを取得したい場合は
import requests url = "https://api.anz.prismacloud.io/v2/user" headers = {‘accept’: ‘*/*‘} ←これ response = requests.request("GET", url, headers=headers) |
なので
redlock_api_headers = {'accept': '*/*’, 'Content-Type': 'application/json', 'x-redlock-auth': '', 'cache-control': 'no-cache’ } |
として、定義しておいてtokenを入れればOKです!
(当然ですが、 requestの中でのヘッダーの変数は合わせてください)
以上簡単ですが、Prisma CloudでAPIを使用する際、最初の注意点について記載させていただきました!なにかご不明点ございましたら、お気軽にお問合せください。
関連記事