本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用Amazon CLI和命名资源方法授予表权限
您可以使用命名的资源方法和Amazon Command Line Interface (Amazon CLI) 来授予表权限。
要授予表权限,请使用Amazon CLI
-
运行
grant-permissions
命令,并将表指定为资源。
例 — 对单张表进行授权-不进行筛选
以下示例ALTER
向数据库表datalake_user1
中Amazon账户 1111-2222-3333inventory
中的用户授予SELECT
和retail
。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
注意
如果您对基础数据位于注册位置的表授予ALTER
权限,请务必同时向主体授予该位置的数据定位权限。有关更多信息,请参阅 授予数据位置权限。
例 — 使用 “授予” 选项对所有表进行授权-不进行筛选
下一个示例SELECT
使用授予选项对数据库中的所有表进行授权retail
。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
例 — 使用简单的列筛选进行授权
下一个示例授予SELECT
表中列的子集persons
。它使用简单的列筛选。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
例 — 使用数据筛选器授予
此示例授予SELECT
orders
表并应用restrict-pharma
数据筛选器。
aws lakeformation grant-permissions --cli-input-json file://grant-params.json
以下是文件的内容grant-params.json
。
{ "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"}, "Resource": { "DataCellsFilter": { "TableCatalogId": "111122223333", "DatabaseName": "sales", "TableName": "orders", "Name": "restrict-pharma" } }, "Permissions": ["SELECT"], "PermissionsWithGrantOption": ["SELECT"] }