跳至内容

OIDC 和访问策略

如果您使用基于属性的访问控制,您可以向 OIDC 主体授予访问策略,使其能够访问您的 Equinix 基础架构。然后,当您的 OIDC 主体执行 令牌交换 时,请为 scope 参数提供访问策略的 ERN。如果主体拥有授权,则令牌交换将颁发一个持有者令牌。

管理授权和访问策略所需的权限包括:

  • 基于角色的访问控制 - IAM Admin 角色。
  • 基于属性的访问控制 - 包含以下信息的访问策略:use/listAccessPoliciesuse/addGrantuse/listGrantsuse/removeGrant
有限供应

基于属性的访问控制目前处于有限可用性 (LA) 状态。访问权限仅限于特定客户和用例。功能可能不完整、可能会更改,并且可能存在缺陷。运行安全措施和容量限制适用。使用此 API 即表示您确认:

  • 它仅用于早期体验和反馈目的。
  • 供应情况可能受地区、市场或容量限制。
  • 现阶段无法保证功能、性能和稳定性。
  • 文档和支持资源可能会不断更新。
  • 在此阶段收集的反馈意见将有助于在正式发布 (GA) 之前进行改进。

查看访问策略

要查看项目的现有访问策略,请向 /v1/projects/{projectId}/accessPolicies 端点发送 GET 请求。向访问策略添加授权时,必须在请求中提供访问策略 ID。

示例 cURL 请求:

curl -X GET 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies' \
-H 'Authorization: Bearer <token>'

添加拨款

要向访问策略添加授权,请向 /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants 端点发送 POST 请求。具体说明:

  • 请求路径中的项目 ID 和访问策略 ID。

  • 您要授予访问权限的 OIDC 主体,在 grantee 对象中,应采用以下格式之一:

    • principal:<projectId>:<idp>:<subject> for a user or service.
    • group:<projectId>:<idp>:<groupName> for a group.
    • project:<projectId> for another project to export this access policy to another project.

示例 cURL 请求:

curl -X POST 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"grantee": "principal:<projectId>:<idp>:<subject>"
}'

列出拨款

要查看哪些 OIDC 主体已被授予特定访问策略,请获取授权列表。向 /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants 端点发送 GET 请求。

示例 cURL 请求:

curl -X GET 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants' \
-H 'Authorization: Bearer <token>'

撤销拨款

移除授权后,OIDC 主体将失去对访问策略所授予权限的访问权限。要移除授权,请向 /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants/{grantId} 端点发送 DELETE 请求。

示例 cURL 请求:

curl -X DELETE 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants/{grantId}' \
-H 'Authorization: Bearer <token>'
此页面有帮助吗?