

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

# 对日志使用基于身份的策略（IAM 策略） CloudWatch
<a name="iam-identity-based-access-control-cwl"></a>

本主题提供了基于身份的策略的示例，在这些策略中，账户管理员可以向 IAM 身份（即：用户、组和角色）附加权限策略。

**重要**  
我们建议您先阅读介绍性主题，这些主题解释了管理 CloudWatch 日志资源访问权限的基本概念和选项。有关更多信息，请参阅 [管理您的 L CloudWatch ogs 资源的访问权限概述](iam-access-control-overview-cwl.md)。

本主题包含以下内容：
+ [使用 CloudWatch 控制台所需的权限](#console-permissions-cwl)
+ [AWS CloudWatch 日志的托管（预定义）策略](#managed-policies-cwl)
+ [客户管理型策略示例](#customer-managed-policies-cwl)

下面是权限策略的示例：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
    ],
      "Resource": [
        "arn:aws:logs:*:*:*"
    ]
  }
 ]
}
```

------

本策略具有一个语句，该语句授予了创建日志组和日志流、将事件上传到日志流和列出有关日志流的详细信息的权限。

`Resource` 值结尾的通配符（\*）表示一个语句，该语句授予了对任何日志组执行 `logs:CreateLogGroup`、`logs:CreateLogStream`、`logs:PutLogEvents` 和 `logs:DescribeLogStreams` 操作的权限。要将此权限限制到特定日志组，请使用将资源 ARN 中的通配符（\*）替换为特定日志组 ARN。有关 IAM policy 语句中各部分的更多信息，请参阅 *IAM 用户指南*中的 [IAM policy 元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html)。有关显示所有 L CloudWatch ogs 操作的列表，请参阅[CloudWatch 日志权限参考](permissions-reference-cwl.md)。

## 使用 CloudWatch 控制台所需的权限
<a name="console-permissions-cwl"></a>

要让用户在 CloudWatch 控制台中使用 CloudWatch 日志，该用户必须拥有一组允许用户描述其 AWS 账户中的其他 AWS 资源的最低权限。要在 CloudWatch 控制台中使用 CloudWatch 日志，您必须拥有以下服务的权限：
+ CloudWatch
+ CloudWatch 日志
+ OpenSearch 服务
+ IAM
+ Kinesis
+ Lambda
+ Amazon S3

如果创建比必需的最低权限更为严格的 IAM policy，对于附加了该 IAM policy 的用户， 控制台将无法按预期正常运行。为确保这些用户仍然可以使用 CloudWatch 控制台，还要将`CloudWatchReadOnlyAccess`托管策略附加到该用户，如中所述[AWS CloudWatch 日志的托管（预定义）策略](#managed-policies-cwl)。

对于仅调用 AWS CLI 或 CloudWatch 日志 API 的用户，您无需为其设置最低控制台权限。

对于不使用 CloudWatch 控制台管理日志订阅的用户，使用控制台所需的全部权限为：
+ 云观察：GetMetricData
+ 云观察：ListMetrics
+ 日志：CancelExportTask
+ 日志：CreateExportTask
+ 日志：CreateLogGroup
+ 日志：CreateLogStream
+ 日志：DeleteLogGroup
+ 日志：DeleteLogStream
+ 日志：DeleteMetricFilter
+ 日志：DeleteQueryDefinition
+ 日志：DeleteRetentionPolicy
+ 日志：DeleteSubscriptionFilter
+ 日志：DescribeExportTasks
+ 日志：DescribeLogGroups
+ 日志：DescribeLogStreams
+ 日志：DescribeMetricFilters
+ 日志：DescribeQueryDefinitions
+ 日志：DescribeQueries
+ 日志：DescribeSubscriptionFilters
+ 日志：FilterLogEvents
+ 日志：GetLogEvents
+ 日志：GetLogGroupFields
+ 日志：GetLogRecord
+ 日志：GetQueryResults
+ 日志：PutMetricFilter
+ 日志：PutQueryDefinition
+ 日志：PutRetentionPolicy
+ 日志：StartQuery
+ 日志：StopQuery
+ 日志：PutSubscriptionFilter
+ 日志：TestMetricFilter

对于同时使用控制台来管理日志订阅的用户，还需要以下权限：
+ 是：DescribeElasticsearchDomain
+ 是：ListDomainNames
+ 我是：AttachRolePolicy
+ 我是：CreateRole
+ 我是：GetPolicy
+ 我是：GetPolicyVersion
+ 我是：GetRole
+ 我是：ListAttachedRolePolicies
+ 我是：ListRoles
+ 运动学:DescribeStreams
+ 运动学:ListStreams
+ lambda: AddPermission
+ lambda: CreateFunction
+ lambda: GetFunctionConfiguration
+ lambda: ListAliases
+ lambda: ListFunctions
+ lambda: ListVersionsByFunction
+ lambda: RemovePermission
+ s3：ListBuckets

## AWS CloudWatch 日志的托管（预定义）策略
<a name="managed-policies-cwl"></a>

AWS 通过提供由创建和管理的独立 IAM 策略来解决许多常见用例 AWS。托管策略可针对常见使用案例授予必要权限，因此，您无需自行调查具体需要哪些权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

以下 AWS 托管策略特定于 CloudWatch 日志，您可以将其附加到账户中的用户和角色：
+ **CloudWatchLogsFullAccess**— 授予对 CloudWatch 日志的完全访问权限。
+ **CloudWatchLogsReadOnlyAccess**— 授予对 CloudWatch 日志的只读访问权限。

### CloudWatchLogsFullAccess
<a name="managed-policies-cwl-CloudWatchLogsFullAccess"></a>

 该**CloudWatchLogsFullAccess**策略授予对 CloudWatch 日志的完全访问权限。该策略包括`cloudwatch:GenerateQuery`和`cloudwatch:GenerateQueryResultsSummary`权限，因此拥有此策略的用户可以根据自然语言提示生成 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 查询字符串。要查看该策略的全部内容，请参阅[CloudWatchLogsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsFullAccess.html)《*AWS 托管策略参考指南》*。

### CloudWatchLogsReadOnlyAccess
<a name="managed-policies-cwl-CloudWatchLogsReadOnlyAccess"></a>

 该**CloudWatchLogsReadOnlyAccess**策略授予对 CloudWatch 日志的只读访问权限。它包括`cloudwatch:GenerateQuery`和`cloudwatch:GenerateQueryResultsSummary`权限，因此拥有此策略的用户可以根据自然语言提示生成 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 查询字符串。要查看该策略的全部内容，请参阅[CloudWatchLogsReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsReadOnlyAccess.html)《*AWS 托管策略参考指南》*。

### CloudWatchOpenSearchDashboardsFullAccess
<a name="managed-policies-cwl-CloudWatchOpenSearchDashboardsFullAccess"></a>

该**CloudWatchOpenSearchDashboardsFullAccess**策略授予创建、管理和删除与 Serv OpenSearch ice 的集成，以及在这些集成中创建、删除和管理已售日志仪表板的权限。有关更多信息，请参阅 [使用 Amazon OpenSearch 服务进行分析](CloudWatchLogs-OpenSearch-Dashboards.md)。

 要查看该策略的全部内容，请参阅[CloudWatchOpenSearchDashboardsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchOpenSearchDashboardsFullAccess.html)《*AWS 托管策略参考指南》*。

### CloudWatchOpenSearchDashboardAccess
<a name="managed-policies-cwl-CloudWatchOpenSearchDashboardAccess"></a>

该**CloudWatchOpenSearchDashboardAccess**策略授予查看使用 Amazon OpenSearch Service 分析创建的销售日志仪表板的访问权限。有关更多信息，请参阅 [使用 Amazon OpenSearch 服务进行分析](CloudWatchLogs-OpenSearch-Dashboards.md)。

**重要**  
除了授予此策略外，要使角色或用户能够查看提供的日志仪表板，还必须在创建与 Serv OpenSearch ice 的集成时指定它们。有关更多信息，请参阅 [步骤 1：创建与 OpenSearch 服务的集成](OpenSearch-Dashboards-Integrate.md)。

 要查看该策略的全部内容，请参阅[CloudWatchOpenSearchDashboardAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchOpenSearchDashboardAccess.html)《*AWS 托管策略参考指南》*。

#### CloudWatchLogsCrossAccountSharingConfiguration
<a name="managed-policies-cwl-CloudWatchLogsCrossAccountSharingConfiguration"></a>

该**CloudWatchLogsCrossAccountSharingConfiguration**策略授予创建、管理和查看用于在账户之间共享 CloudWatch 日志资源的 Observability Access Manager 链接的权限。有关更多信息，请参阅 [ CloudWatch 跨账户可观测性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。

 要查看该策略的全部内容，请参阅[CloudWatchLogsCrossAccountSharingConfiguration](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsCrossAccountSharingConfiguration.html)《*AWS 托管策略参考指南》*。

#### CloudWatchLogsAPIKey访问权限
<a name="managed-policies-cwl-CloudWatchLogsAPIKeyAccess"></a>

**CloudWatchLogsAPIKey访问**策略启用 CloudWatch 日志 API 密钥身份验证和加密日志提取。此策略授予使用不记名令牌进行身份验证和将日志事件写入CloudWatch 日志的 AWS KMS 权限，以及在加密日志时解密和生成数据密钥的额外权限。

此策略授予以下权限：
+ `logs`— 允许委托人通过 API 密钥持有者令牌进行身份验证并将日志事件写入日志流 CloudWatch 。
+ `kms`— 允许委托人读取 AWS KMS 密钥元数据、生成用于加密的数据密钥以及解密数据。这些权限允许服务使用客户管理的密 AWS KMS 钥加密日志数据，从而支持加密日志。 CloudWatch 访问权限仅限于通过 CloudWatch 日志服务调用的操作。

要查看有关策略的更多详细信息，包括最新版本的 JSON 策略文档，请参阅*AWS 托管策略参考指南*中的[CloudWatchLogsAPIKey访问权限](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html)。

### CloudWatch 记录 AWS 托管策略的更新
<a name="iam-awsmanpol-updates"></a>



查看自该服务开始跟踪 CloudWatch 日志 AWS 托管策略更改以来这些更新的详细信息。要获得有关此页面更改的自动提醒，请订阅 “ CloudWatch 日志文档历史记录” 页面上的 RSS feed。




| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
| [CloudWatchLogsAPIKey访问权限](#managed-policies-cwl-CloudWatchLogsAPIKeyAccess)-新政策。 | CloudWatch 日志添加了新的托管策略 A **CloudWatchLogsAPIKeycces** s。<br />此策略启用 CloudWatch 日志 API 密钥身份验证和加密日志提取，授予使用不记名令牌进行身份验证并将日志事件写入日志的权限。 CloudWatch  | 2026 年 2 月 17 日 | 
| [CloudWatchLogsFullAccess](#managed-policies-cwl-CloudWatchLogsFullAccess) – 对现有策略的更新。 |  CloudWatch 记录已添加的权限**CloudWatchLogsFullAccess**。<br />添加了可观测性管理操作的权限，以允许对遥测管道及 S3 表集成进行只读访问。 | 2025 年 12 月 2 日 | 
| [CloudWatchLogsReadOnlyAccess](#managed-policies-cwl-CloudWatchLogsReadOnlyAccess) – 对现有策略的更新。 | CloudWatch 记录已添加的权限**CloudWatchLogsReadOnlyAccess**。<br />添加了可观测性管理操作的权限，以允许对遥测管道及 S3 表集成进行只读访问。 | 2025 年 12 月 2 日 | 
|  [CloudWatchLogsFullAccess](#managed-policies-cwl-CloudWatchLogsFullAccess) – 对现有策略的更新。 |  CloudWatch 记录已添加的权限**CloudWatchLogsFullAccess**。<br />添加了 `cloudwatch:GenerateQueryResultsSummary` 的权限，以允许生成查询结果的自然语言摘要。 |  2025 年 5 月 20 日 | 
|  [CloudWatchLogsReadOnlyAccess](#managed-policies-cwl-CloudWatchLogsReadOnlyAccess) – 对现有策略的更新。 |  CloudWatch 记录已添加的权限**CloudWatchLogsReadOnlyAccess**。<br />添加了 `cloudwatch:GenerateQueryResultsSummary` 的权限，以允许生成查询结果的自然语言摘要。 |  2025 年 5 月 20 日 | 
|  [CloudWatchLogsFullAccess](#managed-policies-cwl-CloudWatchLogsFullAccess) – 对现有策略的更新。 |  CloudWatch 记录已添加的权限**CloudWatchLogsFullAccess**。<br />添加了 Amazon OpenSearch Service 和 IAM 的权限，以便为某些功能启用 CloudWatch 日志与 OpenSearch 服务的集成。 |  2024 年 12 月 1 日  | 
|  [CloudWatchOpenSearchDashboardsFullAccess](#managed-policies-cwl-CloudWatchOpenSearchDashboardsFullAccess)— 新的 IAM 政策。 |  CloudWatch Logs 添加了新的 IAM 策略**CloudWatchOpenSearchDashboardsFullAccess**。-此策略授予创建、管理和删除与 Serv OpenSearch ice 的集成，以及在这些集成中创建、管理和删除已售日志仪表板的权限。有关更多信息，请参阅 [使用 Amazon OpenSearch 服务进行分析](CloudWatchLogs-OpenSearch-Dashboards.md)。 |  2024 年 12 月 1 日  | 
|  [CloudWatchOpenSearchDashboardAccess](#managed-policies-cwl-CloudWatchOpenSearchDashboardAccess)— 新的 IAM 政策。 |  CloudWatch Logs 添加了新的 IAM 策略**CloudWatchOpenSearchDashboardAccess**。-此策略授予查看由 Amazon OpenSearch Service提供支持的销售日志仪表板的访问权限。有关更多信息，请参阅 [使用 Amazon OpenSearch 服务进行分析](CloudWatchLogs-OpenSearch-Dashboards.md)。 |  2024 年 12 月 1 日  | 
|  [CloudWatchLogsFullAccess](#managed-policies-cwl-CloudWatchLogsFullAccess) – 对现有策略的更新。 |  CloudWatch 日志已向添加权限**CloudWatchLogsFullAccess**。<br /> 此`cloudwatch:GenerateQuery`权限已添加，因此拥有此策略的用户可以根据自然语言提示生成 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 查询字符串。 |  2023 年 11 月 27 日  | 
|  [CloudWatchLogsReadOnlyAccess](#managed-policies-cwl-CloudWatchLogsReadOnlyAccess) – 对现有策略的更新。 |  CloudWatch 向。添加了权限**CloudWatchLogsReadOnlyAccess**。<br /> 此`cloudwatch:GenerateQuery`权限已添加，因此拥有此策略的用户可以根据自然语言提示生成 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 查询字符串。 |  2023 年 11 月 27 日  | 
| [CloudWatchLogsReadOnlyAccess](#managed-policies-cwl-CloudWatchLogsReadOnlyAccess)：对现有策略的更新 | CloudWatch 记录已添加的权限**CloudWatchLogsReadOnlyAccess**。<br />添加了`logs:StartLiveTail`和`logs:StopLiveTail`权限，以便拥有此策略的用户可以使用控制台启动和停止 L CloudWatch ogs 实时尾部会话。有关更多信息，请参阅 [使用 Live Tail 近乎实时地查看日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs_LiveTail.html)。 | 2023 年 6 月 6 日 | 
| [CloudWatchLogsCrossAccountSharingConfiguration](#managed-policies-cwl-CloudWatchLogsCrossAccountSharingConfiguration)：新策略 | CloudWatch Logs 添加了一项新策略，使您能够管理共享 CloudWatch 日志组的 CloudWatch跨账户可观察性链接。<br />如需了解更多信息，请参阅[ CloudWatch 跨账户](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)可观察性 | 2022 年 11 月 27 日 | 
| [CloudWatchLogsReadOnlyAccess](#managed-policies-cwl-CloudWatchLogsReadOnlyAccess)：对现有策略的更新 | CloudWatch 记录已添加的权限**CloudWatchLogsReadOnlyAccess**。<br />添加了`oam:ListSinks`和`oam:ListAttachedLinks`权限，以便拥有此策略的用户可以使用控制台在 CloudWatch 跨账户可观察性中查看源账户共享的数据。 | 2022 年 11 月 27 日 | 

### 客户管理型策略示例
<a name="customer-managed-policies-cwl"></a>

您可以创建自己的自定义 IAM 策略以授予 CloudWatch 日志操作和资源的权限。您可以将这些自定义策略附加到需要这些权限的用户或组。

在本节中，您可以找到授予各种 CloudWatch 日志操作权限的用户策略示例。这些策略在您使用 CloudWatch 日志 API 时起作用 AWS SDKs，或者 AWS CLI。

**Topics**
+ [示例 1：允许完全访问 CloudWatch 日志](#w2aac61c15c15c23c19b9)
+ [示例 2：允许对 CloudWatch 日志进行只读访问](#w2aac61c15c15c23c19c11)
+ [示例 3：允许访问一个日志组](#w2aac61c15c15c23c19c13)

#### 示例 1：允许完全访问 CloudWatch 日志
<a name="w2aac61c15c15c23c19b9"></a>

以下策略允许用户访问所有 CloudWatch Logs 操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

#### 示例 2：允许对 CloudWatch 日志进行只读访问
<a name="w2aac61c15c15c23c19c11"></a>

AWS 提供了允许对 CloudWatch 日志数据进行只读访问的**CloudWatchLogsReadOnlyAccess**策略。该策略包含以下权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "logs:Describe*",
                "logs:Get*",
                "logs:List*",
                "logs:StartQuery",
                "logs:StopQuery",
                "logs:TestMetricFilter",
                "logs:FilterLogEvents",
                "logs:StartLiveTail",
                "logs:StopLiveTail",
                "cloudwatch:GenerateQuery"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

#### 示例 3：允许访问一个日志组
<a name="w2aac61c15c15c23c19c13"></a>

以下策略允许用户在一个指定的日志组中读取和写入日志事件。

**重要**  
`Resource` 行中日志组名称末尾的 `:*` 是必需的，以指示该策略适用于此日志组中的所有日志流。如果省略 `:*`，则不会强制执行该策略。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
      "Action": [
        "logs:CreateLogStream",
        "logs:DescribeLogStreams",
        "logs:PutLogEvents",
        "logs:GetLogEvents"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:logs:us-west-2:123456789012:log-group:SampleLogGroupName:*"
      }
   ]
}
```

