SAML 有効化後の Edge 管理ユーティリティと API の使用

Edge for Private Cloud v. 4.17.09

このセクションでは、SAML を有効にした後に Edge システム管理ツールとコマンドを実行する方法について説明します。Edge の多くのタスクでは、次のようなシステム管理者の認証情報が必要です。

  • 組織と環境の作成
  • Edge コンポーネントの追加と削除
  • apigee-adminapi.sh コマンドの実行
  • その他多くのタスク

ただし、Edge で SAML を有効にした後は、通常、基本認証を無効にして、SAML IDP を介してのみ認証できるようにします。そのため、システム管理者アカウントを SAML IDP に追加する必要があります。

システム管理者として Edge Management API を呼び出す

多くの Edge API 呼び出しでは、システム管理者の認証情報を渡す必要があります。Edge Management API での SAML の使用には、Edge Management API 呼び出しを行う際にトークンを取得して更新トークンを更新する方法が記載されています。

SAML 認証で apigee-adminapi.sh ユーティリティを使用する

apigee-adminapi.sh ユーティリティを使用すると、Edge 管理 API を呼び出して実行する Edge 構成タスクと同じタスクを実行できます。apigee-adminapi.sh ユーティリティには、次のようなメリットがあります。

  • シンプルなコマンドライン インターフェースを使用する
  • タブベースのコマンド補完を実装します。
  • ヘルプと使用状況に関する情報を提供します。
  • API を試すことを選択した場合、対応する API 呼び出しを表示できる

詳細については、apigee-ssoadminapi.sh の使用をご覧ください。

SAML 認証を有効にすると、システム管理者の認証情報を apigee-adminapi.sh ユーティリティに渡す方法がいくつかあります。

apigee-adminapi.sh コマンドのすべてのオプション(SAML 認証情報を指定するオプションを含む)を表示するには、コマンドに「-h」オプションを指定します。次に例を示します。

> apigee-adminapi.sh orgs list -h

たとえば、システム管理者の認証情報を渡すことができます。

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant --admin adminEmail --oauth-password adminPword 

ここで

  • sso-url には、Edge SSO モジュールの URL を指定します。9099 と HTTP から変更した場合は、ポートまたはプロトコルを変更します。
  • oauth-flow は、passcode または password_grant のいずれかを指定します。この例では、password_grant を指定します。
  • adminEmail は、システム管理者のメールアドレスです。
  • oauth-password には、sys 管理者のパスワードを指定します。

または、コマンドを呼び出すときにパスコードを使用することもできます。

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-passcode passcode 

ここで

  • oauth-flow に passcode を指定します。
  • oauth-passcode には、http://edge_sso_IP_DNS:9099/passcode から取得したパスコードを指定します。

最後に、コマンドを呼び出すときにトークンを使用します。

> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-token token 

ここで

  • oauth-flow には、トークンを最初に取得した方法に応じて、passcode または password_grant を指定します。この例では、get_token を使用してトークンを取得したため、passcode を指定します。Edge Management API での SAML の使用をご覧ください。
  • oauh_token にはトークンが含まれています。

SAML 認証での Edge ユーティリティの使用

多くの Edge ユーティリティでは、次のようなシステム管理者の認証情報が必要です。

  • apigee-provision。組織、環境、仮想ホストの作成に使用されます。
  • setup.sh: 既存のシステムにノードを追加するために使用します。
  • 構成ファイルでシステム管理者の認証情報を指定する必要があるその他のユーティリティ

これらのユーティリティは、次のプロパティを使用してシステム管理者の認証情報を指定する構成ファイルを入力として受け取ります。

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW=adminPWord

パスワードを省略すると、パスワードの入力を求められます。

SAML を有効にした後は、別のプロパティを使用してシステム管理者の認証情報を指定します。たとえば、システム管理者の認証情報を渡すことができます。

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=password_grant
OAUTH_ADMIN_PASSWORD=adminPWord

ここで

  • SSO_LOGIN_URL には、Edge SSO モジュールの URL を指定します。9099 と HTTP から変更した場合は、ポートまたはプロトコルを変更します。
  • OAUTH_FLOW には、passcode または password_grant を指定します。この例では、システム管理者のパスワードを渡すため、password_grant を指定します。
  • OAUTH_ADMIN_PASSWORD には、システム管理者のパスワードを指定します。

また、次のプロパティを使用して、パスコード フローの一部として認証情報を指定することもできます。

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=passcode
OAUTH_ADMIN_PASSCODE=passcode

ここで

  • OAUTH_FLOW には passcode を指定します。
  • OAUTH_ADMIN_PASSCODE には、http://edge_sso_IP_DNS:9099/passcode から取得したパスコードを指定します。

最後に、トークンを使用できます。

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099
OAUTH_FLOW=passcode
OAUTH_BEARER_TOKEN=token

ここで

  • OAUTH_FLOW には、最初にトークンを取得した方法に応じて、passcode または password_grant を指定します。この例では、get_token を使用してトークンを取得したため、passcode を指定します。Edge Management API での SAML の使用をご覧ください。
  • OAUTH_BEARER_TOKEN にはトークンが含まれています。