本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用授予表权限Amazon CLI和命名的资源方法
您可以通过使用 named resource 方法和Amazon Command Line Interface(Amazon CLI)。
使用授予表权限Amazon CLI
-
运行
grant-permissions命令,并指定一个表作为资源。
例 — 对单个表格授予-无过滤
以下几个例子授予SELECT和ALTER给用户datalake_user1在Amazon账户 11-2222-3333333 在桌子上inventory在数据库中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在数据库中的所有表上使用 grant 选项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"] }