使用 Lake Formation 標籤式存取控制和具名資源共用資料湖 - AWS Lake Formation

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

使用 Lake Formation 標籤式存取控制和具名資源共用資料湖

本教學課程示範如 AWS Lake Formation 何設定為與多家公司、組織或業務單位安全地共用儲存在資料湖中的資料,而不必複製整個資料庫。有兩個選項可 AWS 帳戶 透過使用 Lake Formation 跨帳戶存取控制與其他人共用您的資料庫和資料表:

  • 基於 Lake Formation 標籤的訪問控制(推薦)

    以 Lake Formation 標籤為基礎的存取控制是一種授權策略,可根據屬性定義權限。在 Lake Formation,這些屬性被稱為 LF- 標籤。如需更多詳細資訊,請參閱 使用以 Lake Formation 標籤為基礎的存取控制來管理資料湖

  • Lake Formation 命名資源

    名為資源方法的 Lake Formation 是一種定義資源權限的授權策略。資源包括資料庫、資料表和資料行。資料湖管理員可以指派和撤銷 Lake Formation 資源的權限。如需更多詳細資訊,請參閱 Lake Formation 的跨賬戶數據共享

    如果資料湖管理員偏好明確授與個別資源的權限,我們建議您使用具名資源。當您使用具名的資源方法將資料目錄資源的 Lake Formation 權限授與外部帳號時,Lake Formation 會使用 AWS Resource Access Manager (AWS RAM) 來共用資源。

目標對象

本教學課程適用於資料管理員、資料工程師和資料分析師。在 Lake Formation 中共用資料目錄表格 AWS Glue 和管理權限時,生產帳戶內的資料管理員會根據其支援的功能擁有功能所有權,並且可以授予各種消費者、外部組織和帳戶的存取權。下表列出了本教學課程中使用的角色:

角色 描述
DataLakeAdminProducer 資料湖管理員IAM使用者具有下列存取權:
  • 對資料目錄中所有資源的完整讀取、寫入和更新存取

  • 授予資源權限的能力

  • 可以建立共用資料表的資源連結

  • 可以將 LF 標籤附加至資源,此資源可根據資料管理員建立的任何原則,提供對主參與者的存取

DataLakeAdminConsumer

資料湖管理員IAM使用者具有下列存取權:

  • 對資料目錄中所有資源的完整讀取、寫入和更新存取

  • 授予資源權限的能力

  • 可以建立共用資料表的資源連結

  • 可以將 LF 標籤附加至資源,此資源可根據資料管理員建立的任何原則,提供對主參與者的存取

DataAnalyst DataAnalyst 使用者具有下列存取權:
  • 對基於 Lake Formation 標籤的訪問策略或使用命名資源方法共享的資源進行細粒度訪問

在生產者帳戶中設定 Lake Formation 資料目錄設定

在開始本教學課程之前,您必須擁有 AWS 帳戶 可用來以具有正確權限的系統管理使用者身分登入。如需詳細資訊,請參閱完成初始 AWS 設定工作

本自學課程假設您已熟悉IAM。若要取得有關資訊IAM,請參閱《IAM使用指南》

在生產者帳戶中設定 Lake Formation 資料目錄設定
注意

在本教學課程中,具有來源資料表的帳戶稱為生產者帳戶,而需要存取來源資料表的帳戶稱為消費者帳戶。

Lake Formation 提供了自己的許可管理模型。為了維持與IAM權限模型的回溯相容性,依預設,會將Super權限授與給所有現有 AWS Glue Data Catalog 資源IAMAllowedPrincipals上的群組。此外,新資料目錄資源也會啟用「僅使用IAM存取控制」設定。本教學課程使用 Lake Formation 權限的精細存取控制,並使用IAM原則進行粗粒度存取控制。如需詳細資訊,請參閱 細粒度存取控制的方法。因此,在您使用 AWS CloudFormation 範本進行快速設定之前,您需要在生產者帳戶中變更 Lake Formation 資料目錄設定。

重要

