

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 授予权限


 将 S3 表与集成后 Amazon Lake Formation，您可以向账户中的其他 IAM 角色和用户授予对 S3 表目录和目录对象（表存储桶、数据库、表）的权限。借助 Lake Formation 权限，您可为 Amazon Redshift Spectrum 和 Athena 等集成分析引擎的用户定义表级、列级和行级粒度的访问控制。

 您可以使用命名资源方法或 Lake Formation 基于标签的访问控制 (LF-TBAC) 方法来授予权限。在使用 LF 标签和 LF 标签表达式授予权限之前，必须进行定义并将其分配给 Data Catalog 对象。

有关更多信息，请参阅 [管理 LF 标签以实现元数据访问控制](managing-tags.md)。

通过向外部 Amazon 账户授予 Lake Formation 权限，您可以与外部账户共享数据库和表。然后，用户可以运行跨多个账户联接和查询表的查询和作业。当您与其他账户共享目录资源时，该账户中的主体可以对该资源进行操作，就像该资源位于其数据目录中一样。

当您与外部账户共享数据库和表时，**超级用户**权限不可用。

 有关授予权限的详细说明，请参阅[管理 Lake Formation 权限](managing-permissions.md)部分。

## Amazon CLI 在 Amazon S3 表上授予权限的示例


```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 命名中要包括以下参数：
+ DataLakePrincipalIdentifier — 用于授予权限的 IAM 用户、角色或群组 ARN
+ CatalogId — 拥有数据目录的 12 位数 Amazon 账户 ID
+ DatabaseName — Amazon S3 表存储桶名称空间的名称
+ 名称：Amazon S3 表类数据存储服务存储桶表名称
+ 权限：要授予的权限。选项包括：SELECT、INSERT、DELETE、DESCRIBE、ALTER、DROP、ALLL 和 SUPER

# 访问共享的 Amazon S3 表类数据存储服务


 对 S3 表目录中数据库或表授予跨账户权限后，要访问这些资源，您需要创建指向共享数据库和表的资源链接。

1.  在目标账户（接收共享资源的账户）中，创建数据库资源链接。有关详细说明，请参阅[创建指向共享数据目录数据库的资源链接](create-resource-link-database.md)。

   创建数据库资源链接的 CLI 示例

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  对表授予跨账户权限。

   跨账户权限授予的 CLI 示例

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  对资源链接授予 Lake Formation `DESCRIBE` 权限。

    对资源链接授予描述权限的 CLI 示例。

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```