

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

# 註冊 Amazon S3 位置
<a name="register-location"></a>

註冊 Amazon Simple Storage Service AWS Identity and Access Management (Amazon S3) 位置時，您必須指定 (IAM) 角色。Lake Formation 在將臨時登入資料授予存取該位置資料的整合 AWS 服務時，會擔任該角色。

**重要**  
避免註冊已啟用**申請者付款**的 Amazon S3 儲存貯體。對於向 Lake Formation 註冊的儲存貯體，用於註冊儲存貯體的角色一律會被視為申請者。如果儲存貯體是由另一個 AWS 帳戶存取，則如果角色屬於與儲存貯體擁有者相同的帳戶，則會向儲存貯體擁有者收取資料存取費用。

您可以使用 AWS Lake Formation 主控台、Lake Formation API 或 AWS Command Line Interface (AWS CLI) 來註冊 Amazon S3 位置。

**開始之前**  
檢閱[用於註冊位置的角色需求](registration-role.md)。

**註冊位置 （主控台）**
**重要**  
下列程序假設 Amazon S3 位置與 Data Catalog 位於相同的 AWS 帳戶中，且位置中的資料未加密。本章的其他章節涵蓋加密位置的跨帳戶註冊和註冊。

1. 在 https：//[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) 開啟 AWS Lake Formation 主控台。使用 IAM `lakeformation:RegisterResource` 許可以資料湖管理員或使用者身分登入。

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

1. 選擇**註冊位置**，然後選擇**瀏覽**以選取 Amazon Simple Storage Service (Amazon S3) 路徑。

1. （選用，但強烈建議） 選取**檢閱位置許可**，以檢視所選 Amazon S3 位置中的所有現有資源清單及其許可。

   註冊選取的位置可能會導致 Lake Formation 使用者存取該位置已有的資料。檢視此清單可協助您確保現有資料保持安全。

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

   只有在使用自訂 IAM 角色註冊時，才能更新已註冊的位置或其他詳細資訊。若要編輯使用服務連結角色註冊的位置，您應該取消註冊該位置並重新註冊。

1. 選擇**啟用資料目錄聯合選項**，以允許 Lake Formation 擔任角色並將臨時登入資料提供給整合 AWS 服務，以存取聯合資料庫下的資料表。如果某個位置已向 Lake Formation 註冊，而且您想要對聯合資料庫下的資料表使用相同的位置，則需要使用**啟用資料目錄聯合**選項註冊相同的位置。

1. 選擇**混合存取模式**，預設不會啟用 Lake Formation 許可。當您在混合存取模式中註冊 Amazon S3 位置時，您可以選擇該位置下資料庫和資料表的主體，以啟用 Lake Formation 許可。 

   如需設定混合存取模式的詳細資訊，請參閱 [混合存取模式](hybrid-access-mode.md)。

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

**註冊位置 (AWS CLI)**

1. 

**向 Lake Formation 註冊新位置**

   此範例使用服務連結角色來註冊位置。您可以改為使用 `--role-arn`引數來提供您自己的角色。

   將 {{<s3-path>}} 取代為有效的 Amazon S3 路徑、將帳號取代為有效的 AWS 帳戶，並將 {{<s3-access-role>}} 取代為具有註冊資料位置許可的 IAM 角色。
**注意**  
如果已使用服務連結角色註冊，則無法編輯已註冊位置的屬性。

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --use-service-linked-role
   ```

   下列範例使用自訂角色來註冊位置。

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --role-arn arn:aws:iam::{{<123456789012>}}:role/{{<s3-access-role>}}
   ```

1. 

**更新向 Lake Formation 註冊的位置**

   您只能編輯使用自訂 IAM 角色註冊的已註冊位置。對於向服務連結角色註冊的位置，您應該取消註冊該位置並重新註冊。如需詳細資訊，請參閱[取消註冊 Amazon S3 位置](unregister-location.md)。

   ```
   aws lakeformation update-resource \
    --role-arn arn:aws:iam::{{<123456789012>}}:role/{{<s3-access-role>}}\
    --resource-arn arn:aws:s3:::{{<s3-path>}}
   ```

   ```
   aws lakeformation update-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --use-service-linked-role
   ```

1. 

**向聯合註冊處於混合存取模式的資料位置**

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --role-arn arn:aws:iam::{{<123456789012>}}:role/{{<s3-access-role>}} \
    --hybrid-access-enabled
   ```

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --role-arn arn:aws:iam::{{<123456789012>}}:role/{{<s3-access-role>}} \
    --with-federation
   ```

   ```
   aws lakeformation update-resource \
    --resource-arn arn:aws:s3:::{{<s3-path>}} \
    --role-arn arn:aws:iam::{{<123456789012>}}:role/{{<s3-access-role>}} \
    --hybrid-access-enabled
   ```

如需詳細資訊，請參閱 [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html) API 操作。

**注意**  
註冊 Amazon S3 位置後，指向位置 （或其任何子位置） 的任何 AWS Glue 資料表都會傳回 `IsRegisteredWithLakeFormation` 參數的值，如 `GetTable`呼叫`true`中所示。Data Catalog API 操作有已知的限制，例如 `GetTables`和 `SearchTables` 不會更新 `IsRegisteredWithLakeFormation` 參數的值，並傳回預設值，即 false。建議使用 `GetTable` API 來檢視 `IsRegisteredWithLakeFormation` 參數的正確值。