SuperAPI AI 工具集

oraclecloud-enterprise-rbac

设计与创作

查看项目

更新于 10-15 23:28

技能介绍

用途:为 OCI 设计可扩展、最小权限的组织结构,涵盖隔间层级、策略继承、动态组(Instance Principal)和基于标签的访问控制,避免用 manage all-resources in tenancy 过度授权。

主要能力:

  1. 隔间层级设计。典型布局为根(Tenancy)下分 shared-infra、security、dev、staging、prod,各环境再嵌套 compute 与 data 子隔间。可用 Python SDK 的 identity.create_compartment 编程创建。
  2. 策略继承规则。根级策略作用于所有下级隔间;挂在某隔间的策略只作用于该隔间及其子级;子隔间继承父隔间权限。应把策略放在合适层级并限定范围,例如 Allow group DevTeam to manage all-resources in compartment dev。
  3. 动态组与实例主体。动态组让实例和函数无需 API 密钥即可认证 OCI 服务。matching_rule 支持 instance.compartment.id、instance.id、tag 条件,以及 ALL/ANY 组合。实例内用 oci.auth.signers.InstancePrincipalsSecurityTokenSigner() 获取签名器调用服务。
  4. 标签式访问控制。创建标签命名空间与标签,在策略语句中用 where target.resource.tag.Operations.Environment = 'dev' 等条件做跨隔间细粒度授权。

前置条件:安装 OCI Python SDK(pip install oci);~/.oci/config 含有效凭证;需要租户管理员权限;Python 3.8+;建议先了解 OCI IAM 基础。

使用方式:按步骤先设计并创建隔间层级,再于正确层级创建策略,然后创建动态组并绑定策略,在实例代码中改用实例主体认证,最后按需配置标签式访问。可用 oci iam dynamic-group list 审计动态组,或用 list_compartments 递归打印层级。

限制与注意事项:动态组变更需 5-10 分钟生效,刚创建后认证失败可等待重试;Identity API 约每秒 10 次请求,超限返回 429;缺失策略或隔间 OCID 错误会返回 NotAuthorizedOrNotFound;同一父隔间下重名会报 CompartmentAlreadyExists。具体定价与配额资料未提供。