

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

# 创建或使用数据保护策略所需的 IAM 权限
<a name="data-protection-policy-permissions"></a>

为了能够使用日志组的数据保护策略，您必须具有下表所示的特定权限。账户范围的数据保护策略和适用于单个日志组的数据保护策略的权限不同。

## 账户级数据保护策略所需的权限
<a name="data-protection-policy-permissions-accountlevel"></a>

**注意**  
如果您在 Lambda 函数内执行任何此类操作，则 Lambda 执行角色和权限边界还必须包含以下权限。



- ** **创建没有审计目标的数据保护策略** **
  - **所需的 IAM 权限:** `logs:PutAccountPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:PutDataProtectionPolicy` / **资源:** `*`

- ** **创建以 CloudWatch 日志为审计目标的数据保护策略** **
  - **所需的 IAM 权限:** `logs:PutAccountPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:PutDataProtectionPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:CreateLogDelivery` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:PutResourcePolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:DescribeResourcePolicies` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:DescribeLogGroups` / **资源:** `*`

- ** **将 Firehose 作为审计目标来创建数据保护策略** **
  - **所需的 IAM 权限:** `logs:PutAccountPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:PutDataProtectionPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:CreateLogDelivery` / **资源:** `*`
  - **所需的 IAM 权限:** `firehose:TagDeliveryStream` / **资源:** `arn:aws:logs:::deliverystream/{{YOUR_DELIVERY_STREAM}}`

- ** **将 Amazon S3 作为审计目标来创建数据保护策略** **
  - **所需的 IAM 权限:** `logs:PutAccountPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:PutDataProtectionPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:CreateLogDelivery` / **资源:** `*`
  - **所需的 IAM 权限:** `s3:GetBucketPolicy` / **资源:** `arn:aws:s3:::{{YOUR_BUCKET}}`
  - **所需的 IAM 权限:** `s3:PutBucketPolicy` / **资源:** `arn:aws:s3:::{{YOUR_BUCKET}}`

- ** **在指定日志组中取消屏蔽已屏蔽的日志事件** **
  - **所需的 IAM 权限:** `logs:Unmask`
  - **资源:** `arn:aws:logs:::log-group:*`

- ** **查看现有数据保护策略** **
  - **所需的 IAM 权限:** `logs:GetDataProtectionPolicy`
  - **资源:** `*`

- ** **删除数据保护策略** **
  - **所需的 IAM 权限:** `logs:DeleteAccountPolicy` / **资源:** `*`
  - **所需的 IAM 权限:** `logs:DeleteDataProtectionPolicy` / **资源:** `*`



如果已经将任何数据保护审计日志发送到目标，则将日志发送到同一目标的其他策略只需要 `logs:PutDataProtectionPolicy` 和 `logs:CreateLogDelivery` 权限。

## 单个日志组的数据保护策略所需的权限
<a name="data-protection-policy-permissions-loggroup"></a>

**注意**  
如果您在 Lambda 函数内执行任何此类操作，则 Lambda 执行角色和权限边界还必须包含以下权限。


| 操作 | 所需的 IAM 权限 | 资源 | 
| --- | --- | --- | 
| 创建没有审计目标的数据保护策略 | `logs:PutDataProtectionPolicy` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*` | 
| 创建以 CloudWatch 日志为审计目标的数据保护策略 | `logs:PutDataProtectionPolicy`<br />`logs:CreateLogDelivery`<br />`logs:PutResourcePolicy`<br />`logs:DescribeResourcePolicies`<br />`logs:DescribeLogGroups` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*`<br />`*`<br />`*`<br />`*`<br />`*` | 
| 将 Firehose 作为审计目标来创建数据保护策略 | `logs:PutDataProtectionPolicy`<br />`logs:CreateLogDelivery`<br />`firehose:TagDeliveryStream` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*`<br />`*`<br />`arn:aws:logs:::deliverystream/{{YOUR_DELIVERY_STREAM}}` | 
| 将 Amazon S3 作为审计目标来创建数据保护策略 | `logs:PutDataProtectionPolicy`<br />`logs:CreateLogDelivery`<br />`s3:GetBucketPolicy`<br />`s3:PutBucketPolicy` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*`<br />`*`<br />`arn:aws:s3:::{{YOUR_BUCKET}}`<br />`arn:aws:s3:::{{YOUR_BUCKET}}` | 
| 对已屏蔽的日志事件取消屏蔽 | `logs:Unmask` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*` | 
| 查看现有数据保护策略 | `logs:GetDataProtectionPolicy` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*` | 
| 删除数据保护策略 | `logs:DeleteDataProtectionPolicy` | `arn:aws:logs:::log-group:{{YOUR_LOG_GROUP}}:*` | 

如果已经将任何数据保护审计日志发送到目标，则将日志发送到同一目标的其他策略只需要 `logs:PutDataProtectionPolicy` 和 `logs:CreateLogDelivery` 权限。

## 数据保护策略示例
<a name="data-protection-policy-sample"></a>

以下示例策略允许用户创建、查看和删除数据保护策略，这些策略可以将审计调查发现发送到所有三种类型的审计目标。它不允许用户查看未屏蔽的数据。

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

****  

```
 
    {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLogDeliveryConfiguration",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:PutResourcePolicy",
                "logs:DescribeLogGroups",
                "logs:DescribeResourcePolicies"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowDataProtectionAndBucketConfiguration",
            "Effect": "Allow",
            "Action": [
                "logs:GetDataProtectionPolicy",
                "logs:DeleteDataProtectionPolicy",
                "logs:PutDataProtectionPolicy",
                "s3:PutBucketPolicy",
                "firehose:TagDeliveryStream",
                "s3:GetBucketPolicy"
            ],
            "Resource": [
            "arn:aws:firehose:{{us-east-1}}:{{111122223333}}:deliverystream/{{delivery-stream-name}}",
            "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
            "arn:aws:logs:{{us-east-1}}:{{111122223333}}:log-group:{{log-group-name}}:*"
            ]
        }
    ]
}
```

------