

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 存取控制
<a name="access-control"></a>

若要建立、更新、刪除或列出 AWS Data Exchange 資源，您需要執行 操作和存取對應資源的許可。若要以程式設計方式執行操作，您也需要有效的存取金鑰。

## 管理 AWS Data Exchange 資源存取許可的概觀
<a name="access-control-overview"></a>

每個 AWS 資源都由 擁有 AWS 帳戶，而建立或存取資源的許可則由許可政策管理。帳戶管理員可以將許可政策連接到使用者、群組和角色。某些服務 (例如 AWS Lambda) 還支援將許可政策附加至資源。

**注意**  
「帳戶管理員」** (或管理員) 是具有管理員權限的使用者。如需詳細資訊，請參閱 [IAM 最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

**Topics**
+ [AWS Data Exchange 資源和操作](#access-control-resources)
+ [了解資源所有權](#access-control-owner)
+ [管理 資源的存取](#access-control-manage-access-intro)
+ [指定政策元素：動作、效果和主體](#access-control-specify-control-tower-actions)
+ [在政策中指定條件](#specifying-conditions)

### AWS Data Exchange 資源和操作
<a name="access-control-resources"></a>

在 中 AWS Data Exchange，有兩種不同類型的主要資源具有不同的控制平面：
+ 的主要資源 AWS Data Exchange 是*資料集*和*任務*。 AWS Data Exchange 也支援*修訂*和*資產*。
+ 為了促進提供者和訂閱者之間的交易， AWS Data Exchange 也會使用 AWS Marketplace 概念和資源，包括產品、優惠和訂閱。您可以使用 AWS Marketplace 目錄 API 或 AWS Data Exchange 主控台來管理您的產品、優惠、訂閱請求和訂閱。

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

無論誰建立資源， 都會 AWS 帳戶 擁有在帳戶中建立的資源。具體而言，資源擁有者是驗證資源建立請求 AWS 帳戶 的[委託人實體](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) （即 AWS 帳戶 根使用者、使用者或角色） 的 。下列範例說明其如何運作。

#### 資源擁有權
<a name="resource-ownership"></a>

中 AWS 帳戶 具有正確許可的任何 IAM 實體都可以建立 AWS Data Exchange 資料集。當 IAM 實體建立資料集時，其 AWS 帳戶 擁有該資料集。發佈的資料產品可以包含僅由建立它們的 擁有 AWS 帳戶 的資料集。

若要訂閱 AWS Data Exchange 產品，除了 `aws-marketplace:aws-marketplace:CreateAgreementRequest`的 `aws-marketplace:subscribe`、 和 `aws-marketplace:AcceptAgreementRequest` IAM 許可外 AWS Data Exchange，IAM 實體還需要使用 許可 AWS Marketplace （假設其通過任何相關的訂閱驗證）。身為訂閱者，您的帳戶具有授權資料集的讀取存取權；不過，它不擁有授權的資料集。任何匯出至 Amazon S3 的已授權資料集，皆由訂閱者的 擁有 AWS 帳戶。

### 管理 資源的存取
<a name="access-control-manage-access-intro"></a>

本節討論在 內容中使用 IAM AWS Data Exchange。它不提供 IAM 服務的詳細資訊。如需完整的 IAM 文件，請參閱*IAM 使用者指南*中的[什麼是 IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。如需 IAM 政策語法和說明的相關資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

*許可政策*描述誰可以存取哪些資源。以下部分說明用來建立許可政策的選項。

連接到 IAM 身分的政策稱為*身分類型*政策 (IAM 政策)。連接至資源的政策稱為以*資源為基礎的*政策。 僅 AWS Data Exchange 支援以身分為基礎的政策 (IAM 政策）。

**Topics**
+ [身分型政策和許可](#access-control-manage-access-intro-iam-policies)
+ [資源型政策](#access-control-manage-access-intro-resource-policies)

#### 身分型政策和許可
<a name="access-control-manage-access-intro-iam-policies"></a>

AWS Data Exchange 提供一組受管政策。如需他們及其許可的詳細資訊，請參閱 [AWS 的 受管政策 AWS Data Exchange](security-iam-awsmanpol.md)。

##### Amazon S3 許可
<a name="additional-s3-permissions"></a>

從 Amazon S3 匯入資產至 時 AWS Data Exchange，您需要許可才能寫入 AWS Data Exchange 服務 S3 儲存貯體。同樣地，從 匯出資產 AWS Data Exchange 至 Amazon S3 時，您需要從 AWS Data Exchange 服務 S3 儲存貯體讀取的許可。這些許可包含在上述政策中，但您也可以建立自己的政策，只允許使用者能夠執行的操作。您可以將這些許可範圍限定為名稱`aws-data-exchange`中包含 的儲存貯體，並使用 [ CalledVia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) 許可，將許可的使用限制為 AWS Data Exchange 代表委託人提出的請求。

例如，您可以建立政策，以允許匯入和匯出包含這些許可 AWS Data Exchange 的 。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*aws-data-exchange*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "dataexchange.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::*aws-data-exchange*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "dataexchange.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

這些許可允許提供者使用 匯入和匯出 AWS Data Exchange。此政策包含下列許可和限制：
+ **s3：PutObject** 和 **s3：PutObjectAcl** – 這些許可僅限於名稱`aws-data-exchange`中包含 的 S3 儲存貯體。從 Amazon S3 匯入時，這些許可允許提供者寫入 AWS Data Exchange 服務儲存貯體。
+ **s3：GetObject** – 此許可僅限於名稱`aws-data-exchange`中包含 的 S3 儲存貯體。此許可可讓客戶在從 匯出 AWS Data Exchange 到 Amazon S3 時從 AWS Data Exchange 服務儲存貯體讀取。
+ 這些許可僅限於搭配 IAM `CalledVia`條件使用 提出 AWS Data Exchange 的請求。這允許 S3 `PutObject`許可僅用於 AWS Data Exchange 主控台或 API 的內容。
+ **AWS Lake Formation**** 和** **AWS Resource Access Manager****(AWS RAM)** **–** 若要使用 AWS Lake Formation 資料集，您需要接受您訂閱的每個網路新供應商的 AWS RAM 共享邀請。若要接受 AWS RAM 共享邀請，您需要擔任具有接受 AWS RAM 共享邀請許可的角色。若要進一步了解 的 AWS 受管政策， AWS RAM請參閱 [的 受管政策 AWS RAM。](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-managed-policies.html)
+ 若要建立 AWS Lake Formation 資料集，您需要使用允許 IAM 將角色傳遞給 的 擔任角色來建立資料集 AWS Data Exchange。這將允許 代表您 AWS Data Exchange 授予和撤銷對 Lake Formation 資源的許可。請參閱以下範例政策：

  ```
  {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
          "StringEquals": {
               "iam:PassedToService": "dataexchange.amazonaws.com"
          }
      }
  }
  ```

**注意**  
您的使用者可能還需要額外的許可，才能從您自己的 S3 儲存貯體和此範例中未涵蓋的物件讀取或寫入。

如需使用者、群組、角色和許可的詳細資訊，請參閱《IAM 使用者指南》**中的[身分 (使用者、群組和角色)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)。

#### 資源型政策
<a name="access-control-manage-access-intro-resource-policies"></a>

AWS Data Exchange 不支援以資源為基礎的政策。

其他 服務，例如 Amazon S3，都支援以資源為基礎的許可政策。例如，您可以將政策連接至 S3 儲存貯體，以管理該儲存貯體的存取許可。

### 指定政策元素：動作、效果和主體
<a name="access-control-specify-control-tower-actions"></a>

若要使用 AWS Data Exchange，必須在 IAM 政策中定義您的使用者許可。

以下是最基本的政策元素：
+ **資源** – 在政策中，您可以使用 Amazon Resource Name (ARN) 來識別要套用政策的資源。所有 AWS Data Exchange API 操作都支援資源層級許可 (RLP)，但 AWS Marketplace 動作不支援 RLP。如需詳細資訊，請參閱[AWS Data Exchange 資源和操作](#access-control-resources)。
+ **動作**：使用動作關鍵字識別您要允許或拒絕的資源操作。
+ **效果** – 當使用者請求特定動作時，您可以指定效果 （允許或拒絕）。如果您未明確授予存取 (允許) 資源，則隱含地拒絕存取。您也可以明確拒絕資源存取，這樣做可確保使用者無法存取資源，即使不同政策授予存取也是一樣。
+ **委託人**：在身分識別型政策 (IAM 政策) 中，政策所連接的使用者就是隱含委託人。對於以資源為基礎的政策，您可以指定要接收許可的使用者、帳戶、服務或其他實體 （僅適用於以資源為基礎的政策）。 AWS Data Exchange 不支援以資源為基礎的政策。

如需 IAM 政策語法和說明的詳細資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

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

當您授與許可時，您可以使用 IAM 政策語言指定政策生效時間的條件。使用 AWS Data Exchange時，`CreateJob`、`GetJob`、 `StartJob`和 `CancelJob` API 操作支援條件式許可。您可以在 `JobType`層級提供許可。


**AWS Data Exchange 條件索引鍵參考**  

| 條件金鑰 | 說明 | Type | 
| --- | --- | --- | 
| "dataexchange:JobType":"IMPORT\$1ASSETS\$1FROM\$1S3" | 限制從 Amazon S3 匯入資產之任務的許可。 | String | 
| "dataexchange:JobType":IMPORT\$1ASSETS\$1FROM\$1LAKE\$1FORMATION\$1TAG\$1POLICY" (Preview) | 範圍從 匯入資產 AWS Lake Formation 的任務許可 （預覽） | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1SIGNED\$1URL" | 範圍涵蓋從已簽署 URL 匯入資產之任務的許可。 | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1REDSHIFT\$1DATA\$1SHARES" | 範圍涵蓋從 Amazon Redshift 匯入資產之任務的許可。 | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1API\$1GATEWAY\$1API" | 範圍涵蓋從 Amazon API Gateway 匯入資產之任務的許可。 | String | 
| "dataexchange:JobType":"EXPORT\$1ASSETS\$1TO\$1S3" | 限制將資產匯出至 Amazon S3 之任務的許可。 | String | 
| "dataexchange:JobType":"EXPORT\$1ASSETS\$1TO\$1SIGNED\$1URL" | 範圍涵蓋將資產匯出至已簽署 URL 之任務的許可。 | String | 
| "dataexchange:JobType":EXPORT\$1REVISIONS\$1TO\$1S3" | 將許可範圍限定為將修訂匯出至 Amazon S3 的任務。 | String | 

如需使用政策語言指定條件的詳細資訊，請參閱*IAM 使用者指南*中的[條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)。

若要表達條件，您可以使用預先定義的條件索引鍵。 AWS Data Exchange 具有 API 操作`JobType`的條件。不過， AWS 您可以視需要使用各種條件索引鍵。如需 AWS 各種金鑰的完整清單，請參閱 [https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。