此設定會影響所有新建立的資料庫和資料表,因此我們強烈建議您在非生產帳戶或新帳戶中完成此教學課程。此外,如果您使用的是共用帳戶 (例如貴公司的開發帳戶),請確定該帳戶不會影響其他資源。如果您想要保留預設的安全性設定,則在與其他帳戶共用資源時,必須完成額外的步驟,在此步驟中撤銷資料庫或表格IAMAllowedPrincipals上的預設「超級」權限。我們在本教程後面討論的細節。

若要在生產者帳戶中設定 Lake Formation 資料目錄設定,請完成以下步驟:

  1. 以管理員 AWS Management Console 用戶或具有 Lake Formation PutDataLakeSettings API 權限的用戶身份登錄使用生產者帳戶。

  2. 在「Lake Formation」主控台的導覽窗格的「資料目錄」下,選擇「設定」。

  3. 取消選IAM取僅對新資料庫使用存取控制和僅對新資料庫中的新資料表使用IAM存取控

    選擇 Save (儲存)。

    Data catalog settings interface for AWS Lake Formation with permission options.

    此外,您可以IAMAllowedPrincipals在 [系統管理角色和工作] [資料庫建立者] 下移除CREATE_DATABASE權限。只有這樣,您才能透過 Lake Formation 權限管理可以建立新資料庫的使用者。

步驟 1:使用 AWS CloudFormation 範本佈建資源

製作者帳號的 CloudFormation 範本會產生下列資源:

  • 作為資料湖使用的 Amazon S3 儲存貯體。

  • Lambda 函數 (適用於支援 Lambda 的 AWS CloudFormation 自訂資源)。我們使用該函數將範例資料檔案從公有 Amazon S3 儲存貯體複製到您的 Amazon S3 儲存貯體。

  • IAM使用者和策略: DataLakeAdminProducer。

  • 適當的 Lake Formation 設置和權限包括:

    • 在生產者帳戶中定義 Lake Formation 資料湖管理員

    • 將 Amazon S3 儲存貯體註冊為 Lake Formation 資料湖位置 (生產者帳戶)

  • 資 AWS Glue Data Catalog 料庫、資料表和磁碟分割。由於共用資源有兩個選項 AWS 帳戶,因此此範本會建立兩組獨立的資料庫和資料表。

消費者帳戶的 AWS CloudFormation 範本會產生下列資源:

  • IAM使用者和策略:

    • DataLakeAdminConsumer

    • DataAnalyst

  • 資 AWS Glue Data Catalog 料庫。此資料庫用於建立共用資源的資源連結。

在生產者帳戶中建立您的資源
  1. 在美國東部 (維吉尼亞北部) 區域的 https://console.aws.amazon.com/cloudFormation 登入 AWS CloudFormation 主控台。

  2. 選擇啟動堆疊

  3. 選擇 Next (下一步)

  4. 堆疊名稱中,輸入堆疊名稱,例如stack-producer

  5. 在「使用者組態」區段中,輸入和的使用者名稱ProducerDatalakeAdminUserName和密碼ProducerDatalakeAdminUserPassword

  6. 在中 DataLakeBucketName,輸入資料湖值區的名稱。此名稱必須是全域唯一的。

  7. 對於DatabaseNameTableName,保留預設值。

  8. 選擇 Next (下一步)

  9. 在下一頁上,選擇 [下一步]。

  10. 檢閱最後一頁的詳細資訊,然後選取 [我確認 AWS CloudFormation 可能會建立IAM資源]。

  11. 選擇 Create (建立)。

    堆疊建立最多可能需要一分鐘的時間。

在消費者帳戶中建立資源
  1. 在美國東部 (維吉尼亞北部) 區域的 https://console.aws.amazon.com/cloudFormation 登入 AWS CloudFormation 主控台。

  2. 選擇啟動堆疊

  3. 選擇 Next (下一步)

  4. 堆疊名稱中,輸入堆疊名稱,例如stack-consumer

  5. 在「使用者組態」區段中,輸入和的使用者名稱ConsumerDatalakeAdminUserName和密碼ConsumerDatalakeAdminUserPassword

  6. DataAnalystUserName和中DataAnalystUserPassword,輸入資料分析師使用者所需的IAM使用者名稱和密碼。

  7. 在中 DataLakeBucketName,輸入資料湖值區的名稱。此名稱必須是全域唯一的。

  8. 對於 DatabaseName,保留預設值。

  9. 對於AthenaQueryResultS3BucketName,輸入存放亞馬遜雅典娜查詢結果的 Amazon S3 儲存貯體的名稱。如果您沒有儲存貯體,請建立一個 Amazon S3 儲存貯體

  10. 選擇 Next (下一步)

  11. 在下一頁上,選擇 [下一步]。

  12. 檢閱最後一頁的詳細資訊,然後選取 [我確認 AWS CloudFormation 可能會建立IAM資源]。

  13. 選擇 Create (建立)。

    堆疊建立最多可能需要一分鐘的時間。

