acurl の使用

acurl ユーティリティは、標準的な curl コマンドの便利なラッパーです。acurl は次のように動作します。

  • OAuth2 アクセス トークンのために Apigee 認証情報を交換します。
  • そのトークンを API リクエストの Authorization ヘッダーで渡します。
  • アクセス トークンが期限切れになったことを検出し、更新トークンを送信します。

アクセス トークンを使用して、OAuth または SAML ワークフローで管理 API を呼び出します。

前提条件: acurl を使用する前に、これをインストールする必要があります。

acurl ではなく OAuth2 を使用して管理 API にアクセスする場合は、アクセス トークンを取得して API リクエストのヘッダーに追加する必要があります。アクセス トークンを取得する方法はいくつかあります。たとえば、get_token ユーティリティを使用して取得できます。

acurl 構文

acurl ユーティリティの構文は次のとおりです。

acurl management_API_endpoint -u email_address[:password] [-p passcode] [-m mfa_code]

各パラメータの説明は次のとおりです。

オプション 要否 説明
management_API_endpoint 必須 管理 API エンドポイント。エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。
email_address 必須(初回のみ) Apigee アカウントに関連付けられているメールアドレス。初めて acurl を呼び出すときにメールアドレスを渡す必要があります。以降の呼び出しでは、認証はアクセス トークンによって行われます。アクセス トークンと更新トークンが期限切れになるまで、再度メールアドレスを渡す必要はありません。
password 省略可 Apigee アカウントのパスワード。パスワードを省略すると、初めて acurl を呼び出すときにパスワードの入力を求められます。コマンドで直接パスワードを使用したくない場合は、パスワードの代わりにワンタイム パスコードを使用できます。
passcode 省略可 パスワードの代わりに使用できるワンタイム パスコード
mfa_code 省略可 多要素認証(MFA)を有効にしている場合に acurl に渡す必要がある一時的なコード。MFA を有効にしていない場合は、このオプションを省略できます。

例:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

acurl の呼び出しが成功すると、呼び出した管理 API エンドポイントに基づいて結果が返されます。さらに、acurl はアクセス トークンと更新トークンの両方を ~/.sso-cli に保存します。

トークンの有効期限で説明されているように、アクセス トークンと更新トークンの両方の有効期限が切れるまで、パスワードを入力せずに引き続き呼び出しを行うことができます。

acurl の最初の呼び出し

acurl を初めて呼び出すとき、Apigee 認証情報(Apigee アカウントに関連付けられたメールアドレスとパスワード)を指定して、acurl がアクセス トークンと更新トークンのために認証情報を交換できるようにします。更新トークンが期限切れになるまで、再度 Apigee 認証情報を使用する必要はありません。

次の例は、Get Organization エンドポイントを使用して組織の詳細を取得する acurl の最初の呼び出しを示しています。

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com
mypassw0rd
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

acurl ユーティリティはアクセス トークンを取得し、管理 API エンドポイントの呼び出しに挿入します。

curl -H "Authorization: Bearer oauth2_access_token" ...

acurl は、アクセス トークンを ~/.sso-cli にローカルに保存して以降の呼び出しに使用します。

アクセス トークンの有効期限が切れると、acurl は自動的に更新トークンを使用して新しいアクセス トークンを取得します。更新トークンの有効期限が切れると acurl は失敗し、Apigee 認証情報の入力を求められます。

このリクエストでは、「ahamilton-eval」組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。