本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
變更資料湖的預設設定
若要維持與的回溯相容性AWS Glue, AWS Lake Formation 請使用下列初始安全性設定:
-
此
Super
權限會授與所有現有資AWS Glue料目錄資源IAMAllowedPrincipals
上的群組。 -
新資料目錄資源會啟用「僅使用 IAM 存取控制」設定。
這些設定有效地導致資料目錄資源和 Amazon S3 位置的存取僅由 AWS Identity and Access Management (IAM) 政策控制。個別 Lake Formation 權限未生效。
該IAMAllowedPrincipals
群組包括您的 IAM 政策允許存取資料目錄資源的所有 IAM 使用者和角色。此Super
權限可讓主體在授與該作業的資料庫或表格上執行每個受支援的 Lake Formation 作業。
若要變更安全性設定,使資料目錄資源 (資料庫和表格) 的存取由 Lake Formation 權限管理,請執行下列動作:
-
變更新資源的預設安全性設定。如需說明,請參閱變更預設許可模型或使用混合存取模式。
-
變更現有資料目錄資源的設定。如需說明,請參閱升級 AWS GlueAWS Lake Formation 模型的資料許可。
使用 Lake Formation PutDataLakeSettings
API 操作更改默認安全設置
您也可以使用 Lake Formation PutDataLakeSettingsAPI 操作來更改默認安全設置。此動作會將選用的目錄 ID 和DataLakeSettings結構當做引數。
若要在新資料庫和資料表上強制執行 Lake Formation 的中繼資料和基礎資料存取控制,請依下列方式撰寫DataLakeSettings
結構程式
注意
<AccountID>以有效的 AWS 帳戶 ID 和有<Username>效
的 IAM 使用者名稱取代。您可以將多個使用者指定為資料湖管理員。
{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::
<AccountId>
:user/<Username>
" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [] } }
您也可以編寫如下結構的代碼。省略CreateDatabaseDefaultPermissions
或CreateTableDefaultPermissions
參數等同於傳遞空白清單。
{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::
<AccountId>
:user/<Username>
" } ] } }
此動作可有效地撤銷IAMAllowedPrincipals
群組對新資料庫和資料表的所有 Lake Formation 權限。建立資料庫時,您可以覆寫此設定。
若要僅由 IAM 在新資料庫和資料表上強制執行中繼資料和基礎資料存取控制,請依下列方式編寫DataLakeSettings
結構的程式碼
{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::
<AccountId>
:user/<Username>
" } ], "CreateDatabaseDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ] } }
這會將 Super
Lake Formation 的權限授予新資料庫和資料表上的IAMAllowedPrincipals
群組。建立資料庫時,您可以覆寫此設定。
注意
在先前的DataLakeSettings
結構中,的唯一允許的值DataLakePrincipalIdentifier
是IAM_ALLOWED_PRINCIPALS
,且唯一允許的值Permissions
為ALL
。