注意

完成教學課程後,請刪除中的堆疊 AWS CloudFormation 以避免產生費用。確認已成功刪除堆疊事件狀態中的資源。

步驟 2:Lake Formation 跨帳戶共享的先決條件

在與 Lake Formation 共用資源之前,基於標籤的存取控制方法和具名資源方法都有先決條件。

完整的標籤式存取控制跨帳戶資料共用先決條件
  • 如需跨帳戶資料共用需求的詳細資訊,請參閱跨帳戶資料共用一章中的必要條件章節。

    若要與跨帳戶版本設定的第 3 版或更新版本共用資料目錄資源,授與者需要具有帳戶中 AWS 受管理策略AWSLakeFormationCrossAccountManager中定義的IAM權限。

    如果您使用的是第 1 版或第 2 版的交叉帳戶版本設定,則必須先將下列權限物件新增至生產者帳號中的資料目錄資源策略,才能使用以標籤為基礎的存取控制方法授與跨帳戶存取JSON權限。這會在成立時授予取用者帳戶存取資料目錄glue:EvaluatedByLakeFormationTags的權限。此外,對於您使用 Lake Formation 權限標籤向消費者帳戶授予權限的資源,此情況也成為真。您要授與權限的每 AWS 帳戶 個項目都需要此原則。

    下列策略必須位於Statement元素內。我們在下一節討論完整的IAM政策。

    { "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": [ "consumer-account-id" ] }, "Resource": [ "arn:aws:glue:region:account-id:table/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": true } } }
