本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
存取控制
若要建立、更新、刪除或列出 AWS Data Exchange 資源,您需要許可才能執行操作並存取對應的資源。若要以程式設計方式執行操作,您也需要有效的存取金鑰。
管理 AWS Data Exchange 資源存取許可概觀
每個 AWS 資源都由 擁有 AWS 帳戶,而建立或存取資源的許可受許可政策的約束。帳戶管理員可以將許可政策連接至使用者、群組和角色。某些服務 (例如 AWS Lambda) 還支援將許可政策附加至資源。
注意
「帳戶管理員」 (或管理員) 是具有管理員權限的使用者。如需詳細資訊,請參閱IAM最佳實務 。
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
IAM 透過身分提供者在 中管理的使用者:
建立聯合身分的角色。請遵循 IAM 使用者指南 中為第三方身分提供者 (聯合) 建立角色的指示。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。請遵循 IAM 使用者指南 中為IAM使用者建立角色的指示。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循 IAM 使用者指南 中將許可新增至使用者 (主控台) 的指示。
-
AWS Data Exchange 資源和操作
在 中 AWS Data Exchange,有兩種不同類型的主要資源具有不同的控制平面:
-
的主要資源 AWS Data Exchange 是資料集和任務 。 AWS Data Exchange 也支援修訂和資產 。
-
為了促進提供者和訂閱者之間的交易, AWS Data Exchange 也會使用 AWS Marketplace 概念和資源,包括產品、優惠和訂閱。您可以使用 AWS Marketplace 目錄API或 AWS Data Exchange 主控台來管理您的產品、優惠、訂閱請求和訂閱。
了解資源所有權
AWS 帳戶 擁有在帳戶中建立的資源,無論誰建立資源。具體而言,資源擁有者是驗證資源建立請求 AWS 帳戶 的主要實體 (即 AWS 帳戶 根使用者、使用者或角色) 的 。下列範例說明其如何運作。
資源擁有權
AWS 帳戶 具有正確許可的任何IAM實體都可以建立 AWS Data Exchange 資料集。當IAM實體建立資料集時,其 AWS 帳戶 擁有該資料集。發佈的資料產品可以包含僅由建立它們的 擁有 AWS 帳戶 的資料集。
若要訂閱 AWS Data Exchange 產品,IAM實體除了 aws-marketplace:subscribe
、 aws-marketplace:aws-marketplace:CreateAgreementRequest
和 的許可外 AWS Data Exchange,還需要使用 aws-marketplace:AcceptAgreementRequest
IAM的許可 AWS Marketplace (假設其通過任何相關的訂閱驗證)。作為訂閱者,您的帳戶具有對授權資料集的讀取存取權;但是,它不擁有授權資料集。任何匯出至 Amazon S3 的已授權資料集,都屬於訂閱者的 。 AWS 帳戶
管理資源存取
本節討論在 內容IAM中使用 AWS Data Exchange。它不會提供有關 IAM服務的詳細資訊。如需完整IAM文件,請參閱 使用者指南 中的什麼是 IAM?。 IAM 如需IAM政策語法和描述的相關資訊,請參閱 IAM 使用者指南 中的AWSIAM政策參考。
許可政策描述誰可以存取哪些資源。以下部分說明用來建立許可政策的選項。
連接到IAM身分的政策稱為身分型政策 (IAM 政策)。連接至資源的政策稱為資源型政策。 僅 AWS Data Exchange 支援身分型政策 (IAM 政策)。
身分型政策和許可
AWS Data Exchange 提供四個受管政策:
-
AWSDataExchangeFullAccess
-
AWSDataExchangeSubscriberFullAccess
-
AWSDataExchangeProviderFullAccess
-
AWSDataExchangeReadOnly
如需這些政策及其許可的詳細資訊,請參閱 AWS 的 受管政策 AWS Data Exchange。
Amazon S3 許可
從 Amazon S3 匯入資產至 時 AWS Data Exchange,您需要許可才能寫入 AWS Data Exchange 服務 S3 儲存貯體。同樣地,從 匯出資產 AWS Data Exchange 至 Amazon S3 時,您需要許可才能從 AWS Data Exchange 服務 S3 儲存貯體讀取。這些許可包含在上述政策中,但您也可以建立自己的政策,只允許使用者能夠執行的操作。您可以將這些許可範圍限制為名稱aws-data-exchange
中包含的儲存貯體,並使用 CalledVia 許可來限制使用 許可給 AWS Data Exchange 代表委託人提出的請求。
例如,您可以建立允許匯入和匯出 AWS Data Exchange 包含這些許可的政策。
{ "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 服務儲存貯體讀取。 -
這些許可僅限於 AWS Data Exchange 搭配 IAM
CalledVia
條件使用 提出的請求。這允許 S3PutObject
許可僅用於 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。
-
若要建立 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 使用者指南 中的身分 (使用者、群組和角色)。
資源型政策
AWS Data Exchange 不支援資源型政策。
其他服務,例如 Amazon S3,都支援資源型許可政策。例如,您可以將政策連接至 S3 儲存貯體,以管理該儲存貯體的存取許可。
指定政策元素:動作、效果和主體
若要使用 AWS Data Exchange,必須在IAM政策中定義您的使用者許可。
以下是最基本的政策元素:
-
資源 – 在政策中,您可以使用 Amazon Resource Name (ARN) 來識別政策適用的資源。所有 AWS Data Exchange API操作都支援資源層級許可 (RLP),但 AWS Marketplace 動作不支援 RLP。如需詳細資訊,請參閱AWS Data Exchange 資源和操作。
-
動作:使用動作關鍵字識別您要允許或拒絕的資源操作。
-
效果 – 當使用者請求特定動作時,您可以指定效果 (允許或拒絕)。如果您未明確授予存取 (允許) 資源,則隱含地拒絕存取。您也可以明確拒絕資源存取,這樣做可確保使用者無法存取資源,即使不同政策授予存取也是一樣。
-
主體 – 在身分型政策 (IAM 政策) 中,附加政策的使用者是隱含主體。對於資源型政策,您可以指定要接收許可的使用者、帳戶、服務或其他實體 (僅適用於資源型政策)。 AWS Data Exchange 不支援資源型政策。
如需IAM政策語法和描述的詳細資訊,請參閱 IAM 使用者指南 中的AWSIAM政策參考。
在政策中指定條件
當您授予許可時,您可以使用IAM政策語言來指定政策何時生效的條件。透過 AWS Data Exchange, CreateJob
、GetJob
、 StartJob
和 CancelJob
API操作支援條件式許可。您可以在 JobType
層級提供許可。
條件金鑰 | Description (描述) | Type |
---|---|---|
"dataexchange:JobType":"IMPORT_ASSETS_FROM_S3" |
涵蓋從 Amazon S3 匯入資產之任務的許可。 | 字串 |
|
範圍從 AWS Lake Formation 匯入資產的任務許可 (預覽) | 字串 |
"dataexchange:JobType":"IMPORT_ASSET_FROM_SIGNED_URL" |
範圍從已簽署 匯入資產的任務許可URL。 | 字串 |
"dataexchange:JobType":"IMPORT_ASSET_FROM_REDSHIFT_DATA_SHARES" |
範圍涵蓋從 Amazon Redshift 匯入資產之任務的許可。 | 字串 |
"dataexchange:JobType":"IMPORT_ASSET_FROM_API_GATEWAY_API" |
涵蓋從 Amazon API Gateway 匯入資產之任務的許可。 | 字串 |
"dataexchange:JobType":"EXPORT_ASSETS_TO_S3" |
範圍允許將資產匯出至 Amazon S3 的任務。 | 字串 |
"dataexchange:JobType":"EXPORT_ASSETS_TO_SIGNED_URL" |
範圍允許將資產匯出至已簽署 的任務URL。 | 字串 |
"dataexchange:JobType":EXPORT_REVISIONS_TO_S3" |
範圍允許將修訂匯出至 Amazon S3 的任務。 | 字串 |
如需以政策語言指定條件的詳細資訊,請參閱 IAM 使用者指南 中的條件。
若要表達條件,您可以使用預先定義的條件金鑰。 AWS Data Exchange 具有API操作JobType
的條件。不過,您可以 AWS 視需要使用各種條件金鑰。如需 AWS 全鍵的完整清單,請參閱 IAM 使用者指南。