認証トークンを取得する
このトピックの後半で説明する Apigee API 呼び出しを行うには、Apigee 組織管理者のロールを持つ認証トークンを取得する必要があります。
- Apigee ハイブリッド組織に関連付けられている Google Cloud プロジェクトのオーナーでない場合は、Google Cloud ユーザー アカウントに roles/apigee.admin(Apigee 組織管理者)ロールがあることを確認してください。次のコマンドで、割り当てられているロールを確認できます。
gcloud projects get-iam-policy $PROJECT_ID \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
次に例を示します。
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
出力は次のようになります。
ROLE roles/apigee.admin roles/compute.admin roles/container.admin roles/gkehub.admin roles/iam.serviceAccountAdmin roles/iam.serviceAccountKeyAdmin roles/meshconfig.admin roles/owner roles/resourcemanager.projectIamAdmin roles/servicemanagement.admin roles/serviceusage.serviceUsageAdmin
- ロールに
roles/apigee.admin
がない場合は、ユーザー アカウントに Apigee 組織管理者のロールを追加します。次のコマンドを使用して、ユーザー アカウントにロールを追加します。gcloud projects add-iam-policy-binding $PROJECT_ID \ --member user:your_account_email \ --role roles/apigee.admin
次に例を示します。
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
- ユーザー アカウントの認証トークンを取得します。
export TOKEN=$(gcloud auth print-access-token)
次のコマンドで $TOKEN 環境変数を確認できます。
echo $TOKEN
Synchronizer アクセスを有効にする
Synchronizer アクセスを有効にするには:
- Synchronizer アクセスを許可するサービス アカウントのメールアドレスを取得します。非本番環境(このチュートリアルでの推奨)の場合は、
apigee-non-prod
にします。本番環境の場合は、apigee-synchronizer
にします。次のコマンドを使用します。gcloud iam service-accounts list --filter "apigee-non-prod"
パターン
apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com
と一致する場合、そのパターンは次のステップで使用できます。 - 次のコマンドを使用して setSyncAuthorization API を呼び出し、Synchronizer に必要な権限を有効にします。
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com"'"]}'
ここで
$ORG_NAME
: ハイブリッド組織の名前。apigee-non-prod$ORG_NAME.iam.gserviceaccount.com
: サービス アカウントのメールアドレス。
- サービス アカウントが設定されたことを確認するには、次のコマンドを使用して API を呼び出し、サービス アカウントのリストを取得します。
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d ''
出力は次のようになります。
{ "identities":[ "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
これで、Apigee ハイブリッド ランタイム プレーンと管理プレーンの通信が可能になりました。次に、ハイブリッド ランタイムに構成を適用し、Apigee ハイブリッドのインストールを完了します。
1 2 3 4 5 6 7 8 (次)ステップ 9: ハイブリッド ランタイムをインストールする