

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

# 在 上建立 AWS Data Exchange 包含 Amazon S3 資料存取的資料授權
<a name="data-grant-publish-s3-data-access-product"></a>

使用 AWS Data Exchange for Amazon S3，資料擁有者可以直接存取 Amazon S3 儲存貯體或特定字首和 Amazon S3 物件。資料擁有者也會使用 透過資料授權 AWS Data Exchange 自動管理權利。

身為資料擁有者，您可以直接存取整個 Amazon S3 儲存貯體或特定字首和 Amazon S3 物件，而無需建立或管理複本。這些共用的 Amazon S3 物件可以使用存放在 (AWS KMS) 或 AWS 受管金鑰 (SSE-S3) 中的 AWS Key Management Service 客戶受管金鑰進行伺服器端加密。如需監控 KMS 金鑰和了解加密內容的詳細資訊，請參閱 [Amazon S3 資料存取的金鑰管理](key-management.md)。當接收者取得資料產品的存取權時， AWS Data Exchange 會自動佈建 Amazon S3 存取點，並代表您更新其資源政策，以授予收件人唯讀存取權。收件人可以在使用 Amazon S3 儲存貯體名稱存取 Amazon S3 中資料的位置使用 Amazon S3 存取點別名。

訂閱結束時，會撤銷接收者的許可。

您必須先符合下列先決條件，才能建立包含 Amazon S3 資料存取的資料授權：

**先決條件**
+ 確認託管資料的 Amazon S3 儲存貯體已使用開啟**停用 ACLs **的 Amazon S3 儲存貯體擁有者強制執行設定進行設定。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[控制物件的擁有權和停用儲存貯體ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)。
+ 您的共用物件必須位於 Amazon S3 標準儲存類別中，或使用 Amazon S3 Intelligent Tiering 進行管理，接收者才能成功存取它們。如果它們位於其他儲存類別中，或者您已啟用具有 Deep Archive 的智慧型分層，您的接收者將會收到錯誤，因為他們沒有 的許可`RestoreObject`。
+ 確認託管資料的 Amazon S3 儲存貯體已停用加密，或使用存放在 AWS Key Management Service () 中的 Amazon S3 受管金鑰 (SSE-S3) 或客戶受管金鑰進行加密AWS KMS。
+ 如果您使用的是客戶受管金鑰，您必須具有下列項目：

  1. KMS 金鑰`kms:CreateGrant`上對 的 IAM 許可。您可以透過金鑰政策、IAM 登入資料或 KMS 金鑰上的 AWS KMS 授予來存取這些許可。如需金鑰管理和了解 AWS Data Exchange 如何使用 AWS KMS 授予的詳細資訊，請參閱 [建立 AWS KMS 授予](key-management.md#create-kms-grants)。

     若要提供存取權，請新增權限至您的使用者、群組或角色：
     + 中的使用者和群組 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) 中的指示。

     如果使用者想要與 AWS 外部互動，則需要程式設計存取 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

     若要授予使用者程式設計存取權，請選擇下列其中一個選項。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/data-exchange/latest/userguide/data-grant-publish-s3-data-access-product.html)

     以下是 JSON 政策範例，示範如何將 新增至 KMS 金鑰的金鑰政策。

     ```
     {
           "Sid": "AllowCreateGrantPermission",
           "Effect": "Allow",
           "Principal": {
     "AWS": "<IAM identity who will call Dataexchange API>"             
           },
           "Action": "kms:CreateGrant",
           "Resource": "*"
     }
     ```

     下列政策顯示所使用 IAM 身分新增的範例政策。

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Sid": "AllowCreateGrantPermission",
                 "Action": [
                     "kms:CreateGrant"
                 ],
                 "Resource": [
                 "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{KeyId}}"
                 ]
             }
         ]
     }
     ```

------
**注意**  
如果透過先前步驟取得 KMS 金鑰的`kms:CreateGrant`許可，則也允許跨帳戶 KMS 金鑰。如果另一個帳戶擁有金鑰，您必須擁有金鑰政策和 IAM 憑證的許可，如上述範例所述。

  1. 請務必使用 KMS 金鑰，使用 Amazon S3 儲存貯體金鑰功能加密 Amazon S3 儲存貯體中的現有和新物件。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[設定 S3 儲存貯體金鑰](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html#configure-bucket-key)。
     + 對於新增至 Amazon S3 儲存貯體的新物件，您可以預設設定 Amazon S3 儲存貯體金鑰加密。如果現有物件已使用 Amazon S3bucket金鑰功能加密，則必須遷移這些物件，才能使用 Amazon S3 儲存貯體金鑰進行加密。

       若要為現有物件啟用 Amazon S3 儲存貯體金鑰，請使用 `copy`操作。如需詳細資訊，請參閱[使用批次操作在物件層級設定 Amazon S3 儲存貯體金鑰](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-bucket-key-object.html)。
     + AWS 不支援 或 AWS 擁有的金鑰 受管 KMS 金鑰。您可以從不支援的加密機制遷移到目前支援的加密機制。如需詳細資訊，請參閱 AWS Storage Blog [中的變更 Amazon S3 加密](https://aws.amazon.com/blogs/storage/changing-your-amazon-s3-encryption-from-s3-managed-encryption-sse-s3-to-aws-key-management-service-sse-kms/)。

  1. 將託管資料的 Amazon S3 儲存貯體設定為信任 AWS Data Exchange 擁有的存取點。您必須更新這些 Amazon S3 儲存貯體政策，以授予建立 Amazon S3 存取點的 AWS Data Exchange 許可，並代表您授予或移除訂閱者的存取權。如果缺少政策陳述式，您必須編輯儲存貯體政策，才能將 Amazon S3 位置新增至資料集。

     以下所示為政策範例。`<Bucket ARN>` 將 取代為適當的值。

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "AWS": "*"
                 },
                 "Action": [
                     "s3:GetObject",
                     "s3:ListBucket"
                 ],
                 "Resource": [
                    "arn:aws:s3:::{{BucketName}}",
                    "arn:aws:s3:::/*"
                 ],
                 "Condition": {
                     "StringEquals": {
                         "s3:DataAccessPointAccount": [
                             "337040091392",
                             "504002150500",
                             "366362662752",
                             "330489627928",
                             "291973504423",
                             "461002523379",
                             "036905324694",
                             "540564263739",
                             "675969394711",
                             "108584782536",
                             "844053218156"
                         ]
                     }
                 }
             }
         ]
     }
     ```

