はじめに
この記事では、PostmanをつかったSecure Endpoint API v3の利用方法について手順を紹介いたします。PostmanをつかったSecure Endpoint API v0/v1のご利用方法については、こちらの記事をご参照ください。Secure Endpoint API v0/v1へのアクセスはAPI keyをつかったbasic認証方式でしたが、Secure Endpoint API v3ではアクセストークンを生成して認可を行う方式に変わっております。
前提条件
- こちらは2023/5/29時点での確認結果となります。将来的に予告なしに画面や動作が変更される場合がございます。
- ここでは、Windows版Postman ver9.31を利用しております。
- SecureXとSecure Enpointが統合されている必要があります。
- 本記事の内容についてはあくまで当方の環境での実行結果のご紹介であり、お客様環境での動作を保証するものではございません。また、Postmanに関しては弊社製品ではございませんため、お問合せ等は対応できかねます。
- ここでは、APJC(Asia Pacific, Japan and China )にあるリソースにアクセスしています。
- Secure Endpoint API v3の詳細に関してはこちらのドキュメントをご参照ください。
- ここでお見せするPostmanの設定方法はあくまでも一例となります。
API Clientの発行
SecureXの管理コンソールにログインし、Administrationタブをクリックします。
![YusukeTogawa_2-1665105474329.png YusukeTogawa_2-1665105474329.png](/t5/image/serverpage/image-id/164228iE5792F97B8CA5817/image-dimensions/483x35?v=v2)
ナビゲーションペインからAPI Clientsをクリックし、Generate API Clientをクリックします。
![YusukeTogawa_3-1665105696930.png YusukeTogawa_3-1665105696930.png](/t5/image/serverpage/image-id/164229i1213551884388AC3/image-dimensions/430x184?v=v2)
Client Nameを入力し、API Clientsを選択します。Scopes(ここではすべてを選択)を指定し、Add New Clientボタンをクリックします。ここでは、Client NameはTest APIとし、Scopesはすべてを選択しています。必要に応じてDescriptionも入力ください。
![YusukeTogawa_4-1665105998023.png YusukeTogawa_4-1665105998023.png](/t5/image/serverpage/image-id/164231i4D5D3F5E0344685D/image-dimensions/428x502?v=v2)
Client IdとClient Passwordが発行されますので、これらを控えてください。※Client Passwordはこの画面を閉じてしまいますとその後は確認ができませんため、ご注意ください。
![YusukeTogawa_6-1665106206347.png YusukeTogawa_6-1665106206347.png](/t5/image/serverpage/image-id/164233i81BB7BFE7CB1137A/image-dimensions/443x266?v=v2)
PostmanによるSecure Endpoint API v3利用にあたっての下準備
Postmanを起動して、まずはナビゲーションペインからEnvironmentsをクリックし、+ボタンをクリックします。Environment名は任意の名前で問題ありません。(ここでは名前はSecure Endpoint APIとしています。)
![YusukeTogawa_1-1665106849718.png YusukeTogawa_1-1665106849718.png](/t5/image/serverpage/image-id/164235iA231455406A680E2/image-dimensions/444x219?v=v2)
以下の通り環境変数の入力を行います。Client_idとClient_passwordにはINITIAL VALUEとして、上の手順で発行したClient IdとClient Passwordを入力します。Secure_Endpoint_API_URLの変数には、INITIAL VALUEに以下のURLを入力ください。
Secure_Endpoint_API_URL: https://api.apjc.amp.cisco.com/v3
VARIABLE名は任意の名前で問題ありません。 最後にSaveボタンをクリックして保存をします。
![YusukeTogawa_9-1665629556418.png YusukeTogawa_9-1665629556418.png](/t5/image/serverpage/image-id/164629iEEA46B70F749B904/image-dimensions/907x150?v=v2)
右上のドロップダウンメニューから上で作成したEnvironmentを選択します。
![YusukeTogawa_1-1665107816922.png YusukeTogawa_1-1665107816922.png](/t5/image/serverpage/image-id/164242iB7E275E449328D1B/image-dimensions/972x117?v=v2)
アクセストークンの生成
SecureX API アクセストークンの生成
左上のNewをクリックし、HTTP Requestをクリックして新規にHTTP Requestを作成します。
![YusukeTogawa_3-1665108217942.png YusukeTogawa_3-1665108217942.png](/t5/image/serverpage/image-id/164244iC74EFC70BA0B7609/image-dimensions/548x237?v=v2)
MethodでPOSTを選択し、URLにSecureX API Access Token EndpointのURL(https://visibility.apjc.amp.cisco.com/iroh/oauth2/token) を入力します。
![yutogawa_1-1685330393998.png yutogawa_1-1685330393998.png](https://community.cisco.com/t5/image/serverpage/image-id/185855i1B077182FB9CE1B9/image-dimensions/806x101?v=v2)
Authorizationタブをクリックし、TypeのドロップダウンメニューからBasic Authを選択し、UsernameおよびPasswordに上の手順で用意したClient_idおよびClient_passwordの変数を入力します。
![yutogawa_2-1685330495934.png yutogawa_2-1685330495934.png](https://community.cisco.com/t5/image/serverpage/image-id/185856i37063D8FE697C853/image-dimensions/814x175?v=v2)
Headersタブをクリックし、Key/Valueペアに以下の値を入力します。
KEY: Content-Type VALUE: application/x-www-form-urlencoded
KEY: Accept VALUE: application/json
![yutogawa_3-1685330748352.png yutogawa_3-1685330748352.png](https://community.cisco.com/t5/image/serverpage/image-id/185857i944D243B28AA451C/image-dimensions/821x142?v=v2)
Bodyタブをクリックし、Key/Valueペアに以下の値を入力します。
KEY: grant_type VALUE: client_credentials
![yutogawa_4-1685330883541.png yutogawa_4-1685330883541.png](https://community.cisco.com/t5/image/serverpage/image-id/185858iBE9CE4243F5CDC10/image-dimensions/827x127?v=v2)
Testsタブをクリックし、以下のスクリプトを入力します。リクエストによって上の手順で用意したSecureX_API_AccessToken変数にSecureX APIのアクセストークンが格納されるようになります。
![YusukeTogawa_2-1665109447633.png YusukeTogawa_2-1665109447633.png](/t5/image/serverpage/image-id/164250i9167FB61505A4E6D/image-dimensions/981x125?v=v2)
var data = pm.response.json();
pm.environment.set("SecureX_API_AccessToken", data.access_token);
Sendボタンをクリックしリクエストを送ると、以下の通り、トークンが生成されSecureX_API_AccessToken変数に格納されます。HTTP Requestは保存することによって再利用が可能です。
![YusukeTogawa_4-1665109800119.png YusukeTogawa_4-1665109800119.png](/t5/image/serverpage/image-id/164252i949FDF8CBE3B5239/image-dimensions/902x284?v=v2)
Secure Endpoint API アクセストークンの生成
まずは新規にHTTP Requestを作成します。
Methodで POSTを選択し、URLにSecure Endpoint API のアクセストークンEndpointのURL({{Secure_Endpoint_API_URL}}/access_tokens) を入力します。{{Secure_Endpoint_API_URL}}は上の手順で用意した変数となります。
![YusukeTogawa_10-1665629765105.png YusukeTogawa_10-1665629765105.png](/t5/image/serverpage/image-id/164630i72880B2700251FFB/image-dimensions/886x113?v=v2)
Authorizationタブをクリックし、TypeのドロップダウンメニューからBearer Tokenを選択し、Tokenに上の手順で用意したSecureX_API_AccessTokenの変数を入力します。
![YusukeTogawa_11-1665629947458.png YusukeTogawa_11-1665629947458.png](/t5/image/serverpage/image-id/164631i4A8E54D529E231D3/image-dimensions/888x154?v=v2)
Testsタブをクリックし、以下のスクリプトを入力します。上の手順で用意したSecure_Endpoint_API_AccessToken変数にリクエストで生成したSecure Endpoint APIのアクセストークンが格納されるようになります。
![yutogawa_0-1665986465332.png yutogawa_0-1665986465332.png](/t5/image/serverpage/image-id/164915iE4A73DD10F0C7953/image-dimensions/906x154?v=v2)
var data = pm.response.json();
pm.environment.set("Secure_Endpoint_API_AccessToken", data.access_token);
Sendボタンをクリックしリクエストを送ると、以下の通り、アクセストークンが生成されSecureX_API_AccessToken変数に格納されます。
![YusukeTogawa_2-1665630482973.png YusukeTogawa_2-1665630482973.png](/t5/image/serverpage/image-id/164637i72D5C31633D3E2CC/image-dimensions/891x219?v=v2)
Secure Endpoint API v3を使ったデータの取得例
まずは、新規にHTTP Requestを作成します。
ここでは例として、上の手順で生成したSecure Endpoint APIのアクセストークンを使って、Organizationの情報を取得します。
MethodでGetを選択し、以下のURLを入力します。
{{Secure_Endpoint_API_URL}}/organizations?size=10 ※Sizeは可変です。
次に、Authorizationタブをクリックし、ドロップダウンメニューからBearer Tokenを選択し、TokenにSecure_Endpoint_API_AccessTokenの変数を入力します。最後にSendをクリックしてリクエストを送ると以下のように自身が管理者となっているOrganizationの一覧が結果として返ってきます。
![YusukeTogawa_5-1665636576896.png YusukeTogawa_5-1665636576896.png](/t5/image/serverpage/image-id/164645iCC97EFB77F27DC97/image-dimensions/861x398?v=v2)
次の例は、Organizationに存在するPolicy一覧を取得する方法となります。以下のURLを指定してSendをクリックすると以下のようにポリシー一覧が結果として返ってきます。
{{Secure_Endpoint_API_URL}}/organizations/{organizationIdentifier}/policies?size=10 ※Sizeは可変です
![YusukeTogawa_3-1665636047564.png YusukeTogawa_3-1665636047564.png](/t5/image/serverpage/image-id/164642i4BD9A3BF17F7BC6F/image-dimensions/865x454?v=v2)
アクセストークンの有効期限が切れると以下のようなエラーが返ってきます。この場合、上の手順で再度アクセストークンを生成する必要があります。
![yutogawa_0-1665638668986.png yutogawa_0-1665638668986.png](/t5/image/serverpage/image-id/164650iD7D72FB6492E432B/image-dimensions/871x151?v=v2)