Apigee Edge RESTful Management API を使用して、API プロキシと API プロダクト、API プロキシのロジックのポリシー、アプリとアプリ デベロッパー、キャッシュの作成、構成、管理を行うことができます。Management API の使用方法については、RESTful Management API の使用と Apigee Management API リファレンスをご覧ください。
Edge Management API にアクセスするには、次のいずれかの方法で認証を行う必要があります。
- OAuth2
OAuth2 アクセス トークンとリフレッシュ トークンで Edge Basic 認証の認証情報を交換します。API 呼び出しでアクセス トークンを渡し、Edge Management API を呼び出します。
- SAML
OAuth2 アクセス トークンを使用している場合、ID プロバイダから返された SAML アサーションからトークンを生成します。
- Basic 認証(非推奨)
各リクエストでユーザー名とパスワードを渡して、Management API にアクセスします。この方法はおすすめしません。Basic 認証で Management API にアクセスする場合は、2 要素認証プロセスの併用を強くおすすめします。
Cloud アカウントの Edge の場合、OAuth2 と Basic 認証がデフォルトで有効になっています。Edge for Private Cloud の場合、デフォルトでは Basic 認証のみが有効になっています。
OAuth2 と SAML を同時に使用する
同じ環境内で SAML で認証する組織と OAuth2 で認証する組織を共存できます。ただし、これらのトークンとトークンの取得方法に互換性はありません。
OAuth2 と SAML の両方を呼び出すには:
- 複数のマシン: それぞれのマシンからコマンドを実行します。OAuth2 と SAML がトークンを
~/.sso-cli
に保存します。OAuth2 トークンを取得すると、SAML トークンが上書きされます。その逆も同様です。 - 単一マシン: OAuth2 から SAML に切り替えるたびに新しいトークンを取得します。
レスポンスのフォーマット
デフォルトでは、Management API は JSON 形式でデータを返します。多くのリクエストでは、レスポンスを XML 形式で取得できます。これを行うには、次の例のように Accept
リクエスト ヘッダーに application/XML を設定します。
curl -H "Authorization: Bearer `get_token`" \ -H "Accept: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ | xmllint --format -
レスポンスは次のようになります。
<List> <Item>SOAP-Message-Validation-1</Item> <Item>Spike-Arrest-1</Item> <Item>XML-to-JSON-1</Item> </List>
この例では、xmllint
でレスポンスをパイプ処理し、結果を出力しています。
acurl
ユーティリティは、Accept
ヘッダーをサポートしていません。このため、acurl
では JSON 形式のレスポンスになります。
JSON レスポンスを出力するには、json.tool Python ライブラリを使用します。
curl -H "Authorization: Bearer `get_token`" \ -H "Accept: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ | python -m json.tool
レスポンスは次のようになります。
[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ]
Management API の制限
組織では、Management API の呼び出し率が次のように制限されています。
- 1 分間に 10,000 回の呼び出し(有料プランの組織の場合)
- 1 分間に 600 回の呼び出し(評価用の組織)
この制限に HTTP ステータス コードの 401 と 403 は含まれません。この制限を超えると、429 Too Many Requests ステータス コードが返されます。