跳至内容

OIDC 和角色

如果您使用基于角色的访问控制,您可以为 OIDC 主体分配角色,使其能够访问您的 Equinix 基础架构。然后,当您的 OIDC 主体执行令牌交换时,请使用 roleassignments:<org-id> 作为 scope 参数。如果该主体在组织中拥有角色分配,则令牌交换将颁发持有者令牌。

分配和管理角色所需的权限包括:

  • 基于角色的访问控制 - IAM Admin 角色。
  • 基于属性的访问控制 - 包含以下信息的访问策略:use/createRoleAssignmentuse/listRoleAssignmentsuse/getRoleAssignmentuse/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_ORGassignmentScopeType=ORGANIZATIONassignmentScopeType=PROJECTassignmentScopeType=BILLING_ACCOUNTassignmentScopeType=SUBSCRIPTION_KEYassignmentScopeType=PORTassignmentScope.id 是该范围的唯一 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 请求。使用 assignmentScopeIdassignmentScopeType 查询参数可将响应限制为指定范围类型。

示例 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>'
此页面有帮助吗?