本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon CloudTrail 基于资源的策略示例
CloudTrail 支持用于 La CloudTrail ke 集成的 CloudTrail 渠道的基于资源的权限策略。有关创建与 CloudTrail Lake 集成的更多信息,请参阅创建与 Amazon 外部事件源的集成。
该策略所需的信息由集成类型决定。
-
对于方向集成, CloudTrail 要求策略包含合作伙伴的 Amazon Web Services 账户 ID,并要求您输入合作伙伴提供的唯一外部 ID。 CloudTrail 使用 CloudTrail 控制台创建集成时,会自动将合作伙伴的 Amazon Web Services 账户 ID 添加到资源策略中。请参阅合作伙伴的文档,了解如何获取策略所需 Amazon Web Services 账户 的账号。
-
对于解决方案集成,您必须指定至少一个 Amazon Web Services 账户 ID 作为主体,并且可以选择输入外部 ID,以防范混淆代理。
以下是对基于资源的策略的要求:
-
该策略中定义的资源 ARN 必须与该策略附加到的通道 ARN 相匹配。
-
该策略仅包含一项操作:
cloudtrail-data:PutAuditEvents
-
该策略至少包含一个语句。该策略最多可以包含 20 个语句。
-
每个语句至少包含一个主体。一个语句最多可以包含 50 个主体。
除非该策略拒绝通道所有者访问资源,否则该所有者可以针对该通道调用 PutAuditEvents
API。
示例:为主体提供通道访问权限
以下示例向拥有 ARN 的委托人授予权限 arn:aws:iam::111122223333:root
arn:aws:iam::444455556666:root
,以及arn:aws:iam::123456789012:root
使用 ARN 在 CloudTrail 频道上调用 PutAuditEventsAPI 的权限。arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b" } ] }
示例:使用外部 ID 防范混淆代理
以下示例将使用外部 ID 来解决和防范混淆代理。混淆代理问题是一个安全性问题,即不具有操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。
集成合作伙伴会创建要在策略中使用的外部 ID,然后在创建集成的过程中向您提供该外部 ID。该值可以是任意唯一字符串,如密码或账号。
如果对 PutAuditEventsAPI 的调用包含策略中定义的外部 ID 值 arn:aws:iam::111122223333:root
arn:aws:iam::444455556666:root
,则该示例arn:aws:iam::123456789012:root
向拥有 ARN 的委托人授予在 CloudTrail 频道资源上调用 PutAuditEvents
API 的权限。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "uniquePartnerExternalID" } } } ] }