OIDCと役割
ロールベースのアクセスコントロールを使用している場合、OIDCプリンシパルにロールを割り当て、エクイニクスのインフラストラクチャへのアクセスを許可することができます。次に、OIDCプリンシパルがトークン交換を実行する際、スコープパラメーターにroleassignments:<org-id>を使用します。プリンシパルに組織内のロールが割り当てられている場合、トークン交換はベアラートークンを発行します。
ロールの割り当てと管理に必要な権限は次のいずれかです:
- 役割ベースのアクセス制御 -
IAM Admin役割。 - 属性ベースのアクセス制御 -
use/createRoleAssignment、use/listRoleAssignments、use/getRoleAssignment、use/deleteRoleAssignmentを含むアクセス・ポリシー:use/createRoleAssignment,use/listRoleAssignments,use/getRoleAssignment,use/deleteRoleAssignment.
利用可能な役割
すべてのロールをリストするには、/v1/roles エンドポイントに GET リクエストを送信します。
サンプルcURLリクエスト:
curl -X GET 'https://access.eqix.equinix.com/v1/roles' \
-H 'Authorization: Bearer <token>'
特定のプロジェクトで利用可能なロールを一覧表示するには、/v1/projects/{projectId}/roles エンドポイントに GET リクエストを送信します。 サンプル cURL リクエスト:
curl -X GET 'https://access.eqix.equinix.com/v1/projects/project:{projectId}/roles' \
-H 'Authorization: Bearer <token>'
応答には、ロールの ID と割り当てスコープが含まれます。
assignmentScope.typeフィールドには、以下のリストからそのロールに許可される可能な割り当てスコープがリストされます:assignmentScopeType=PDS_ORG, assignmentScopeType=ORGANIZATION, assignmentScopeType=PROJECT, assignmentScopeType=BILLING_ACCOUNT, assignmentScopeType=SUBSCRIPTION_KEY, assignmentScopeType=PORT.7}はそのスコープの一意なIDです。
役割割り当てを作成するときは、プロジェクトIDとスコープ情報を指定する必要があります。
役割割り当ての作成
ロール割り当てを作成するには、/v1/roleAssignments エンドポイントに POST リクエストを送信します。
サンプルcURLリクエスト:
curl -X POST 'https://access.eqix.equinix.com/v1/roleAssignments' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"principal": "<principal:principal_id>",
"roleId": "<role:role_id>",
"assignmentScope": {
"id": "<role_assignment_scope_id>",
"type": "<role_assignment_scope>"
}
}'
役割割り当ての一覧
割り当てスコープタイプのすべてのロール割り当てをリストするには、/v1/roleAssignments エンドポイントに GET リクエストを送信します。assignmentScopeId および assignmentScopeType クエリ パラメータを使用して、レスポンスを指定したスコープ タイプに制限します。
サンプルcURLリクエスト:
curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments?assignmentScopeId=<assignment_scope_id>&assignmentScopeType=<assignment_scope_type>' \
-H 'Authorization: Bearer <token>'
役割割り当ての詳細を取得
特定のロール割り当ての詳細を取得するには、/v1/roleAssignments/{roleAssignmentId} エンドポイントに GET リクエストを送信します。
サンプルcURLリクエスト:
curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments/{roleassignment:roleAssignmentId}' \
-H 'Authorization: Bearer <token>'
役割割り当ての削除
役割の割り当てを削除すると、OIDC ユーザーは役割によって付与された権限へのアクセスを失います。役割割り当てを削除するには、/v1/roleAssignments/{roleAssignmentId} エンドポイントに DELETE リクエストを送信します。
サンプルcURLリクエスト:
curl -X DELETE 'https://access.eqix.equinix.com/v1/roleAssignments/roleassignment:{roleAssignmentId}' \
-H 'Authorization: Bearer <token>'