Edge for Private Cloud v4.19.01
Edge API で SAML を使用する場合、OAuth2 アクセスを取得し、 更新するトークンをパスコード フローと呼びます。パスコード フローでは、 ブラウザを使用してワンタイム パスコードを取得し、それを使用して OAuth2 トークンを取得します。
ただし、開発環境によっては、一般的な開発タスクの自動化をサポートしている場合もあります。 テストの自動化や継続的インテグレーション/継続的デプロイ(CI/CD)などの用途に使用できます。自動化 これらのタスクを行うために、認証なしで OAuth2 トークンを取得して更新する方法が必要です。 ブラウザからパスコードをコピーして貼り付ける必要がありました。
Edge では、SAML 内でマシンユーザーを使用したトークンの自動生成がサポートされています。 組織に提供します。マシンユーザーは パスコードを指定しなくても OAuth2 トークンを取得できます。つまり Edge Management API を使用して OAuth2 トークンを取得および更新するプロセス。
SAML 組織にマシンユーザーを作成するには、次の 2 つの方法があります。
以降のセクションで、それぞれの方法について説明します。
SAML 以外の組織にマシンユーザーは作成できません。
apigee-ssoadminapi.sh
を使用してマシンユーザーを作成する
apigee-ssoadminapi.sh
を使用する
ユーティリティを使用して SAML 組織内にマシンユーザーを作成します。詳細については、
apigee-ssoadminapi.sh をご覧ください。すべての組織で使用する単一のマシンユーザーを
組織ごとに個別のマシンユーザーを作成することもできます。
マシンユーザーは作成され、SAML ID ではなく Edge データストアに保存される 接続します。したがって、Edge を使用してマシンユーザーを維持する責任はありません。 UI と Edge の管理 API。
マシンユーザーを作成するときは、メールアドレスとパスワードを指定する必要があります。変更後 マシンユーザーを作成したら、1 つ以上の組織に割り当てます。
apigee-ssoadminapi.sh
を使用してマシンユーザーを作成するには:
- 次の
apigee-ssoadminapi.sh
コマンドを使用してマシンユーザーを作成します。apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \ -u machine_user_email -p machine_user_password
ここで
- SSO_ADMIN_NAME は、
次の場所の
SSO_ADMIN_NAME
プロパティ: Edge SSO モジュールの構成に使用する構成ファイル。デフォルトはssoadmin
。 - SSO_ADMIN_SECRET は、
構成ファイルの
SSO_ADMIN_SECRET
プロパティを設定します。
この例では、
--port
と--ssl
を使用します。これは、apigee-sso
モジュールはデフォルトの--port
の場合は 9099、--ssl
の場合は http になります。お使いの インストールではこれらのデフォルトが使用されないため、必要に応じて指定してください。 - SSO_ADMIN_NAME は、
次の場所の
- Edge UI にログインしてマシンユーザーのメールアドレスを組織に追加し、 必要なロールを割り当てます。詳しくは、グローバル ユーザーの追加をご覧ください。 できます。
Edge でマシンユーザーを作成する 管理 API
マシンユーザーを作成するには、Edge Management API を、
apigee-ssoadminapi.sh
ユーティリティ。
Management API を使用してマシンユーザーを作成するには:
- 次の
curl
コマンドを使用して、ssoadmin
ユーザー(apigee-sso
の管理者アカウントのユーザー名:curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
ここで、SSO_ADMIN_SECRET はインストール時に設定した管理者パスワードです 関数の
SSO_ADMIN_SECRET
プロパティで指定されたapigee-sso
構成します。このコマンドを実行すると、次の呼び出しに必要なトークンが表示されます。
- 次の
curl
コマンドを使用してマシンユーザーを作成し、取得したトークンを渡します。 メッセージを受け取ってから:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
マシンユーザーのパスワードは、後の手順で必要になります。
- Edge UI にログインします。
- マシンユーザーのメールアドレスを組織に追加し、マシンユーザーを 付与します。詳細については、 グローバル ユーザーをご覧ください。
マシンユーザー トークンの取得と更新
Edge API を使用して、マシンユーザーの認証情報を渡して OAuth2 トークンを取得し、更新します。 認証情報を使わずに済みます。
マシンユーザーの OAuth2 トークンを取得するには:
- 次の API 呼び出しを使用して、初期アクセス トークンと更新トークンを生成します。
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
後で使用できるように、トークンを保存します。
- アクセス トークンを Bearer ヘッダーとして Edge Management API 呼び出しに渡します。
curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
ここで、org_name はマシンユーザーを含む組織の名前です。
- 後でアクセス トークンを更新するには、更新を含む次の呼び出しを使用します。
token:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'