

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 授予許可
<a name="s3-tables-grant-permissions"></a>

 將 S3 資料表與 整合之後 AWS Lake Formation，您可以將 S3 資料表目錄和目錄物件 （資料表儲存貯體、資料庫、資料表） 的許可授予帳戶中的其他 IAM 角色和使用者。Lake Formation 許可可讓您為 Amazon Redshift Spectrum 和 Athena 等整合分析引擎的使用者定義資料表、資料欄和資料列層級精細度的存取控制。

 您可以使用具名資源方法或 Lake Formation 標籤型存取控制 (LF-TBAC) 方法來授予許可。使用 LF-Tags 和 LF-Tag 表達式授予許可之前，您必須定義它們並將其命名為 Data Catalog 物件。

如需詳細資訊，請參閱[管理中繼資料存取控制的 LF 標籤](managing-tags.md)。

您可以透過將 Lake Formation 許可授予外部 AWS 帳戶，與外部帳戶共用資料庫和資料表。然後，使用者可以執行查詢和任務，以跨多個帳戶聯結和查詢資料表。當您與其他 帳戶共用目錄資源時，該帳戶中的主體可以操作該資源，就像資源在其資料目錄中一樣。

當您與外部帳戶共用資料庫和資料表時，無法使用**超級使用者**許可。

 如需授予許可的詳細說明，請參閱 [管理 Lake Formation 許可](managing-permissions.md)一節。

## AWS CLI 授予 Amazon S3 資料表許可的範例
<a name="w2aac13c27c29c15"></a>

```
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 – 擁有 Data Catalog 的 12 位數 AWS 帳戶 ID
+ DatabaseName – Amazon S3 資料表儲存貯體名稱空間的名稱
+ 名稱 – Amazon S3 資料表儲存貯體資料表名稱
+ 許可 – 授予的許可。選項包括：SELECT、INSERT、DELETE、DESCRIBE、ALTER、DROP、ALLL 和 SUPER

# 存取共用的 Amazon S3 資料表
<a name="s3-tables-cross-account-sharing"></a>

 在 S3 資料表目錄中授予資料庫或資料表的跨帳戶許可後，若要存取資源，您需要建立共用資料庫和資料表的資源連結。

1.  在目的地帳戶 （接收共用資源的帳戶） 中，建立資料庫資源連結。如需詳細說明，請參閱 [建立共用 Data Catalog 資料庫的資源連結](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
   ```