使用 IAM 的AWS服务
下面列出的 AWS 服务根据字母顺序分组,包含所支持的 IAM 功能的信息:
-
服务 - 您可以选择一项服务的名称,以查看有关该服务的 IAM 授权和访问权限的 AWS 文档。
-
操作 – 您可以指定策略中的各项操作。如果服务不支持此功能,则 visual editor(可视化编辑器)中将选中 All actions(所有操作)。在 JSON 策略文档中,您必须在
*
元素中使用Action
。有关每个服务中的操作列表,请参阅 AWS 服务的操作、资源和条件键。 -
资源级权限 – 您可以使用 ARN 在策略中指定各个资源。如果服务不支持此功能,则 policy visual editor(策略可视化编辑器)中将选中 All resources(所有资源)。在 JSON 策略文档中,您必须在
*
元素中使用Resource
。某些操作 (如List*
操作) 不支持指定 ARN,因为它们被设计为返回多个资源。如果某项服务只针对部分资源支持此功能,将在表格中用 Partial(部分)标明。有关更多信息,请参阅该服务的文档。 -
基于资源的策略 – 您可以将基于资源的策略附加到服务中的某项资源。基于资源的策略包含
Principal
元素,用于指定可以访问此资源的 IAM 身份。有关更多信息,请参阅 基于身份的策略和基于资源的策略。 -
ABAC(基于标签的授权) – 要利用标签来控制访问权限,您需要在策略的 条件元素 中使用
aws:ResourceTag/
、key-name
aws:RequestTag/
或key-name
aws:TagKeys
条件键提供标签信息。如果某个服务对于每种资源类型都支持所有这三个条件键,则对于该服务,该值为是。如果某个服务仅对于部分资源类型支持所有这三个条件键,则该值为 Partial(部分)。有关基于标签等属性定义权限的更多信息,请参阅使用 ABAC 授权根据属性定义权限。要查看有关 ABAC 设置步骤的教程,请参阅使用基于属性的访问权限控制(ABAC)。 -
Temporary credentials(临时凭证)- 您可以使用在通过 IAM Identity Center 登录时获得的短期凭证、在控制台中切换角色或在 AWS CLI 或 AWS API 中使用 AWS STS 生成的临时凭证。只有在使用长期 IAM 用户凭证时,您才能访问带有否值的服务。这包括用户名和密码或用户访问密钥。有关更多信息,请参阅 IAM 临时安全凭证。
-
服务相关角色 – 服务相关角色是一种特殊类型的服务角色,可授予服务代表您访问其他服务中的资源的权限。选择 是或部分链接可查看文档,了解支持这些角色的服务。此列不指示服务是否使用标准服务角色。有关更多信息,请参阅服务相关角色。
-
更多信息 – 如果服务不能完全支持某项功能,您可以检查该条目的脚注,查看限制以及相关信息的链接。
使用 IAM 的服务
更多信息
Amazon CloudFront
CloudFront 不具有服务相关角色,但 Lambda@Edge 具有。有关更多信息,请参阅《Amazon CloudFront 开发人员指南》中的 Lambda@Edge 的服务相关角色。
AWS CloudTrail
仅支持用于 CloudTrail Lake 与 AWS 之外事件源集成的 CloudTrail 通道上基于资源的策略。
Amazon CloudWatch
无法使用 AWS Management Console 创建 CloudWatch 服务相关角色,这些角色仅支持警报操作功能。
AWS CodeBuild
CodeBuild 支持使用 AWS RAM 进行跨账户资源共享。
CodeBuild 支持将 ABAC 用于基于项目的操作。
AWS Config
对于多账户多区域数据聚合和 AWS Config 规则,AWS Config 支持资源级权限。有关受支持的资源列表,请参阅 AWS Config API Guide 中的 Multi-Account Multi-Region Data Aggregation 部分与 AWS Config Rules 部分。
AWS Database Migration Service
您可以创建和修改附加到您创建的 AWS KMS 加密密钥的策略,以加密迁移到支持的目标端点的数据。支持的目标端点包括 Amazon Redshift 和 Amazon S3。有关更多信息,请参阅《AWS Database Migration Service 用户指南》中的 创建和使用 AWS KMS 密钥以加密 Amazon Redshift 目标数据 和 创建 AWS KMS 密钥以加密 Amazon S3 目标对象。
Amazon Elastic Compute Cloud
Amazon EC2 仅针对以下功能支持服务相关角色:竞价型实例请求、竞价型实例集请求、Amazon EC2 Fleet 和 Windows 实例的快速启动。
Amazon Elastic Container Service
仅某些 Amazon ECS 操作支持资源级权限。
AWS Elemental MediaPackage
MediaPackage 支持将客户访问日志发布到 CloudWatch 的服务相关角色,但不支持其他 API 操作。
AWS Identity and Access Management
IAM 仅支持一种类型的基于资源的策略(称为角色信任策略),这种策略附加到 IAM 角色。有关更多信息,请参阅 向用户授予切换角色的权限。
IAM 为大多数 IAM 资源支持基于标签的访问控制。有关更多信息,请参阅 AWS Identity and Access Management 资源的标签。
只能使用临时凭证调用 IAM 的一部分 API 操作。有关更多信息,请参阅比较您的 API 选项。
AWS IoT
连接到 AWS IoT 的设备通过 X.509 证书或 Amazon Cognito 身份进行身份验证。您可以将 AWS IoT 策略附加到 X.509 证书或 Amazon Cognito 身份以控制设备有权执行哪些操作。有关更多信息,请参阅《AWS IoT 开发人员指南》中的 AWS IoT 的安全和身份。
AWS Lambda
Lambda 支持对使用 Lambda 函数作为所需资源的 API 操作进行基于属性的访问权限控制(ABAC)。不支持层、事件源映射和代码签名配置资源。
Lambda 不具有服务相关角色,但 Lambda@Edge 具有。有关更多信息,请参阅《Amazon CloudFront 开发人员指南》中的 Lambda@Edge 的服务相关角色。
Amazon Lightsail
Lightsail 部分支持资源级权限和 ABAC。有关更多信息,请参阅用于 Amazon Lightsail 的操作、资源和条件键。
Amazon Managed Streaming for Apache Kafka (MSK)
您可以将集群策略附加到已配置为支持多 VPC 连接的 Amazon MSK 集群。
AWS Network Manager
AWS Cloud WAN 还支持服务相关角色。有关更多信息,请参阅《Amazon VPC AWS Cloud WAN 指南》中的 AWS Cloud WAN 相关角色。
Amazon Relational Database Service
Amazon Aurora 是一个与 MySQL 和 PostgreSQL 兼容的完全托管式的关系数据库引擎。在通过 Amazon RDS 设置新的数据库服务器时,您可以选择 Aurora MySQL 或 Aurora PostgreSQL 作为数据库引擎选项。有关更多信息,请参阅《Amazon Aurora 用户指南》中的 Amazon Aurora 的身份和访问管理。
Amazon Rekognition
基于资源的策略仅支持复制 Amazon Rekognition Custom Labels 模型。
AWS Resource Groups
用户可以通过允许资源组操作的策略担任角色。
Amazon SageMaker
服务相关角色目前可用于 SageMaker Studio 和 SageMaker 训练作业。
AWS Security Token Service
AWS STS 没有“资源”,但允许以与用户相似的方式限制访问。有关更多信息,请参阅根据名称拒绝访问临时安全凭证。
仅 AWS STS 的一部分 API 操作支持使用临时凭证进行调用。有关更多信息,请参阅比较您的 API 选项。
Amazon Simple Email Service
您只能在引用与发送电子邮件相关的操作(如 ses:SendEmail
或 ses:SendRawEmail
)的策略语句中使用资源级权限。对于引用任何其他操作的策略语句,Resource 元素只能包含 *
。
仅 Amazon SES API 支持临时安全凭证。Amazon SES SMTP 接口不支持从临时安全凭证派生的 SMTP 凭证。
Amazon Simple Storage Service
Amazon S3 仅为对象资源支持基于标签的授权。
Amazon S3 支持针对 Amazon S3 Storage Lens 存储统计管理工具的服务相关角色。
AWS Trusted Advisor
针对 Trusted Advisor 的 API 访问通过 AWS Support API 执行,并受 AWS Support IAM policy 的控制。
Amazon Virtual Private Cloud
在 IAM 用户策略中,您不能限定为仅向某个 Amazon VPC 端点授予权限。包含 ec2:*VpcEndpoint*
或 ec2:DescribePrefixLists
API 操作的任何 Action
元素都必须指定“"Resource":
"*"
”。有关更多信息,请参阅《AWS PrivateLink 指南》中的 VPC 终端节点和 VPC 终端节点服务的身份和访问管理。
Amazon VPC 支持通过将单个资源策略附加到 VPC 端点来限制可通过该端点访问的内容。有关使用基于资源的策略控制特定 Amazon VPC 端点访问资源的更多信息,请参阅《AWS PrivateLink 用户指南》中的 使用端点策略控制服务访问。
Amazon VPC 不具有服务相关角色,但 AWS Transit Gateway 具有。有关更多信息,请参阅《Amazon VPC AWS Transit Gateway 用户指南》中的 使用中转网关的服务相关角色。
AWS X-Ray
X-Ray 并非对所有操作均支持资源级权限。
X-Ray 支持针对组和采样规则实现基于标签的访问控制。