

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

# IAM 客户托管的政策 AWS DataSync
<a name="using-identity-based-policies"></a>

除了 AWS 托管策略外，您还可以为需要这些权限的 (IAM) 身份创建自己的基于身份的策略， AWS DataSync 并将其附加到需要这些权限的 AWS Identity and Access Management (IAM) 身份。这些被称为*客户管理型策略*，是您在自己的 AWS 账户中管理的独立策略。

**重要**  
在开始之前，我们建议您了解管理 DataSync 资源访问权限的基本概念和选项。有关更多信息，请参阅 [的访问管理 AWS DataSync](managing-access-overview.md)。

在创建客户托管策略时，您需要包括有关可在某些 AWS 资源上使用的 DataSync 操作的声明。以下策略示例包含两个语句 (请注意每个语句中的 `Action` 和 `Resource` 元素)：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowsSpecifiedActionsOnAllTasks",
            "Effect": "Allow",
            "Action": "datasync:DescribeTask",
            "Resource": "arn:aws:datasync:{{us-east-1}}:{{111122223333}}:task/*"
        },  
        {
            "Sid": "ListAllTasks",
            "Effect": "Allow",
            "Action": "datasync:ListTasks",
            "Resource": "*"
        }
    ]    
}
```

------

此策略的语句执行以下操作：
+ 第一条语句通过使用通配符（`*`）指定 Amazon 资源名称 (ARN) 来授予对某些转移任务资源执行 `datasync:DescribeTask` 操作的权限。
+ 第二条语句通过仅指定一个通配符（`*`）来授予对所有任务执行 `datasync:ListTasks` 操作的权限。

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

以下示例客户托管策略授予各种 DataSync操作的权限。如果您使用的是 AWS Command Line Interface (AWS CLI) 或 AWS SDK，则这些策略将起作用。要在控制台中使用这些策略，还必须使用托管策略 `AWSDataSyncFullAccess`。

**Topics**
+ [示例 1：创建允许 DataSync 访问您的 Amazon S3 存储桶的信任关系](#datasync-example1)
+ [示例 2：允许读 DataSync 取和写入您的 Amazon S3 存储桶](#datasync-example2)
+ [示例 3： DataSync 允许将日志上传到 CloudWatch 日志组](#datasync-example4)

### 示例 1：创建允许 DataSync 访问您的 Amazon S3 存储桶的信任关系
<a name="datasync-example1"></a>

以下是允许担任 IAM 角色 DataSync 的信任策略示例。此角色 DataSync 允许访问 Amazon S3 存储桶。为防范[跨服务混淆代理问题](cross-service-confused-deputy-prevention.md)，我们建议在此策略中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 全局条件上下文键。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": "{{111111111111}}"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:datasync:{{us-east-1}}:{{111111111111}}:*"
                }
            }
        }
    ]
}
```

------

### 示例 2：允许读 DataSync 取和写入您的 Amazon S3 存储桶
<a name="datasync-example2"></a>

以下示例策略授予 DataSync 读取和向用作目标位置的 S3 存储桶写入数据的最低权限。

**注意**  
`aws:ResourceAccount` 的值应为拥有策略中指定 Amazon S3 存储桶的账户 ID。

```
{
 "Version": "2012-10-17",		 	 	 
 "Statement": [
     {
         "Action": [
             "s3:GetBucketLocation",
             "s3:ListBucket",
             "s3:ListBucketMultipartUploads"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     },
     {
         "Action": [
             "s3:AbortMultipartUpload",
             "s3:DeleteObject",
             "s3:GetObject",
             "s3:GetObjectTagging",
             "s3:GetObjectVersion",
             "s3:GetObjectVersionTagging",
             "s3:ListMultipartUploadParts",
             "s3:PutObject",
             "s3:PutObjectTagging"
           ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     }
 ]
}
```

### 示例 3： DataSync 允许将日志上传到 CloudWatch 日志组
<a name="datasync-example4"></a>

DataSync 需要权限才能将日志上传到您的 Amazon CloudWatch 日志组。您可以使用 CloudWatch 日志组来监控和调试任务。

有关授予这类权限的示例 IAM policy，请参阅 [DataSync 允许将日志上传到 CloudWatch 日志组](configure-logging.md#cloudwatchlogs)。