

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

# 中的身份和访问管理 AWS DataSync
<a name="iam"></a>

AWS 使用安全证书来识别您的身份并授予您访问 AWS 资源的权限。您可以使用 AWS Identity and Access Management (IAM) 的功能允许其他用户、服务和应用程序完全或以有限的方式使用您的 AWS 资源，而无需共享您的安全证书。

默认情况下，IAM 身份（用户、群组和角色）无权创建、查看或修改 AWS 资源。要允许用户、群组和角色访问 AWS DataSync 资源并与 DataSync 控制台和 API 进行交互，我们建议您使用 IAM 策略，授予他们使用他们所需的特定资源和 API 操作的权限。然后，将策略附加到需要访问的 IAM 身份。有关策略的基本要素的概述，请参阅[的访问管理 AWS DataSync](managing-access-overview.md)。

**Topics**
+ [的访问管理 AWS DataSync](managing-access-overview.md)
+ [AWS 的托管策略 AWS DataSync](security-iam-awsmanpol.md)
+ [IAM 客户托管的政策 AWS DataSync](using-identity-based-policies.md)
+ [将服务相关角色用于 DataSync](using-service-linked-roles.md)
+ [在创建期间为 DataSync 资源添加标签的权限](supported-iam-actions-tagging.md)
+ [防止跨服务混淆代理](cross-service-confused-deputy-prevention.md)

# 的访问管理 AWS DataSync
<a name="managing-access-overview"></a>

每个 AWS 资源都归某人所有 AWS 账户。创建或访问资源的权限由权限策略进行管理。账户管理员可以向 AWS Identity and Access Management (IAM) 身份附加权限策略。某些服务（例如 AWS Lambda）还支持为资源附加权限策略。

**注意**  
*账户管理员*是在 AWS 账户中具有管理员权限的用户。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

