本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理您的 L CloudWatch ogs 资源的访问权限概述
要提供访问权限,请为您的用户、组或角色添加权限:
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
CloudWatch Logs 资源和操作
CloudWatch Logs 中的主资源是日志组、日志流和目标。 CloudWatch Logs 不支持子资源(与主资源一起使用的其他资源)。
这些资源和子资源具有与其关联的唯一 Amazon Resource Name (ARNs),如下表所示。
资源类型 | ARN 格式 |
---|---|
日志组 |
使用以下两种方法。第二个命令结尾为,是 arn: aws: logs:: log-group:: arn: aws: logs::: log-group:: * 在以下情况下,使用不带尾随字符
在 IAM 策略中为所有其他 API 操作指定权限时,使用带有尾随字符 |
日志流 |
arn: aws: logs:: log-group:: log-stream:: |
目标 |
arn: aws: logs::: 目的地:: |
有关更多信息 ARNs,请参阅 IAM 用户指南ARNs中的。有关 CloudWatch 日志的信息 ARNs,请参阅中的 Amazon 资源名称 (ARNs) Amazon Web Services 一般参考。有关涵盖 CloudWatch 日志的策略的示例,请参阅为 Logs 使用基于身份的策略(IAM policy) CloudWatch 。
CloudWatch Logs 提供了一组操作来使用 CloudWatch Logs 资源。有关可用操作的列表,请参阅 CloudWatch Logs 权限参考。
了解资源所有权
Amazon 账户对在该账户下创建的资源具有所有权,而无论创建资源的人员是谁。具体而言,资源所有者是对 Amazon 资源创建请求进行身份验证的委托人实体(即根账户、用户或 IAM 角色)的账户。以下示例说明了它的工作原理:
-
如果您使用账户的根账户凭证创建日志组,则您的 Amazon 账户即为该 CloudWatch 日志资源的所有者。 Amazon
-
如果您在 Amazon 账户中创建用户并对该用户授予创建 CloudWatch Logs 资源的权限,则该用户也可以创建 CloudWatch Logs 资源。但是,该用户所属的 Amazon 账户拥有这些 L CloudWatch ogs 资源。
-
如果您在 Amazon 账户中创建 IAM 角色并授予其创建 CloudWatch Logs 资源的权限,则能够代入该角色的任何人都可以创建 CloudWatch Logs 资源。角色所属的 Amazon 账户拥有这些 L CloudWatch ogs 资源。
管理对 资源的访问
权限策略规定谁可以访问哪些内容。下一节介绍创建权限策略时的可用选项。
注意
附加到 IAM 身份的策略称作基于身份的策略(IAM policy),附加到资源的策略称作基于资源的策略。 CloudWatch Logs 支持适用于目标的基于身份的策略以及基于资源的策略,您可以使用这些策略来启用跨账户订阅。有关更多信息,请参阅 跨账户跨区域订阅。
日志组权限和 Contributor Insights
Contributor Insights 是一项功能 CloudWatch ,使用此功能,您能够分析日志组中的数据并创建显示贡献者数据的时间序列。您可以查看有关前 N 个贡献者、独特贡献者总数及其使用情况的指标。有关更多信息,请参阅使用 Contributor Insights 分析高基数数据。
当您向用户授予cloudwatch:PutInsightRule
和cloudwatch:GetInsightRuleReport
权限,该用户可以创建一个规则来评估 Log CloudWatch s 中的任何日志组,然后查看结果。结果可以包含这些日志组的贡献者数据。确保仅将这些权限授予能够查看此数据的用户。
基于资源的策略
CloudWatch Logs 支持适用于目标的基于资源的策略,您可以使用该策略启用跨账户订阅。有关更多信息,请参阅 步骤 1:创建目标。可以使用 PutDestinationAPI 创建目的地,也可以使用 AP PutDestinationPolicyI 向目的地添加资源策略。在以下示例中,允许账户 ID 为 111122223333 的另一个 Amazon 账户将其日志组订阅到目标 arn:aws:logs:us-east-1:123456789012:destination:testDestination
。
{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "111122223333" }, "Action" : "logs:PutSubscriptionFilter", "Resource" : "arn:aws:logs:us-east-1:123456789012:destination:testDestination" } ] }
指定策略元素:操作、效果和主体
对于每种 CloudWatch Logs 资源,该服务都定义了一组 API 操作。为授予执行这些 API 操作的权限, CloudWatch Logs 定义了一组您可以在策略中指定的操作。某些 API 操作可能需要多个操作的权限才能执行 API 操作。有关资源和 API 操作的更多信息,请参阅 CloudWatch Logs 资源和操作 和 CloudWatch Logs 权限参考。
以下是基本的策略元素:
-
资源 – 您使用 Amazon Resource Name (ARN) 来标识策略应用到的资源。有关更多信息,请参阅 CloudWatch Logs 资源和操作。
-
操作 – 您可以使用操作关键字标识要允许或拒绝的资源操作。例如,
logs.DescribeLogGroups
权限允许执行DescribeLogGroups
操作的用户权限。 -
效果 – 用于指定用户请求特定操作时的效果(可以是允许或拒绝)。如果没有显式授予(允许)对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也是如此。
-
主体 – 在基于身份的策略(IAM 策略)中,附加了策略的用户是隐式主体。对于基于资源的策略,您可以指定要接收权限的用户、账户、服务或其他实体(仅适用于基于资源的策略)。 CloudWatch Logs 支持适用于目标的基于资源的策略。
有关 IAM 策略语法和描述的更多信息,请参阅《IAM 用户指南》中的 Amazon IAM 策略参考。
有关显示所有 CloudWatch Logs API 操作及其适用资源的表,请参阅CloudWatch Logs 权限参考。
在策略中指定条件
当您授予权限时,可使用访问策略语言来指定规定策略何时生效的条件。例如,您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息,请参阅《IAM 用户指南》中的条件。
要表示条件,您可以使用预定义的条件键。有关每个 Amazon 服务支持的上下文键列表以及 Amazon范围的策略键列表,请参阅Amazon 服务的操作、资源和条件键以及Amazon 全局条件上下文键。
注意
您可以使用标签控制对 Logs 资源(包括 CloudWatch 日志组和目标)的访问。由于日志组和日志流之间存在分层关系,因此在日志组级别控制对日志流的访问。有关使用标签控制访问的更多信息,请参阅使用标签控制对 Amazon Web Services 资源的访问。