

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

# 的访问管理 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/*"
     }
   ]
}
```