本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
本页面介绍如何将 IAM Conditions 条件添加到您的 Apigee 资源。通过 IAM Conditions 条件,您可以精细控制 Apigee 资源。
准备工作
Apigee 使用 Google Cloud 的 Identity and Access Management (IAM) 来管理 Apigee 资源的角色和权限。因此,在 IAM 中为您的 Apigee 资源指定或修改条件之前,请先熟悉以下 IAM 概念:
添加 IAM Conditions 条件
如需将 IAM Conditions 条件添加到 Apigee 资源,您需要以下信息:
- 命名资源 URI - Apigee 中的每个资源都有唯一的资源 URI。例如,API 产品资源的 URI 为
organizations/{org}/apiproducts/{apiproduct}
。如需查看所有可用 URI 的完整列表,请参阅 Apigee REST 资源。如需精细控制资源的访问权限,您必须根据命名惯例为资源命名。您可以根据需要决定要遵循的命名惯例。例如,您可以为营销团队拥有的所有 API 产品添加marketing
一词作为前缀。在此示例中,营销团队 API 产品的资源 URI 将以organizations/{org}/apiproducts/marketing-
开头。 - 仅父级权限 - 检查资源或其任何子资源是否需要仅父级权限。如需了解详情,请参阅仅父级权限。
- 资源类型 - 您可以根据条件中的资源类型进行过滤,从而进一步缩小资源的范围。Apigee 支持以下资源条件:
资源名称 资源类型 API 代理 apigee.googleapis.com/Proxy API 代理修订版本 apigee.googleapis.com/ProxyRevision API 代理键值对映射 apigee.googleapis.com/KeyValueMap API 产品 apigee.googleapis.com/ApiProduct API 产品特性 apigee.googleapis.com/ApiProductAttribute 开发者 apigee.googleapis.com/Developer 开发者特性 apigee.googleapis.com/DeveloperAttribute 开发者应用 apigee.googleapis.com/DeveloperApp 开发者应用特性 apigee.googleapis.com/DeveloperAppAttribute 键值对条目(API 代理范围) apigee.googleapis.com/KeyValueEntry 费率方案 apigee.googleapis.com/RatePlan SharedFlow apigee.googleapis.com/SharedFlow SharedFlow 修订版本 apigee.googleapis.com/SharedFlowRevision
示例
下表列出了一些示例资源条件和相应的权限:
条件 | 说明 |
---|---|
resource.name.startsWith("organizations/{org-name}/apis/catalog-") || resource.type == "cloudresourcemanager.googleapis.com/Project"
|
此条件提供以下权限:
|
(resource.name.startsWith("organizations/{org-name}/apis/catalog-proxy/keyvaluemaps") &&
resource.type == "apigee.googleapis.com/KeyValueMap") || resource.type == "cloudresourcemanager.googleapis.com/Project" |
此条件提供 catalog-proxy API 代理中 KeyValueMap 的获取、创建、更新和删除操作的权限。 |
resource.type == "apigee.googleapis.com/Proxy" || resource.type == "cloudresourcemanager.googleapis.com/Project" |
此条件提供所有 API 代理的获取、创建、更新和删除操作的权限。 |
后续步骤
浏览 IAM 文档中的以下信息: