

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

# 用於註冊位置的角色需求
<a name="registration-role"></a>

註冊 Amazon Simple Storage Service (Amazon S3) 位置時，您必須指定 AWS Identity and Access Management (IAM) 角色。 會在存取該位置中的資料時 AWS Lake Formation 擔任該角色。

您可以使用下列其中一個角色類型來註冊位置：
+ Lake Formation 服務連結角色。此角色會授予位置所需的許可。使用此角色是註冊位置的最簡單方法。如需詳細資訊，請參閱[使用 Lake Formation 的服務連結角色](service-linked-roles.md)及[服務連結角色限制](service-linked-role-limitations.md)。
+ 使用者定義的角色。當您需要授予比服務連結角色更多的許可時，請使用使用者定義的角色。

  在下列情況下，您必須使用使用者定義的角色：
  + 在另一個帳戶中註冊位置時。

    如需詳細資訊，請參閱[在另一個 AWS 帳戶中註冊 Amazon S3 位置](register-cross-account.md)及[跨 AWS 帳戶註冊加密的 Amazon S3 位置](register-cross-encrypted.md)。
  + 如果您使用 AWS 受管 CMK (`aws/s3`) 來加密 Amazon S3 位置。

    如需詳細資訊，請參閱[註冊加密的 Amazon S3 位置](register-encrypted.md)。
  + 如果您計劃使用 Amazon EMR 存取位置。

    如果您已使用服務連結角色註冊位置，並想要開始使用 Amazon EMR 存取該位置，則必須取消註冊該位置，並使用使用者定義的角色重新註冊該位置。如需詳細資訊，請參閱[取消註冊 Amazon S3 位置](unregister-location.md)。

以下是使用者定義角色的要求：
+ 建立新角色時，在 IAM 主控台的**建立角色**頁面上，選擇**AWS 服務**，然後在**選擇使用案例**下，選擇 **Lake Formation**。

  如果您使用不同的路徑建立角色，請確定角色與 具有信任關係`lakeformation.amazonaws.com`。如需詳細資訊，請參閱[修改角色信任政策 （主控台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html)。
+ 角色必須具有內嵌政策，授予 Amazon S3 對該位置的讀取/寫入許可。以下是典型的政策。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::awsexamplebucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::awsexamplebucket"
              ]
          }
      ]
  }
  ```

------
+ 將下列信任政策新增至 IAM 角色，以允許 Lake Formation 服務擔任角色，並將臨時憑證提供給整合的分析引擎。

  若要在 CloudTrail 日誌中包含 IAM Identity Center 使用者內容，信任政策必須具有 `sts:SetContext`動作的 許可。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "DataCatalogViewDefinerAssumeRole1",
              "Effect": "Allow",
              "Principal": {
                 "Service": [                    
                      "lakeformation.amazonaws.com"
                   ]
              },
              "Action": [
                  "sts:AssumeRole",
                  "sts:SetContext"
              ]
          }
      ]
  }
  ```

------
+ 註冊位置的資料湖管理員必須具有角色的 `iam:PassRole` 許可。

  以下是授予此許可的內嵌政策。以有效的 AWS 帳號取代 {{<account-id>}}，並以角色名稱取代 {{<role-name>}}。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "PassRolePermissions",
              "Effect": "Allow",
              "Action": [
                  "iam:PassRole"
              ],
              "Resource": [
                  "arn:aws:iam::{{111122223333}}:role/{{<role-name>}}"
              ]
          }
      ]
  }
  ```

------
+ 若要允許 Lake Formation 在 CloudWatch Logs 中新增日誌並發佈指標，請新增下列內嵌政策。
**注意**  
寫入 CloudWatch Logs 會產生費用。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "Sid1",
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogStream",
                  "logs:CreateLogGroup",
                  "logs:PutLogEvents"
              ],
              "Resource": [
                   "arn:aws:logs:{{us-east-1}}:{{111122223333}}:log-group:/aws-lakeformation-acceleration/*",
                   "arn:aws:logs:{{us-east-1}}:{{111122223333}}:log-group:/aws-lakeformation-acceleration/*:log-stream:*"
              ]
          }
      ]
  }
  ```

------