------

### 使用标记和 IAM policy 在日志组级别进行控制
<a name="cwl-IAM-policy-tagging"></a>

您可以为用户授予某些日志组的访问权限，同时禁止他们访问其他日志组。为此，请标记您的日志组，并使用引用这些标记的 IAM policy。要将标签应用于日志组，您需要拥有 `logs:TagResource` 或 `logs:TagLogGroup` 权限。这既适用于在创建日志组时为其分配标签，也适用于稍后分配标签。

有关标记日志组的更多信息，请参阅 [在 Amazon 日志中标记 CloudWatch 日志组](Working-with-log-groups-and-streams.md#log-group-tagging)。

在标记日志组时，您可以为用户授予 IAM policy 以仅允许访问具有特定标记的日志组。例如，以下策略语句仅授予 `Team` 标签键值为 `Green` 的日志组的访问权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "logs:*"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/Team": "Green"
                }
            }
        }
    ]
}
```

------

**StopQuery**和 **StopLiveTail**API 操作不与传统意义上的 AWS 资源交互。它们不会返回任何数据、放置任何数据或以任何方式修改资源。相反，它们仅对给定的实时跟踪会话或给定的 L CloudWatch ogs Insights 查询进行操作，这些查询未归类为资源。因此，在 IAM policy 中为这些操作指定 `Resource` 字段时，必须将 `Resource` 字段的值设置为 `*`，如下例所示。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	  
    "Statement": 
        [ {
            "Effect": "Allow", 
            "Action": [ 
                "logs:StopQuery",
                "logs:StopLiveTail"
            ], 
            "Resource": "*" 
            } 
        ] 
}
```

------

有关使用 IAM policy 语句的更多信息，请参阅 *IAM 用户指南*中的[使用策略控制访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)。