------

您可以透過 將資料共用委派 AWS Data Exchange 給整個 Amazon S3 儲存貯體。不過，您可以將委派範圍限定為您要在資料集中共用之儲存貯體的特定字首和物件。以下是範圍政策的範例。`"mybucket/folder1/*"` 使用您自己的資訊取代 `<Bucket ARN>`和 。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DelegateToAdxGetObjectsInFolder1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::mybucket/folder1/*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:DataAccessPointAccount": [
            "337040091392",
            "504002150500",
            "366362662752",
            "330489627928",
            "291973504423",
            "461002523379",
            "036905324694",
            "540564263739",
            "675969394711",
            "108584782536",
            "844053218156"
          ]
        }
      }
    },
    {
      "Sid": "DelegateToAdxListObjectsInFolder1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::mybucket",
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "folder1/*"
          ]
        },
        "StringEquals": {
          "s3:DataAccessPointAccount": [
            "337040091392",
            "504002150500",
            "366362662752",
            "330489627928",
            "291973504423",
            "461002523379",
            "036905324694",
            "540564263739",
            "675969394711",
            "108584782536",
            "844053218156"
          ]
        }
      }
    }
  ]
}
```

------

同樣地，若要僅限制對單一檔案的存取，資料擁有者可以使用下列政策。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DelegateToAdxGetMyFile",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::mybucket/folder1/myfile"
      ],
      "Condition": {
        "StringEquals": {
          "s3:DataAccessPointAccount": [
            "337040091392",
            "504002150500",
            "366362662752",
            "330489627928",
            "291973504423",
            "461002523379",
            "036905324694",
            "540564263739",
            "675969394711",
            "108584782536",
            "844053218156"
          ]
        }
      }
    }
  ]
}
```

------

下列主題說明使用 AWS Data Exchange 主控台建立 Amazon S3 資料集和使用 Amazon S3 資料集進行資料授予的程序。程序包含下列步驟：

**Topics**
+ [步驟 1：建立 Amazon S3 資料集](#data-grant-create-S3-data-set)
+ [步驟 2：設定 Amazon S3 資料存取](#data-grant-configure-s3-data-access-product)
+ [步驟 3：檢閱並完成資料集](#data-grant-review-finalize-s3-data-set-product)
+ [步驟 4：建立新的資料授權](#data-grant-add-s3-data-set-to-existing-product)

## 步驟 1：建立 Amazon S3 資料集
<a name="data-grant-create-S3-data-set"></a>

**建立 Amazon S3 資料集**

1.  在左側導覽窗格的**我的資料**下，選擇**擁有的資料集**。

1. 在**擁有的資料集**中，選擇**建立資料集**以開啟**資料集建立步驟**精靈。

1. 在**選取資料集類型**中，選擇 **Amazon S3 資料存取**。

1. 在**定義資料集**中，輸入資料集**的名稱**和**描述**。如需詳細資訊，請參閱[資料集最佳實務](data-sets.md#data-set-best-practices)。

1. （選用） 在**新增標籤下 – 選用**，新增標籤。

1. 選擇**建立資料集**並繼續。

## 步驟 2：設定 Amazon S3 資料存取
<a name="data-grant-configure-s3-data-access-product"></a>

選擇您要提供給收件人的 Amazon S3 儲存貯體或 Amazon S3 儲存貯體位置。您可以選取整個 Amazon S3 儲存貯體，或在 Amazon S3 儲存貯體中指定最多五個字首或物件。若要新增更多 Amazon S3 儲存貯體，您必須建立另一個 Amazon S3 資料共用。

**設定共用的 Amazon S3 資料存取**

1. 在**設定 Amazon S3 資料存取**頁面上，選取**選擇 Amazon S3 位置**。

1. 在**選擇 Amazon S3 位置**中，在搜尋列輸入您的 Amazon S3 儲存貯體名稱，或選取您的 Amazon S3 儲存貯體、字首或 Amazon S3 檔案，然後選擇**新增已選取**。然後，選擇**新增位置**。
**注意**  
我們建議選擇儲存大部分物件和字首的頂層資料夾，以便資料擁有者不需要重新設定要共用的字首或物件。

1. 在**組態詳細資訊**中，選擇您的**申請者付款**組態。您有兩個選項：
   + **啟用申請者付款 ***（建議）* – 申請者將支付 Amazon S3 儲存貯體中的所有請求和轉移。我們建議您使用此選項，因為它有助於防止接收者請求和傳輸的意外成本。
   + **停用申請者付款** – 您需為 Amazon S3 儲存貯體中的接收者請求和轉移付費。

     如需**申請者付款**的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*[》中的申請者付款儲存貯體中的物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ObjectsinRequesterPaysBuckets.html)。

1. 選取最符合您需求的**儲存貯體政策**。選擇**一般**，以針對整個 Amazon S3 儲存貯體使用一個儲存貯體政策。這是一次性組態，未來共用字首或物件不需要額外的組態。選擇**特定**以使用特定於所選 Amazon S3 位置的儲存貯體政策。您共用的 Amazon S3 儲存貯體需要儲存貯體政策，才能成功建立 Amazon S3 資料存取資料集，且無法啟用 ACLs。

   1. 若要停用 ACLs，請導覽至您的儲存貯體許可，並將**物件擁有權**設定為**強制執行的儲存貯體擁有者**。

   1. 若要新增儲存貯體政策，請將儲存貯體陳述式複製到剪貼簿。在 Amazon S3 主控台的 **Amazon S3 許可**索引標籤中，選擇**儲存貯體政策**區段中的**編輯**、將儲存貯體政策貼入陳述式，以及**儲存變更**。

1. 如果 Amazon S3 儲存貯體包含使用 AWS KMS 客戶受管金鑰加密的物件，您必須與 共用所有這類 KMS 金鑰 AWS Data Exchange。如需使用 KMS 金鑰加密 Amazon S3 儲存貯體中物件時所需先決條件的相關資訊，請參閱 [在 中發佈 AWS Data Exchange 包含 Amazon S3 資料存取的產品](publish-s3-data-access-product.md)。若要與 共用這些 KMS 金鑰 AWS Data Exchange，請執行下列動作：

   1. 在**設定 Amazon S3 資料存取**頁面的客戶**受管 KMS 金鑰**中，選取**從 中選擇 AWS KMS keys**或**輸入 AWS KMS key ARN**，然後選取**AWS KMS keys**所有目前用來加密 Amazon S3 共用位置的 。 AWS Data Exchange 使用這些 KMS 金鑰為收件人建立存取共用位置的授予。如需詳細資訊，請參閱 [中的授與 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。
**注意**  
AWS KMS 每個 KMS 金鑰有 50，000 個授予的限制，包括預先存在的授予。

1. 檢閱您的 Amazon S3 位置、選取的 KMS 金鑰和組態詳細資訊，然後選擇**儲存並繼續**。

## 步驟 3：檢閱並完成資料集
<a name="data-grant-review-finalize-s3-data-set-product"></a>

檢閱並完成您新建立的資料集。如果您想要建立和新增另一個 Amazon S3 資料存取權，以共用對其他 Amazon S3 儲存貯體、字首、物件的存取權，請選擇**新增另一個 Amazon S3 資料存取權**。

**注意**  
我們建議您在需要共用對 Amazon S3 儲存貯體中託管資料的存取權時，與先前在初始 Amazon S3 資料存取中挑選的資料存取權時這麼做。

如果您想要在發佈之前進行變更，您可以選擇儲存草稿，將資料集**儲存為草稿**。然後，選擇**完成資料集**，將其新增至您的資料授權。

## 步驟 4：建立新的資料授權
<a name="data-grant-add-s3-data-set-to-existing-product"></a>

建立至少一個資料集並使用資產完成修訂後，您就可以使用該資料集作為資料授予的一部分。

**建立新的資料授權**

1. 在[AWS Data Exchange 主控台](https://console.aws.amazon.com/dataexchange)的左側導覽窗格中，**於交換資料授權**下，選擇**傳送資料授權**。

1. 從**傳送的資料授權**中，選擇**建立資料授權**以開啟**定義資料授權**精靈。

1. 在**選取擁有的資料集**區段中，選取您要新增之資料集旁的核取方塊。
**注意**  
您選擇的資料集必須具有最終修訂。沒有最終修訂的資料集無法新增至資料授權。  
與共用的資料產品中包含的資料集不同 AWS Marketplace，新增至資料授權的資料集沒有修訂存取規則，這表示資料授權的接收者一旦核准，將有權存取特定資料集的所有最終修訂 （包括在資料授權建立之前完成的歷史修訂）。

1. 在**授予概觀**區段中，輸入收件人將看到的資料授予相關資訊，包括**資料授予名稱**和**資料授予描述**。

1. 選擇**下一步**。

   如需詳細資訊，請參閱[中的產品最佳實務 AWS Data Exchange](product-details.md)。

1. 在**收件人存取資訊**區段的 **AWS 帳戶 ID** 下，輸入應接收資料授權的收件人帳戶 AWS 帳戶 ID。

1. 在**存取結束日期**下，選取資料授權應過期的特定結束日期，或者，如果授權應永久存在，請選取**無結束日期**。

1. 選擇**下一步**。

1. 在**檢閱和傳送**區段中，檢閱您的資料授權資訊。

1. 如果您確定要建立資料授權並將其傳送給所選的收件人，請選擇**建立並傳送資料授權**。

您現在已完成建立資料授權的手動部分。資料授權會顯示在**已傳送資料授權**頁面上的已**傳送資料授權**索引標籤上，顯示其狀態為**待接受**，直到收件人帳戶接受為止。