OIDC API認証
エクイニクスのAPIは、OAuth 2.0プロトコルを使用してAPIエンドポイントへのOIDCユーザーのリクエストを認証します。 エクイニクスのAPIを利用するには、ベアラアクセストークンが必要です。
前提条件
-
登録したOIDCプロバイダからのOIDC IDトークン。
-
API アクセストークンの範囲を指定するための、製品またはサービス固有の権限。どちらかが必要です:
ern:<access-policy-ern>ここで<access-policy-ern>はプリンシパルに付与された単一のアクセスポリシーです。roleassignments:<org-id>ここで<org-id>は OIDC プリンシパルが 役割 を割り当てた組織 ID です。projectpolicies:<project-id>ここで<project-id>は OIDC プリンシパルが アクセス ポリシー またはアクセス ポリシーを付与されているプロジェクト ID です。orgpolicies:<org-id>ここで<org-id>は、プリンシパルにアクセス・ポリシーまたはアクセス・ポリシーが付与されている組織 ID です。orgpolicies:<org-id> roleassignments:<org-id>ここで<org-id>は、プリンシパルにロールとアクセスポリシーの両方が付与されている組織 ID です。
詳細については、アクセス制御スコープ を参照してください。
アクセストークンのリクエスト
ベアラ アクセストークンを要求するには、/v1/token エンドポイントに POST リクエストを送信します。
リクエスト本文に
grant_type- アクセストークンを受け取るにはurn:ietf:params:oauth:grant-type:token-exchangeを使用します。scope(必須) - スコープをプロバイダ。トークンによって付与されたパーミッションは、プリンシパルに適切なロールまたはアクセスポリシーが付与されているかどうかをチェックします。詳細については、アクセス制御スコープ を参照してください。subject_token- OIDC ID トークン。subject_token_type- OIDC ID トークンとしてsubject_tokenを識別するurn:ietf:params:oauth:token-type:id_tokenを使用します。
サンプルcURLリクエスト:
curl -X POST 'https://sts.eqix.equinix.com/v1/token' \
--data-urlencode 'grant_type=urn:ietf:params:oauth:grant-type:token-exchange' \
--data-urlencode 'subject_token_type=urn:ietf:params:oauth:token-type:id_token' \
--data-urlencode 'scope=<role_or_access_policy>' \
--data-urlencode 'subject_token=<oidc_id_token>'
アクセストークンの使用
Equinix APIとやり取りするには、HTTPリクエストのAuthorizationヘッダーにアクセストークンをAuthorization: Bearer <token>で送信します。