

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ロケーションの登録に使用されるロールの要件
<a name="registration-role"></a>

Amazon Simple Storage Service AWS Identity and Access Management (Amazon S3) の場所を登録するときは、 (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)」を参照してください。

# Lake Formation のサービスリンクロールの使用
<a name="service-linked-roles"></a>

AWS Lake Formation は AWS Identity and Access Management (IAM) *サービスにリンクされたロール*を使用します。サービスリンクロールは、Lake Formation に直接リンクされた特殊なタイプの IAM ロールです。サービスにリンクされたロールは Lake Formation によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

ロールを作成して必要な許可を手動で追加する必要がないため、サービスリンクロールは Lake Formation のセットアップを容易にします。サービスリンクロールの許可は Lake Formation が定義し、別途定義されている場合を除いて、Lake Formation のみがそのロールを引き受けることができます。定義された許可には信頼ポリシーと許可ポリシーが含まれ、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

このサービスリンクロールは、ロールの引き受けについて以下のサービスを信頼します。
+ `lakeformation.amazonaws.com`

アカウント A のサービスリンクロールを使用して、アカウント B が所有する Amazon S3 ロケーションを登録する場合は、アカウント B の Amazon S3 バケットポリシー (リソースベースのポリシー) で、アカウント A のサービスリンクロールにアクセス許可を付与する必要があります。

サービスリンクロールを使用してデータの場所を登録する方法については、「[サービスにリンクされたロールの制限](service-linked-role-limitations.md)」を参照してください。

**注記**  
サービスリンクロールは、サービスコントロールポリシー (SCP) の影響を受けません。  
詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。

## Lake Formation のサービスリンクロールの許可
<a name="service-linked-role-permissions"></a>

Lake Formation は、`AWSServiceRoleForLakeFormationDataAccess` という名前のサービスリンクロールを使用します。このロールは、Lake Formation 統合サービス ( など) が登録済みロケーションにアクセスできるようにする Amazon Simple Storage Service (Amazon S3 Amazon Athena) アクセス許可のセットを提供します。データレイクロケーションを登録するときは、そのロケーションに対する必要な Amazon S3 読み取り/書き込み許可を持つロールを指定する必要があります。ユーザーは、必要な Amazon S3 許可を持つロールを作成する代わりに、このサービスリンクロールを使用することができます。

パスを登録するためのロールとしてサービスリンクロールを初めて指定すると、ユーザーに代わってサービスリンクロールと新しい IAM ポリシーが作成されます。Lake Formation がインラインポリシーにそのパスを追加し、ポリシーをサービスリンクロールにアタッチします。サービスリンクロールに後続のパスを登録すると、Lake Formation がそのパスを既存のポリシーに追加します。

データレイク管理者としてサインインしているときに、データレイクロケーションを登録します。次に、IAM コンソールで `AWSServiceRoleForLakeFormationDataAccess` ロールを検索し、アタッチされたポリシーを確認します。

例えば、`s3://my-kinesis-test/logs` のロケーションを登録すると、Lake Formation が以下のインラインポリシーを作成し、`AWSServiceRoleForLakeFormationDataAccess` にアタッチします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LakeFormationDataAccessPermissionsForS3",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": [
                "arn:aws:s3:::my-kinesis-test/logs/*"
            ]
        },
        {
            "Sid": "LakeFormationDataAccessPermissionsForS3ListBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::my-kinesis-test"
            ]
        }
    ]
}
```

------

## Lake Formation のサービスリンクロールの作成
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。Amazon S3 ロケーションを AWS マネジメントコンソール、、 AWS CLIまたは AWS API で Lake Formation に登録すると、Lake Formation によってサービスにリンクされたロールが作成されます。

**重要**  
このサービスリンクロールは、このロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。詳細については、[IAM アカウントに新しいロールが表示される](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)を参照してください。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ手順でアカウントにロールを再作成できます。Amazon S3 ロケーションを Lake Formation に登録すると、Lake Formation によってサービスリンクロールが再度作成されます。

IAM コンソールを使用して、**Lake Formation** ユースケースでサービスリンクロールを作成することもできます。 AWS CLI または AWS API で、サービス名を使用して`lakeformation.amazonaws.com`サービスにリンクされたロールを作成します。詳細については、*IAM ユーザーガイド*の「[サービスリンクロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

## Lake Formation のサービスリンクロールの編集
<a name="edit-slr"></a>

Lake Formation では、`AWSServiceRoleForLakeFormationDataAccess` サービスリンクロールを編集することはできません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## Lake Formation のサービスリンクロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**注記**  
リソースを削除しようとしたときに Lake Formation サービスでロールが使用されていると、削除に失敗することがあります。失敗した場合は数分待ってから操作を再試行してください。

**Lake Formation で使用されている Lake Formation リソースを削除するには**
+ サービスリンクロールを使用して Amazon S3 ロケーションを Lake Formation に登録した場合は、サービスリンクロールを削除する前に、そのロケーションを登録解除し、カスタムロールを使用して再登録する必要があります。

**サービスリンクロールを IAM で手動削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、`AWSServiceRoleForLakeFormationDataAccess`サービスにリンクされたロールを削除します。詳細については、*IAM ユーザーガイド*の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

以下は、ユーザー定義のロールの要件です。
+ 新しいロールを作成するときは、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"
              ]
          }
      ]
  }
  ```

------
+ Lake Formation サービスでロールを引き受け、統合された分析エンジンに一時的な認証情報を提供できるようにするには、IAM ロールに次の信頼ポリシーを追加します。

  CloudTrail ログに IAM アイデンティティセンターのユーザーコンテキストを含めるには、信頼ポリシーに `sts:SetContext` アクションのアクセス許可が必要です。

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

****  

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

------
+ ロケーションを登録するデータレイク管理者は、ロールに対する `iam:PassRole` 許可を持っている必要があります。

  以下は、この許可を付与するインラインポリシーです。*<account-id>* を有効な AWS アカウント番号に置き換え、*<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:*"
              ]
          }
      ]
  }
  ```

------