存取控制 - AWS Data Exchange 使用者指南

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

存取控制

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

管理 AWS Data Exchange 資源存取許可概觀

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

注意

「帳戶管理員」 (或管理員) 是具有管理員權限的使用者。如需詳細資訊,請參閱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:subscribeaws-marketplace:aws-marketplace:CreateAgreementRequest和 的許可外 AWS Data Exchange,還需要使用 aws-marketplace:AcceptAgreementRequestIAM的許可 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:PutObjects3: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 搭配 IAMCalledVia條件使用 提出的請求。這允許 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。

  • 若要建立 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, CreateJobGetJobStartJobCancelJobAPI操作支援條件式許可。您可以在 JobType層級提供許可。

AWS Data Exchange 條件索引鍵參考
條件金鑰 Description (描述) Type
"dataexchange:JobType":"IMPORT_ASSETS_FROM_S3" 涵蓋從 Amazon S3 匯入資產之任務的許可。 字串
"dataexchange:JobType":IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY" (Preview) 範圍從 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 使用者指南