创建用于向第三方授予访问权的访问策略 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建用于向第三方授予访问权的访问策略

账户 A 必须为账户 Z(方案 2 中的第三方分析器)创建单独的 IAM 角色。在创建角色时,Amazon 会自动创建信任关系,以指定将信任账户 Z 来代入角色。该角色的访问策略指定了账户 Z 可执行的操作。有关创建角色和角色策略的更多信息,请参阅创建角色

例如,由 Amazon 创建的信任关系可以指定,信任账户 Z 来担任由账户 A 创建的角色。以下是信任策略示例:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::account-Z-id:root"}, "Action": "sts:AssumeRole" }] }

如果在为账户 Z 创建角色时指定了外部 ID,则您的访问策略将包含一个添加的 Condition 元素,该元素将测试由账户 Z 分配的唯一 ID。此测试在代入角色时执行。以下示例访问策略包含 Condition 元素。

有关更多信息,请参阅 。如何在向您的Amazon向第三方提供的资源中的IAM 用户指南

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::account-Z-id:root"}, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"sts:ExternalId": "external-ID-issued-by-account-Z"}} }] }

您还必须为账户 A 角色创建访问策略来指定账户 Z 可读取 Amazon S3 存储桶中的所有日志。访问策略应类似于以下示例。Resource 值结尾处的通配符 (*) 表示账户 Z 可访问已获得相应访问权的 S3 存储桶中的任何日志文件。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name/*" }, { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

在为账户 Z 创建角色并指定相应的信任关系和访问策略后,账户 Z 中的 IAM 用户必须以编程方式代入角色才能读取存储桶中的日志文件。有关更多信息,请参阅代入一个角色