

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

# 將 AWS Glue 資源轉換為混合資源
<a name="hybrid-access-mode-new"></a>

請依照下列步驟，以混合存取模式註冊 Amazon S3 位置，並加入新的 Lake Formation 使用者，而不會中斷現有 Data Catalog 使用者的資料存取。

案例描述 - 資料位置未向 Lake Formation 註冊，使用者對 Data Catalog 資料庫和資料表的存取取決於 Amazon S3 和 AWS Glue 動作的 IAM 許可政策。  根據預設， `IAMAllowedPrincipals`群組具有資料庫中所有資料表的`Super`許可。

**為未向 Lake Formation 註冊的資料位置啟用混合存取模式**

1. 

**註冊啟用混合存取模式的 Amazon S3 位置。**

------
#### [ Console ]

   1. 以資料湖管理員身分登入 [Lake Formation 主控台](https://console.aws.amazon.com/lakeformation/)。

   1. 在導覽窗格中，選擇**管理**下**的資料湖位置**。

   1. 選擇**註冊位置**。  
![使用 S3 路徑、 IAM 角色和許可模式選項的欄位註冊位置頁面。](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/hybrid-access-register-s3.png)

   1. 在**註冊位置**視窗中，選擇您要向 Lake Formation 註冊的 **Amazon S3** 路徑。

   1. 針對 **IAM 角色**，選擇`AWSServiceRoleForLakeFormationDataAccess`服務連結角色 （預設） 或自訂 IAM  符合 中需求的 角色[用於註冊位置的角色需求](registration-role.md)。

   1. 選擇**混合存取模式**，將精細的 Lake Formation 存取控制政策套用至指向註冊位置的選擇加入主體和 Data Catalog 資料庫和資料表。 

      選擇 Lake Formation 以允許 Lake Formation 授權對註冊位置的存取請求。 

   1. 選擇**註冊位置**。

------
#### [ AWS CLI ]

   以下是使用 HybridAccessEnabled：true/false 向 Lake Formation 註冊資料位置的範例。`HybridAccessEnabled` 參數的預設值為 false。以有效值取代 Amazon S3 路徑、角色名稱和 AWS 帳戶 ID。

   ```
   aws lakeformation register-resource --cli-input-json file:{{file path}}
   json:
       {
           "ResourceArn": "arn:aws:s3:::{{s3-path}}",
           "UseServiceLinkedRole": false,
           "RoleArn": "arn:aws:iam::{{<123456789012>}}:role/{{<role-name>}}",
           "HybridAccessEnabled": true
       }
   ```

------

1. 

**授予許可並選擇加入主體，以對混合存取模式中的資源使用 Lake Formation 許可**

   在混合存取模式中選擇加入主體和資源之前，請確認 `Super`或 `IAMAllowedPrincipals`群組的`All`許可存在於已在混合存取模式中向 Lake Formation 註冊位置的資料庫和資料表上。
**注意**  
您無法在資料庫中授予 `All tables`的`IAMAllowedPrincipals`群組許可。您需要從下拉式選單中分別選取每個資料表，並授予許可。此外，當您在資料庫中建立新資料表時，您可以在**資料目錄設定**`Use only IAM access control for new tables in new databases`中選擇使用 。當您在資料庫中建立新資料表時，此選項會自動將`Super`許可授予`IAMAllowedPrincipals`群組。

------
#### [ Console ]

   1. 在 Lake Formation 主控台**的資料目錄**下，選擇**目錄**、**資料庫**或**資料表**。

   1. 從清單中選擇目錄、資料庫或資料表，然後從**動作**功能表中選擇**授予**。

   1. 選擇主體以使用具名資源方法或 LF 標籤授予資料庫、資料表和資料欄的許可。

      或者，選擇**資料許可**，從清單中選擇要授予許可的委託人，然後選擇**授予**。

      如需授予資料許可的詳細資訊，請參閱 [授予 Data Catalog 資源的許可](granting-catalog-permissions.md)。
**注意**  
如果您要授予委託人建立資料表許可，您也需要將資料位置許可 (`DATA_LOCATION_ACCESS`) 授予委託人。更新資料表不需要此許可。  
如需詳細資訊，請參閱[授予資料位置許可](granting-location-permissions.md)。

   1. 當您使用**具名資源方法來**授予許可時，在**授予資料許可**頁面的下一節提供選擇加入委託人和資源的選項。

      選擇**讓 Lake Formation 許可立即生效**，以啟用委託人和資源的 Lake Formation 許可。  
![選擇 Data Catalog 資源混合存取模式的選項。](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/hybrid-access-grant-option.png)

   1. 選擇 **Grant** (授予)。

       當您在指向資料位置的資料表 A 上選擇加入委託人 A 時，如果資料位置註冊為混合模式，則允許委託人 A 使用 Lake Formation 許可來存取此資料表的位置。

------
#### [ AWS CLI ]

   以下是在混合存取模式中選擇使用委託人和資料表的範例。將角色名稱、 AWS 帳戶 ID、資料庫名稱和資料表名稱取代為有效值。

   ```
   aws lakeformation create-lake-formation-opt-in --cli-input-json file://{{file path}}
   json:
     {
           "Principal": {
               "DataLakePrincipalIdentifier": "arn:aws:iam::{{<123456789012>}}:role/{{<hybrid-access-role>}}"
           },
           "Resource": {
               "Table": {
                   "CatalogId": "{{<123456789012>}}",
                   "DatabaseName": "{{<hybrid_test>}}",
                   "Name": "{{<hybrid_test_table>}}"
               }
           }
       }
   ```

------

   1. 如果您選擇 LF-Tags 授予許可，您可以選擇讓主體在不同的步驟中使用 Lake Formation 許可。您可以在左側導覽列**的許可**下選擇**混合存取模式**來執行此操作。

   1.  在**混合存取模式**頁面的下區段中，選擇**新增**以將資源和主體新增至混合存取模式。

   1.  在**新增資源和主體**頁面上，選擇在混合存取模式中註冊的目錄、資料庫和資料表。

      您可以選擇資料庫`All tables`下的 來授予存取權。  
![在混合存取模式中新增目錄、資料庫和資料表的界面。](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/hybrid-access-opt-in.png)

   1. 選擇主體選擇在混合存取模式中使用 Lake Formation 許可。
      +  **委託人** – 您可以在相同帳戶或其他帳戶中選擇 IAM 使用者和角色。您也可以選擇 SAML 使用者和群組。
      + **屬性** – 根據屬性選取要授予許可的屬性。  
![使用屬性表達式新增主體和資源的界面。](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/abac-hybrid-access.png)
      + 輸入鍵/值對，以根據屬性建立授予。在主控台上檢閱 Cedar 政策表達式。如需 Cedar 的詳細資訊，請參閱[什麼是 Cedar？ \| Cedar 政策語言參考GuideLink](https://docs.cedarpolicy.com/)。
      + 選擇**新增**。

        具有相符屬性的所有 IAM 角色/使用者都會獲得存取權。

   1. 選擇**新增**。