**Topics**
+ [DataSync 资源和运营](#access-control-specify-datasync-actions)
+ [了解资源所有权](#access-control-owner)
+ [管理对 资源的访问](#access-control-managing-permissions)
+ [指定策略元素：操作、效果、资源和主体](#policy-elements)
+ [在策略中指定条件](#specifying-conditions)
+ [创建 VPC 端点策略](#endpoint-policy-example)

## DataSync 资源和运营
<a name="access-control-specify-datasync-actions"></a>

在中 DataSync，主要资源是代理、位置、任务和任务执行。

这些资源具有与之关联的唯一 Amazon 资源名称 (ARNs)，如下表所示。


| 资源类型 | ARN 格式 | 
| --- | --- | 
|  座席 ARN  |  `arn:aws:datasync:region:account-id:agent/agent-id`  | 
| 位置 ARN |  `arn:aws:datasync:region:account-id:location/location-id`  | 
| 任务 ARN |  `arn:aws:datasync:region:account-id:task/task-id `  | 
| 任务执行 ARN |  `arn:aws:datasync:region:account-id:task/task-id/execution/exec-id`  | 

要授予特定 API 操作（例如创建任务）的权限，需要 DataSync 定义一组可在权限策略中指定的操作。一个 API 操作可能需要执行多个操作的权限。

## 了解资源所有权
<a name="access-control-owner"></a>

*资源所有者* AWS 账户 是创建资源的人。也就是说，资源所有者是*委托人实体*（例如，IAM 角色），负责对创建资源的请求进行身份验证。 AWS 账户 以下示例说明了该行为的工作原理：
+ 如果您使用您的 AWS 账户 根账户证书创建任务，则您 AWS 账户 就是该资源的所有者（在中 DataSync，资源就是任务）。
+ 如果您在中创建 IAM 角色 AWS 账户 并向该用户授予`CreateTask`操作权限，则该用户可以创建任务。但是，该用户所属的 AWS 账户是此任务资源的所有者。
+ 如果您在中创建 AWS 账户 具有创建任务权限的 IAM 角色，则任何能够担任该角色的人都可以创建任务。角色 AWS 账户所属的您拥有任务资源。

## 管理对 资源的访问
<a name="access-control-managing-permissions"></a>

权限策略规定谁可以访问哪些内容。下一节介绍创建权限策略时的可用选项。

**注意**  
本节讨论在的上下文中使用 IAM DataSync。这里不提供有关 IAM 服务的详细信息。有关完整的 IAM 文档，请参阅 *IAM 用户指南*中的[什么是 IAM？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。有关 IAM policy 语法和说明的信息，请参阅 *IAM 用户指南*中的 [AWS Identity and Access Management 策略参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。

附加到 IAM 身份的策略称为*基于身份*的策略（IAM 策略），附加到资源的策略称为基于*资源的*策略。 DataSync 仅支持基于身份的策略（IAM 策略）。

**Topics**
+ [基于身份的策略](#identity-based-policies)
+ [基于资源的策略](#resource-based-policies)

### 基于身份的策略
<a name="identity-based-policies"></a>

您可以使用 IAM 策略管理 DataSync 资源访问权限。这些策略可以帮助 AWS 账户 管理员执行以下操作 DataSync：
+ **授予创建和管理 DataSync资源的权限**-创建 IAM 策略， AWS 账户 允许您中的 IAM 角色创建和管理 DataSync 资源，例如代理、位置和任务。
+ **向其他角色 AWS 账户 或中的角色授予权限 AWS 服务** — 创建 IAM 策略，向其他角色 AWS 账户 或中的某个 IAM 角色授予权限 AWS 服务。例如：

  1. 账户 A 管理员可以创建一个 IAM 角色，然后向该角色附加授予其访问账户 A 中资源的权限策略。

  1. 账户 A 管理员向将账户 B 标识为能够担任该角色的委托人的角色附加信任策略。

     要授予担任该角色的 AWS 服务 权限，账户 A 管理员可以在信任策略中指定 AWS 服务 为委托人。

  1. 随后，账户 B 管理员可以将担任角色的权限委派给账户 B 中的任何用户。这将允许账户 B 中担任此角色的任何用户创建或访问账户 A 中的资源。

  有关使用 IAM 委派权限的更多信息，请参阅 *IAM 用户指南*中的[访问权限管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。

以下示例策略授予对所有资源执行所有 `List*` 操作的权限。此操作为只读操作，不允许修改资源。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllListActionsOnAllResources",
            "Effect": "Allow",
            "Action": [
                "datasync:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

有关将基于身份的策略与配合使用的更多信息 DataSync，请参阅[AWS 托管策略和[客户托管](using-identity-based-policies.md)策略](security-iam-awsmanpol.md)。有关 IAM 身份的更多信息，请参阅 [https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)。

### 基于资源的策略
<a name="resource-based-policies"></a>

其他服务 [如 Simple Storage Service（Amazon S3）] 支持基于资源的权限策略。例如，您可以将策略附加到 Amazon S3 存储桶以管理对该存储桶的访问权限。但是， DataSync 不支持基于资源的策略。

## 指定策略元素：操作、效果、资源和主体
<a name="policy-elements"></a>

对于每种 DataSync 资源，该服务都定义了一组 API 操作（请参阅[操作](https://docs.aws.amazon.com/datasync/latest/userguide/API_Operations.html)）。要授予这些 API 操作的权限，请 DataSync 定义一组可在策略中指定的操作。例如，对于 DataSync 资源，定义了以下操作：`CreateTask``DeleteTask`、和`DescribeTask`。执行一个 API 操作可能需要多个操作的权限。

以下是最基本的策略元素：
+ **资源**：在策略中，您可以使用 Amazon Resource Name（ARN）标识策略应用到的资源。对于 DataSync 资源，您可以在 IAM 策略中使用通配符 `(*)`。有关更多信息，请参阅 [DataSync 资源和运营](#access-control-specify-datasync-actions)。
+ **操作** – 您可以使用操作关键字标识要允许或拒绝的资源操作。例如，根据指定的`Effect`元素，该`datasync:CreateTask`权限允许或拒绝用户执行 DataSync `CreateTask`操作的权限。
+ **效果** – 您可以指定当用户请求特定操作时的效果（该效果可以是 `Allow` 或 `Deny`）。如果您没有显式授予对（`Allow`）资源的访问权限，则隐式拒绝访问。您也可显式拒绝对资源的访问，这样可确保用户无法访问该资源，即使有其他策略授予了用户访问权限的情况下也是如此。有关更多信息，请参阅 *IAM 用户指南*中的[授权](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization)。
+ **主体**：在基于身份的策略（IAM 策略）中，附加了策略的用户是隐式主体。对于基于资源的策略，您可以指定要获得权限的用户、账户、服务或其他实体（仅适用于基于资源的策略）。 DataSync 不支持基于资源的策略。

有关 IAM policy 语法和描述的更多信息，请参阅 *IAM 用户指南*中的 [AWS Identity and Access Management 策略参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

## 在策略中指定条件
<a name="specifying-conditions"></a>

当您授予权限时，可使用 IAM policy 语言指定一些条件，这些条件规定在授予权限时策略何时生效。例如，您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息，请参阅 *IAM 用户指南*中的[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)。

要表示条件，您可以使用预定义的条件键。没有特定于 DataSync 的条件键。但是，您可以根据需要使用 AWS 多种条件键。有关 AWS 宽密钥的完整列表，请参阅 *IAM 用户指南*中的[可用密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)。

## 创建 VPC 端点策略
<a name="endpoint-policy-example"></a>

VPC 终端节点策略可帮助控制通过 DataSyncVPC服务终端节点和启用 FIPS 的 VPC 服务终端节点对 DataSync API 操作的访问。VPC 终端节点策略允许您限制通过VPC服务终端节点访问的特定 DataSync API 操作，例如`CreateTask`或`StartTaskExecution`。

端点策略指定以下信息：
+ 可以执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅[使用端点策略控制对 VPC 端点的访问](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。

**策略示例**  
下面是端点策略的一个示例。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
          "datasync:CreateTask",
          "datasync:StartTaskExecution",
          "datasync:DescribeTask"
        ],
        "Resource": "arn:aws:datasync:us-east-1:123456789012:task/*"
     }
   ]
}
```

# AWS 的托管策略 AWS DataSync
<a name="security-iam-awsmanpol"></a>





要向用户、群组和角色添加权限，使用 AWS 托管策略比自己编写策略要容易得多。创建仅为团队提供所需权限的 [IAM 客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)需要时间和专业知识。要快速入门，您可以使用我们的 AWS 托管策略。这些策略涵盖常见使用案例，可在您的 AWS 账户中使用。有关 AWS 托管策略的更多信息，请参阅 *IAM 用户指南*中的[AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

AWS 服务 维护和更新 AWS 托管策略。您无法更改 AWS 托管策略中的权限。服务偶尔会向 AWS 托管式策略添加额外权限以支持新特征。此类更新会影响附加策略的所有身份（用户、组和角色）。当启动新特征或新操作可用时，服务最有可能会更新 AWS 托管式策略。服务不会从 AWS 托管策略中移除权限，因此策略更新不会破坏您的现有权限。

此外，还 AWS 支持跨多个服务的工作职能的托管策略。例如，`ReadOnlyAccess` AWS 托管策略提供对所有资源 AWS 服务 和资源的只读访问权限。当服务启动一项新功能时， AWS 会为新操作和资源添加只读权限。有关工作职能策略的列表和说明，请参阅 *IAM 用户指南*中的[适用于工作职能的AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。









## AWS 托管策略：AWSDataSyncReadOnlyAccess
<a name="security-iam-awsmanpol-awsdatasyncreadonlyaccess"></a>

您可以将 `AWSDataSyncReadOnlyAccess` 策略附加到 IAM 身份。此策略授予的只读权限 DataSync。

要查看此策略的权限，请参阅《AWS 托管式策略参考》中的 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSDataSyncReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSDataSyncReadOnlyAccess.html)**。

## AWS 托管策略：AWSDataSyncFullAccess
<a name="security-iam-awsmanpol-awsdatasyncfullaccess"></a>

您可以将 `AWSDataSyncFullAccess` 策略附加到 IAM 身份。此策略授予对服务的管理权限 DataSync ，并且是 AWS 管理控制台 访问该服务所必需的。 `AWSDataSyncFullAccess`提供对 DataSync API 操作以及与相关资源（例如 Amazon S3 存储桶、Amazon EFS 文件系统、 AWS KMS 密钥和 Secrets Manager 密钥）交互的操作的完全访问权限。该策略还向 Amazon 授予权限 CloudWatch，包括创建日志组以及创建或更新资源策略。

要查看此策略的权限，请参阅《AWS 托管式策略参考》中的 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSDataSyncFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSDataSyncFullAccess.html)**。

## AWS 托管策略：AWSDataSyncServiceRolePolicy
<a name="security-iam-awsmanpol-awsdatasyncservicerolepolicy"></a>

您不可以将 `AWSDataSyncServiceRolePolicy` 策略附加得到 IAM 身份。此策略附加到允许代表您执行操作 DataSync 的服务相关角色。有关更多信息，请参阅 [将服务相关角色用于 DataSync](using-service-linked-roles.md)。

此策略授予管理权限，允许服务相关角色使用增强模式为 DataSync 任务创建 Amazon CloudWatch 日志。

## 策略更新
<a name="security-iam-awsmanpol-updates"></a>


| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 修改了以下内容的权限声明`AWSDataSyncFullAccess`： 更新后的语句从用于创建 Secret DataSync s Manager 密钥的权限中删除了标记条件。  | 2025 年 5 月 13 日 | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 向以下内容添加了新权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 这些权限允许 DataSync 创建、编辑和删除 AWS Secrets Manager 密钥。  | 2025 年 5 月 7 日 | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 向以下内容添加了新权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 这些权限允许 DataSync 检索有关您的 AWS Secrets Manager 机密和密 AWS KMS 钥的元数据，包括与您的密钥关联的任何别名。  | 2025 年 4 月 23 日 | 
| [AWSDataSyncServiceRolePolicy](#security-iam-awsmanpol-awsdatasyncservicerolepolicy) – 更改 |  DataSync 为 DataSync服务相关角色`AWSServiceRoleForDataSync`使用的`AWSDataSyncServiceRolePolicy`策略添加了新权限： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 这些权限允许 DataSync 读取由管理的密钥的元数据和值 AWS Secrets Manager。  | 2025 年 4 月 15 日 | 
| [AWSDataSyncServiceRolePolicy](#security-iam-awsmanpol-awsdatasyncservicerolepolicy)：新策略 |  DataSync 添加了 DataSync 服务相关角色`AWSServiceRoleForDataSync`使用的策略。这项新的托管策略会自动为您的使用增强模式的 DataSync 任务创建 Amazon CloudWatch 日志。  | 2024 年 10 月 30 日 | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 为以下内容添加了新的权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 此权限允许您 DataSync 创建与服务相关的角色。  | 2024 年 10 月 30 日 | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 为以下内容添加了新的权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 此权限允许您在创建 DataSync 任务时选择选择加入区域，以便在两者之间 AWS 区域进行转移。  | 2024 年 7 月 22 日 | 
| [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改 |  DataSync 为以下内容添加了新的权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 此权限允许您选择[DataSync 清单](transferring-with-manifest.md)的特定版本。  | 2024 年 2 月 16 日 | 
|  [AWSDataSyncFullAccess](#security-iam-awsmanpol-awsdatasyncfullaccess) – 更改  |  DataSync 向以下内容添加了新权限`AWSDataSyncFullAccess`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/datasync/latest/userguide/security-iam-awsmanpol.html) 这些权限可以帮助你在 Outposts 上为亚马逊 EFS、Amazon f NetApp o FSx r ONTAP、Amazon S3 和 S3 创建 DataSync 代理和位置。  | 2023 年 5 月 2 日 | 
|  DataSync 开始跟踪更改  |  DataSync 开始跟踪其 AWS 托管策略的更改。  | 2021 年 3 月 1 日 | 

# 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)。

# 将服务相关角色用于 DataSync
<a name="using-service-linked-roles"></a>

AWS DataSync 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种与之直接关联的 IAM 角色的独特类型。 DataSync服务相关角色由服务预定义 DataSync ，包括该服务代表您调用其他 AWS 服务所需的所有权限。

**Topics**
+ [将角色用于 DataSync](using-service-linked-roles-service-action-2.md)

# 将角色用于 DataSync
<a name="using-service-linked-roles-service-action-2"></a>

AWS DataSync 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种与之直接关联的 IAM 角色的独特类型。 DataSync服务相关角色由服务预定义 DataSync ，包括该服务代表您调用其他 AWS 服务所需的所有权限。

服务相关角色使设置变得 DataSync 更加容易，因为您不必手动添加必要的权限。 DataSync 定义其服务相关角色的权限，除非另有定义，否则 DataSync 只能担任其角色。定义的权限包括信任策略和权限策略，以及不能附加到任何其他 IAM 实体的权限策略。

只有在首先删除相关资源后，您才能删除服务关联角色。这样可以保护您的 DataSync 资源，因为您不会无意中删除访问资源的权限。

有关支持服务相关角色的其他服务的信息，请参阅与 [IAM 配合使用的AWS 服务，](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并在**服务相关角色**列中查找标有 “**是**” 的服务。选择**是**和链接，查看该服务的服务关联角色文档。

## 的服务相关角色权限 DataSync
<a name="service-linked-role-permissions-service-action-2"></a>

DataSync 使用名为的服务相关角色 **AWSServiceRoleForDataSync**— DataSync 允许执行传输任务执行的基本操作，包括从中 AWS Secrets Manager读取密钥以及创建 CloudWatch 日志组和事件。

 AWSServiceRoleForDataSync 服务相关角色信任以下服务来代入该角色：
+ `datasync.amazonaws.com`

服务相关角色使用名为的 AWS 托管策略 [AWSDataSyncServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncservicerolepolicy)，该策略 DataSync 允许对指定资源完成以下操作：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "DataSyncCloudWatchLogCreateAccess",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:*:logs:*:*:log-group:/aws/datasync*"
            ]
        },
        {
            "Sid": "DataSyncCloudWatchLogStreamUpdateAccess",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:*:logs:*:*:log-group:/aws/datasync*:log-stream:*"
            ]
        },
        {
            "Sid": "DataSyncSecretsManagerReadAccess",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:*:secretsmanager:*:*:secret:aws-datasync!*"
            ],
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "aws-datasync",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

您必须配置使用户、组或角色能够创建、编辑或删除服务相关角色的权限。有关更多信息，请参阅*《IAM 用户指南》*中的[服务相关角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为创建服务相关角色 DataSync
<a name="create-service-linked-role-service-action-2"></a>

您无需手动创建服务关联角色。当您在 AWS 管理控制台、或 AWS API 中创建 DataSync 任务时， DataSync会为您创建服务相关角色。 AWS CLI

在 AWS CLI 或 AWS API 中，您可以使用服务名称创建服务相关角色。`datasync.amazonaws.com`有关更多信息，请参阅 *IAM 用户指南* 中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。如果您删除了此服务相关角色，可以使用同样的过程再次创建角色。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。创建 DataSync 任务时， DataSync 会再次为您创建服务相关角色。

如果删除该服务相关角色，您可以使用相同的 IAM 过程再次创建该角色。

## 编辑的服务相关角色 DataSync
<a name="edit-service-linked-role-service-action-2"></a>

DataSync 不允许您编辑 AWSServiceRoleForDataSync 服务相关角色。创建服务关联角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务关联角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除的服务相关角色 DataSync
<a name="delete-service-linked-role-service-action-2"></a>

如果不再需要使用某个需要服务关联角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，您必须先清除您的服务相关角色，然后才能手动删除它。

### 清除服务相关角色
<a name="service-linked-role-review-before-delete-service-action-2"></a>

必须先删除服务相关角色使用的所有资源，然后才能使用 IAM 删除该角色。

**注意**  
如果您尝试删除资源时 DataSync 服务正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**要删除使用的 DataSync 资源 AWSService RoleForDataSync**

1. [删除任务使用的 DataSync 代理](clean-up.md#deleting-agent)（如果有）。

1. [删除任务的位置](clean-up.md#deleting-location)。

1. [删除任务](clean-up.md#delete-task)。

### 手动删除服务相关角色
<a name="slr-manual-delete-service-action-2"></a>

使用 IAM 控制台 AWS CLI、或 AWS API 删除 AWSServiceRoleForDataSync服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务关联角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## DataSync 服务相关角色支持的区域
<a name="slr-regions-service-action-2"></a>

DataSync 支持在提供服务的所有区域中使用服务相关角色。有关更多信息，请参阅 [AWS 区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

# 在创建期间为 DataSync 资源添加标签的权限
<a name="supported-iam-actions-tagging"></a>

某些创建资源 AWS DataSync 的 API 操作允许您在创建资源时指定标签。您可以使用资源标签来实现基于属性的访问权限控制（ABAC）。有关更多信息，请参阅 [ABAC 有什么用 AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)？ 在 *IAM 用户指南*中。

为使用户能够在创建时为资源添加标签，他们必须具有使用创建该资源的操作（如 `datasync:CreateAgent` 或 `datasync:CreateTask`）的权限。如果在资源创建操作中指定了标签，则用户还必须具有使用 `datasync:TagResource` 操作的显式权限。

仅当用户在资源创建操作中应用了标签时，系统才会评估 `datasync:TagResource` 操作。因此，如果未在此请求中指定任何标签，则拥有创建资源权限 (假定没有标记条件) 的用户无需具备使用 `datasync:TagResource` 操作的权限。

但是，如果用户不具备使用 `datasync:TagResource` 操作的权限而又试图创建带标签的资源，则请求将失败。

## IAM policy 语句示例
<a name="supported-iam-actions-tagging-examples"></a>

使用以下 IAM 策略声明示例，向创建 DataSync 资源的用户授予`TagResource`权限。

以下语句允许用户在创建 DataSync 代理时标记代理。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "datasync:TagResource",
            "Resource": "arn:aws:datasync:us-east-1:444455556666:agent/*"
        }
    ]
}
```

------

以下语句允许用户在创建 DataSync 营业地点时为其添加标签。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "datasync:TagResource",
            "Resource": "arn:aws:datasync:us-east-1:111122223333:location/*"
        }
    ]
}
```

------

以下语句允许用户在创建 DataSync 任务时对任务进行标记。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "datasync:TagResource",
            "Resource": "arn:aws:datasync:us-east-1:444455556666:task/*"
        }
    ]
}
```

------

# 防止跨服务混淆代理
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理问题是一个安全性问题，即不具有某操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。在中 AWS，跨服务模仿可能会导致混乱的副手问题。一个服务（*呼叫服务*）调用另一项服务（*所谓的服务*）时，可能会发生跨服务模拟。可以操纵调用服务，使用其权限以在其他情况下该服务不应有访问权限的方式对另一个客户的资源进行操作。为防止这种情况， AWS 提供可帮助您保护所有服务的数据的工具，而这些服务中的服务主体有权限访问账户中的资源。

我们建议在资源策略中使用[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)全局条件上下文密钥来限制为资源 AWS DataSync 提供其他服务的权限。如果同时使用全局条件上下文密钥和包含账户 ID 的 `aws:SourceArn` 值，则 `aws:SourceAccount` 值和 `aws:SourceArn` 值中的账户在同一策略语句中使用时，必须使用相同的账户 ID。如果您只希望将一个资源与跨服务访问相关联，请使用 `aws:SourceArn`。如果您想该账户中的任何资源与跨服务使用相关联，请使用 `aws:SourceAccount`。

的值`aws:SourceArn`必须包含允许担任 IAM 角色 DataSync 的地点 ARN。 DataSync 

防范混淆代理问题最有效的方法是使用 `aws:SourceArn` 键和资源的完整 ARN。如果您不知道此完整 ARN，或者正在指定多个资源，请针对未知部分使用通配符字符 (`*`)。以下是一些如何执行此操作的示例 DataSync：
+ 要将信任策略限制在现有 DataSync 位置，请在策略中包含完整的地点 ARN。 DataSync 只有在处理该特定位置时才会担任 IAM 角色。
+ 在为创建 Amazon S3 营业地点时 DataSync，您不知道该营业地点的 ARN。在这种情况下，请对 `aws:SourceArn` 键使用以下格式：`arn:aws:datasync:us-east-2:123456789012:*`。此格式用于验证分区 (`aws`)、账户 ID 和区域。

以下完整示例显示了如何在信任策略中使用`aws:SourceArn`和`aws:SourceAccount`全局条件上下文密钥来防止出现混淆的代理问题 DataSync。

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

****  

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

------

有关显示如何使用`aws:SourceArn`和`aws:SourceAccount`全局条件上下文密钥的更多策略示例 DataSync，请参阅以下主题：
+ [创建允许 DataSync 访问您的 Amazon S3 存储桶的信任关系](using-identity-based-policies.md#datasync-example1)
+ [配置 IAM 角色以访问您的 Amazon S3 存储桶](create-s3-location.md#create-role-manually)