完成具名資源方式跨帳戶共用先決條件
  1. 如果您的帳號中沒有資料目錄資源政策,則 Lake Formation 跨帳戶會授予您照常進行的操作。但是,如果資料目錄資源策略存在,您必須在其中新增下列陳述式,以允許跨帳戶授權在使用具名資源方法建立時成功。如果您計劃只使用具名的資源方法,或僅使用以標籤為基礎的存取控制方法,則可以略過此步驟。在本教程中,我們評估這兩種方法,我們需要添加以下策略。

    下列策略必須位於Statement元素內。我們在下一節討論完整的IAM政策。

    { "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": { "Service":"ram.amazonaws.com" }, "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ] }
  2. 接下來,使用 AWS Command Line Interface (AWS CLI) 新增 AWS Glue Data Catalog 資源策略。

    如果您同時使用以標籤為基礎的存取控制方法和具名的資源方法來授與跨帳戶權限,則在新增前述原則時必須將EnableHybrid引數設定為「true」。由於主控台目前不支援此選項,因此您必須使用glue:PutResourcePolicyAPI和 AWS CLI。

    首先,建立政策文件 (例如 policy.json),並新增前兩個政策。Replace (取代) consumer-account-idaccount ID AWS 帳戶 接受授予的,region 包含您要授與權限的資料庫和資料表的資料目錄區域,以及 account-id 與生產者 AWS 帳戶 ID。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ram.amazonaws.com" }, "Action": "glue:ShareResource", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ] }, { "Effect": "Allow", "Principal": { "AWS": "region:account-id" }, "Action": "glue:*", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": "true" } } } ] }

    輸入以下 AWS CLI 命令。Replace (取代) glue-resource-policy 使用正確的值(例如文件://政策 .json)。

    aws glue put-resource-policy --policy-in-json glue-resource-policy --enable-hybrid TRUE

    如需詳細資訊,請參閱put-resource-policy。

步驟 3:使用以標籤為基礎的存取控制方法,實作跨帳戶共用

在本節中,我們將引導您完成下列高階步驟:

  1. 定義 LF 標籤。

  2. 將 LF 標籤指派給目標資源。

  3. 將 LF 標籤權限授予消費者帳戶。

  4. 將資料權限授與消費者帳戶。

  5. 您也可以選擇撤銷資料庫、資料表和資料行的權限。IAMAllowedPrincipals

  6. 建立共用資料表的資源連結。

  7. 創建一個 LF 標籤並將其分配給目標數據庫。

  8. 將 LF 標籤資料權限授予消費者帳戶。

定義 LF 標籤
注意

如果您已登入製作者帳戶,請先登出,然後再完成以下步驟。

  1. 以資料湖管理員身分登入生產者帳戶,位於https://console.aws.amazon.com/lakeformation/。使用您在 AWS CloudFormation 堆疊建立期間指定的生產IAM者帳號、使用者名稱 (預設值為DatalakeAdminProducer) 和密碼。

  2. 在 Lake Formation 主控台 (https://console.aws.amazon.com/lakeformation/) 的導覽窗格的 [權限] 下,選擇 [LF-標籤和權限]。

  3. 選擇「新增 LF 標籤」。

將 LF 標籤分配給目標資源

將 LF 標籤分配給目標資源,並將數據權限授予另一個帳戶

身為資料湖管理員,您可以將標籤附加至資源。如果您打算使用單獨的角色,則可能必須授予描述並將權限附加到單獨的角色。

  1. 在導覽窗格的 [資料目錄] 下,選取 [資料]。

  2. 選取目標資料庫,(lakeformation_tutorial_cross_account_database_tbac)然後在 [動作] 功能表上選擇 [編輯 LF 標籤]。

    在本教學課程中,您將 LF 標籤指派給資料庫,但也可以將 LF 標籤指派給資料表和資料行。

  3. 選擇「指派新 LF 標籤」。

  4. 添加鍵Confidentiality和值public

  5. 選擇 Save (儲存)。

向消費者帳戶授予 LF 標籤權限

仍在生產者帳戶中,授予消費者帳戶訪問 LF 標籤的權限。

  1. 在功能窗格的 [權限] 下,選擇 [LF 標籤和權限]。

  2. 選擇 LF 標籤,然後選擇與消費者帳戶共用的 LF 標籤的索引鍵和 (金鑰Confidentiality和值)。 public

  3. 選擇 授予許可

  4. 對於權限類型,請選擇 LF-標籤鍵值對權限。

  5. 針對主參與者,選擇外部帳戶

  6. 輸入目標 AWS 帳戶 ID

    AWS 帳戶 在同一個組織內會自動顯示。否則,您必須手動輸入 AWS 帳戶 ID。

  7. 在「權限」下選取「描述」。

    這是授予消費者帳戶的權限。可授與的權限是取用者帳戶可以授與其他主體的權限。

  8. 選擇 Grant (授予)。

    此時,消費者資料湖系統管理員應該能夠在 [權限]、[L f-標籤] 和 [權限] 下,找到透過使用者帳戶 Lake Formation 主控台共用的原則標籤

將資料權限授予消費者帳戶

現在,我們將透過指定 LF-tag 運算式,並授與取用者帳戶對符合運算式的任何資料表或資料庫的存取權,來提供對消費者帳戶的資料存取權。

  1. 在功能窗格的 [限] 下的 [資料湖權限] 下,選擇 [授與]。

  2. 對於主參與者,請選擇外部帳戶,然後輸入目標 AWS 帳戶 ID。

  3. 對於 LF 標籤或目錄資源,請選擇與消費者帳戶共用的 LF 標籤的索引鍵和 (索引鍵Confidentiality和值)。 public

  4. 對於「權限」,在「由 LF 標籤匹配的資源(推薦)」下選擇「添加 LF 標籤」。

  5. 選取與消費者帳戶共用之標籤的金鑰和 (金鑰Confidentiality和值public)。

  6. 對於資料庫權限,請選取 [資料庫權限] 下的 [說明] 以授與資料庫層級的存取權限

  7. 消費者資料湖系統管理員應該能夠在 Lake Formation 主控台的 [權限] https://console.aws.amazon.com/lakeformation/、[系統管理角色和工作 LF- tag] 下,找到透過使用者帳戶共用的原則標記。

  8. 選取 [可授與權限] 下的 [說明],讓消費者帳戶可以將資料庫層級權限授與其使用者。

  9. 對於資料表和資料行權限,請選表格權限下的選取說明

  10. 取 [可授與權限] 下的 [選取說明]。

  11. 選擇 Grant (授予)。

撤銷資料庫、IAMAllowedPrincipals資料表和資料行的權限 (選擇性)。

在本自學課程的開始時,您已變更「Lake Formation 資料目錄」設定。如果您跳過該零件,則需要執行此步驟。如果您變更了 Lake Formation 資料目錄設定,則可以略過此步驟。

在此步驟中,我們需要撤銷數據庫或表格IAMAllowedPrincipals上的默認 S uper 權限。如需詳細資訊,請參閱 步驟 4:將資料存放區切換至 Lake Formation 型權限模型

在撤銷權限之前IAMAllowedPrincipals,請確定您已透過 Lake Formation 授IAM與必要權限的現有主體。這包括三個步驟:

  1. 透過「Lake Formation」GetDataAccess 動作 (含IAM原則),將IAM權限新增至目標IAM使用者或角色。

  2. 授與具有 Lake Formation 資料權限的目標IAM使用者或角色 (更改、選取等)。

  3. 然後,撤銷的權限IAMAllowedPrincipals。否則,在撤銷的權限之後IAMAllowedPrincipals,現有的IAM主體可能無法再存取目標資料庫或資料目錄。

    如果您想要套用 IAMAllowedPrincipals Lake Formation 權限模型 (而非IAM原則模型),以管理單一帳戶內或使用 Lake Formation 權限模型的多個帳戶之間的使用者存取,則需要撤銷的級權限。您不IAMAllowedPrincipals需要撤銷要保留傳統IAM原則模型之其他表格的權限。

    此時,消費者帳戶資料湖管理員應該能夠找到透過 Lake Formation 主控台上的使用者帳戶共用的資料庫和表格 https://console.aws.amazon.com/lakeformation/,位於資料目錄下的資料庫和表格。如果沒有,請確認下列項目是否已正確設定:

    1. 正確的原則標記和值會指派給目標資料庫和表格。

    2. 正確的標籤權限和數據權限被分配給消費者帳戶。

    3. 撤銷資料庫或資料表IAMAllowedPrincipals的預設超級權限。

建立共用資料表的資源連結

在帳號之間共用資源,且共用資源未放入用戶帳戶的「資料目錄」時。為了使它們可用,並使用 Athena 等服務查詢共享表的基礎數據,我們需要創建一個指向共享表的資源鏈接。資源連結是指向本機或共用資料庫或表格的連結的資料目錄物件。如需詳細資訊,請參閱 建立資源連結。透過建立資源連結,您可以:

  • 為符合「資料目錄」資源命名原則的資料庫或表格指定不同的名稱。

  • 使用 Athena 和 Redshift 頻譜等服務來查詢共用的資料庫或資料表。

若要建立資源連結,請完成以下步驟:

  1. 如果您已登入消費者帳戶,請登出。

  2. 以消費者帳戶資料湖管理員身分登入。使用您在 AWS CloudFormation 堆疊建立期間指定的消費IAM者帳戶 ID、使用者名稱 (預設值 DatalakeAdminConsumer) 和密碼。

  3. 在 Lake Formation 主控台 (https://console.aws.amazon.com/lakeformation/) 的導覽窗格的「資料目錄」下,選擇共用資料庫lakeformation_tutorial_cross_account_database_tbac

    如果您沒有看到資料庫,請重新瀏覽上述步驟,以查看是否所有項目都已正確設定。

  4. 選擇「檢視表格」。

  5. 選擇共用資料表amazon_reviews_table_tbac

  6. 在 [動作] 功能表上,選擇 [建立資源連結]。

  7. 對於資源連結名稱,請輸入名稱 (在此自學課程中,請參閱amazon_reviews_table_tbac_resource_link)。

  8. 在 [資料庫] 下,選取建立資源連結的資料庫 (針對此貼文,建立資料庫的 AWS CloudFormation n 個堆疊lakeformation_tutorial_cross_account_database_consumer)。

  9. 選擇 Create (建立)。

    資源連結會顯示在「資料目錄」的「表格」下。

創建一個 LF 標籤並將其分配給目標數據庫

Lake Formation 標籤與資源位於相同的「資料目錄」中。這表示在授與取用者帳戶中資源連結的存取權時,無法使用在生產者帳號中建立的標籤。在使用者帳戶中共用資源連結時,您需要在使用者帳戶中建立一組個別的 LF 標籤,才能使用以 LF 標籤為基礎的存取控制。

  1. 定義消費者帳戶中的 LF 標籤。在本教學課程中,我們使用鍵Division和值salesmarketing、和analyst

  2. 將 LF-tag 鍵Division和值指派analyst給建立資源連結的資料庫lakeformation_tutorial_cross_account_database_consumer

向消費者授予 LF 標籤數據權限

作為最後一步,將 LF 標籤數據許可授予消費者。

  1. 在功能窗格的 [限] 下的 [資料湖權限] 下,選擇 [授與]。

  2. 對於主參與者,請選擇使IAM用者和角色,然後選擇使用者DataAnalyst

  3. 對於 LF 標籤或目錄資源,請選擇「符合 LF 標籤的資源」(建議選項)。

  4. 選擇關鍵部門和價值分析師。

  5. 對於資料庫權限,請選取資料庫權限下的描述

  6. 對於資料表和資料行權限,請選表格權限下的選取說明

  7. 選擇 Grant (授予)。

  8. 對 LF 標籤鍵所在DataAnalystConfidentiality且值為的使用者重複這些步驟。public

    此時,消費者帳戶中的資料分析師使用者應該能夠找到資料庫和資源連結,並透過 Athena 主控台查詢共用資料表,位於https://console.aws.amazon.com/athena/。如果沒有,請確認下列項目是否已正確設定:

    • 即會針對共用表格建立資源連結

    • 您授予用戶訪問生產者帳戶共享的 LF 標籤

    • 您授與使用者存取與資源連結建立資源連結的資源連結和資料庫相關聯的 LF 標籤

    • 檢查您是否將正確的 LF 標籤指定給資源連結,以及建立資源連結的資料庫

第 4 步:實現指定的資源方法

若要使用指定的資源方法,我們會引導您完成下列高階步驟:

  1. 您也可以選擇撤銷資料庫、資料表和資料行的權限。IAMAllowedPrincipals

  2. 將資料權限授與消費者帳戶。

  3. 接受來源的資源共用 AWS Resource Access Manager。

  4. 建立共用資料表的資源連結。

  5. 將共用資料表的資料權限授與取用者。

  6. 將資源連結的資料權限授與取用者。

撤銷資料庫、IAMAllowedPrincipals資料表和資料行的權限 (選擇性)
  • 在本自學課程開始時,我們變更了 Lake Formation 資料目錄設定。如果您跳過該零件,則需要執行此步驟。如需指示,請參閱上一節中的選用步驟。

將資料權限授予消費者帳戶
  1. 注意

    如果您以其他使用者身分登入製作者帳戶,請先登出。

    https://console.aws.amazon.com/lakeformation/使用在 AWS CloudFormation 堆疊建立期間指定的 AWS 帳戶 ID、使用IAM者名稱 (預設值為DatalakeAdminProducer) 和密碼,使用生產者帳戶資料湖管理員登入 Lake Formation 主控台。

  2. 在 [權限] 頁面的 [資料湖權限] 下,選擇 [授與]。

  3. 在「主參與者」下,選擇「外部帳戶」,然後輸入一 AWS 帳戶 IDs或多個 AWS 組織IDs。如需更多資訊,請參閱:AWS Organizations

    生產者帳號所屬且 AWS 帳戶 位於相同組織內的組織會自動出現。否則,請手動輸入帳號 ID 或組織 ID。

  4. 對於 LF 標籤或目錄資源,請選擇。Named data catalog resources

  5. 在「資料庫」下,選擇資料庫lakeformation_tutorial_cross_account_database_named_resource

  6. 選擇「新增 LF 標籤」。

  7. 表格下,選擇所有表格

  8. 對於表列權限選擇表權限下的選擇和描述

  9. 取「可授與權限」下的「選取說明」。

  10. 或者,對於資料權限,如果需要資料行層級權限管理,請選擇「簡單欄式存取」。

  11. 選擇 Grant (授予)。

如果您尚未撤銷的權限IAMAllowedPrincipals,則會收到「授予權限失敗」錯誤。此時,您應該在「權限」,「數據」權限下看到通過 AWS RAM 與消費者帳戶共享的目標表。

接受資源共用來源 AWS RAM
注意

此步驟僅適用 AWS 帳戶於以組織為基礎的共用,而不需要進行以組織為基礎的共用。

  1. 使用使用者帳戶資料湖管理員https://console.aws.amazon.com/connect/使用 AWS CloudFormation 堆疊建立期間指定的使用IAM者名稱 (預設值為 DatalakeAdminConsumer) 和密碼登入 AWS 主控台。

  2. 在 AWS RAM 主控台的導覽窗格的 [與我共用] 下的 [資源共用] 下,選擇共用的 Lake Formation 資源。「狀態」 應為「待處理」。

  3. 選擇「動作授權」。

  4. 確認資源詳細資訊,然後選擇 [接受資源共用]。

    此時,取用者帳戶資料湖管理員應該能夠在 Lake Formation 主控台 (https://console.aws.amazon.com/lakeformation/) 下的「資料目錄」,「資料」下找到共用資源。

建立共用資料表的資源連結
將共用資料表的資料權限授與取用者

若要將共用資料表的資料權限授與取用者,請完成下列步驟:

  1. 在 Lake 格式化主控台 (https://console.aws.amazon.com/lakeformation/) 的 [權限] 下的 [資料湖權] 下,選擇 [授與]。

  2. 對於主參與者,請選擇使IAM用者和角色,然後選擇使用者DataAnalyst

  3. 對於 LF 標籤或目錄資源,請選擇具名資料目錄資源。

  4. 在「資料庫」下,選擇資料庫lakeformation_tutorial_cross_account_database_named_resource。如果您在下拉式清單中沒有看到資料庫,請選擇 [載入更多]。

  5. 在「表格」下,選擇表格amazon_reviews_table_named_resource

  6. 對於資料表和資料行權限,請選表格權限下的選取說明

  7. 選擇 Grant (授予)。

將資源連結的資料權限授與取用者

除了授與資料湖使用者存取共用資料表的權限之外,您還需要授與資料湖使用者存取資源連結的權限。

  1. 在 Lake Formation 主控台 (https://console.aws.amazon.com/lakeformation/) 的 [權限] 下的 [資料湖權] 下,選擇 [授與]。

  2. 對於主參與者,請選擇使IAM用者和角色,然後選擇使用者DataAnalyst

  3. 對於 LF 標籤或目錄資源,請選擇具名資料目錄資源。

  4. 在「資料庫」下,選擇資料庫lakeformation_tutorial_cross_account_database_consumer。如果您在下拉式清單中沒有看到資料庫,請選擇 [載入更多]。

  5. 在「表格」下,選擇表格amazon_reviews_table_named_resource_resource_link

  6. 對於資源連結權限,請選取資源連結權限下的描述

  7. 選擇 Grant (授予)。

    此時,消費者帳戶中的資料分析師使用者應該能夠找到資料庫和資源連結,並透過 Athena 主控台查詢共用資料表。

    如果沒有,請確認下列項目是否已正確設定:

    • 即會針對共用表格建立資源連結

    • 您授與使用者存取由製作者帳戶共用的資料表

    • 您已將建立資源連結的資源連結和資料庫的存取權授與使用者

步驟 5:清理 AWS 資源

若要避免不必要的費用 AWS 帳戶,您可以刪除您在本教學課程中使用的 AWS 資源。

  1. https://console.aws.amazon.com/lakeformation/使用生產者帳戶登錄到 Lake Formation 控制台並刪除或更改以下內容:

    • AWS Resource Access Manager 資源共享

    • Lake Formation 標籤

    • AWS CloudFormation 堆疊

    • Lake Formation 設置

    • AWS Glue Data Catalog

  2. https://console.aws.amazon.com/lakeformation/使用消費者帳戶登錄到 Lake Formation 控制台並刪除或更改以下內容:

    • Lake Formation 標籤

    • AWS CloudFormation 堆疊