本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 AWS Glue 資源轉換為混合資源
請依照下列步驟,在混合存取模式中註冊 Amazon S3 位置,並加入新的 Lake Formation 使用者,而不會中斷現有 Data Catalog 使用者的資料存取。
案例描述 - 資料位置未向 Lake Formation 註冊,使用者對 Data Catalog 資料庫和資料表的存取取決於 Amazon S3 和 AWS Glue 動作的 IAM 許可政策。
根據預設, IAMAllowedPrincipals
群組具有資料庫中所有資料表的Super
許可。
為未向 Lake Formation 註冊的資料位置啟用混合存取模式
註冊啟用混合存取模式的 Amazon S3 位置。
- Console
-
-
以資料湖管理員身分登入 Lake Formation 主控台。
在導覽窗格中,選擇管理下的 Data lake 位置。
選擇註冊位置。
-
在註冊位置視窗中,選擇您要向 Lake Formation 註冊的 Amazon S3 路徑。
-
針對 IAM 角色,選擇AWSServiceRoleForLakeFormationDataAccess
服務連結角色 (預設) 或自訂 IAM
符合 中需求的 角色用於註冊位置的角色需求。
-
選擇混合存取模式,將精細的 Lake Formation 存取控制政策套用至指向註冊位置的選擇加入主體和 Data Catalog 資料庫和資料表。
選擇 Lake Formation 以允許 Lake Formation 授權對註冊位置的存取請求。
選擇註冊位置。
- AWS CLI
-
以下是使用 HybridAccessEnabled:true/false 向 Lake Formation 註冊資料位置的範例。HybridAccessEnabled
參數的預設值為 false。將 Amazon S3 路徑、角色名稱和 AWS 帳戶 ID 取代為有效值。
aws lakeformation register-resource --cli-input-json file:file path
json:
{
"ResourceArn": "arn:aws:s3:::s3-path
",
"UseServiceLinkedRole": false,
"RoleArn": "arn:aws:iam::<123456789012>
:role/<role-name>
",
"HybridAccessEnabled": true
}
-
授予許可,並選擇讓主體在混合存取模式下使用資源的 Lake Formation 許可
在混合存取模式中選擇加入主體和資源之前,請確認在混合存取模式中向 Lake Formation 註冊位置的資料庫和資料表上,存在授予Super
或All
許可IAMAllowedPrincipals
群組。
您無法在資料庫中授予 All tables
上的IAMAllowedPrincipals
群組許可。您需要從下拉式選單中分別選取每個資料表,並授予許可。此外,當您在資料庫中建立新資料表時,您可以選擇在資料目錄設定Use only IAM access control for new tables in new databases
中使用 。當您在資料庫中建立新資料表時,此選項會自動將Super
許可授予IAMAllowedPrincipals
群組。
- Console
-
-
在 Lake Formation 主控台的資料目錄下,選擇資料庫或資料表。
從清單中選擇資料庫或資料表,然後從動作功能表中選擇授予。
選擇主體,以使用具名資源方法或 LF 標籤授予資料庫、資料表和資料欄的許可。
或者,選擇 Data lake 許可,從清單中選擇要授予許可的委託人,然後選擇授予。
如需授予資料許可的詳細資訊,請參閱授予 Data Catalog 資源的許可。
如果您要授予主體建立資料表許可,您也需要將資料位置許可 (DATA_LOCATION_ACCESS
) 授予主體。更新資料表不需要此許可。
如需詳細資訊,請參閱授予資料位置許可。
-
當您使用具名資源方法來授予許可時,在授予資料許可頁面的下一節提供選擇加入主體和資源的選項。
選擇讓 Lake Formation 許可立即生效,為主體和資源啟用 Lake Formation 許可。
選擇 Grant (授予)。
當您在指向資料位置的資料表 A 上選擇加入主體 A 時,如果資料位置已註冊為混合模式,則允許主體 A 使用 Lake Formation 許可來存取此資料表的位置。
- AWS CLI
-
以下是在混合存取模式下選擇主體和資料表的範例。將角色名稱、 AWS 帳戶 ID、資料庫名稱和資料表名稱取代為有效值。
aws lakeformation create-lake-formation-opt-in --cli-input-json file://file path
json:
{
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::<123456789012>
:role/<hybrid-access-role>
"
},
"Resource": {
"Table": {
"CatalogId": "<123456789012>
",
"DatabaseName": "<hybrid_test>
",
"Name": "<hybrid_test_table>
"
}
}
}
-
如果您選擇 LF-Tags 授予許可,您可以選擇讓委託人在不同的步驟中使用 Lake Formation 許可。您可以在左側導覽列的許可下選擇混合存取模式來執行此操作。
-
在混合存取模式頁面的下一節中,選擇新增以將資源和主體新增至混合存取模式。
-
在新增資源和主體頁面上,選擇在混合存取模式中註冊的資料庫和資料表。選擇主體以選擇在混合存取模式中使用 Lake Formation 許可。
您可以在資料庫All tables
下選擇 來授予存取權。