

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

# IAM アイデンティティセンターを使用した Amazon S3 Access Grants の設定
<a name="tip-tutorial-s3"></a>

[Amazon S3 Access Grants](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-get-started.html) は、ID ベースのきめ細かなアクセスコントロールを S3 ロケーションに付与する柔軟性を提供します。Amazon S3 Access Grants を使用すると、企業のユーザーやグループに Amazon S3 バケットアクセスを直接付与できます。IAM アイデンティティセンターで S3 Access Grants を有効にし、信頼できる ID の伝播を実現するには、次の手順に従います。

## 前提条件
<a name="tip-tutorial-s3-prereqs"></a>

このチュートリアルを開始する前に、以下を設定する必要があります。
+ [IAM アイデンティティセンターを有効にします](enable-identity-center.md)。[組織インスタンス](organization-instances-identity-center.md)が推奨されます。詳細については、「[前提条件と考慮事項](trustedidentitypropagation-overall-prerequisites.md)」を参照してください。

## IAM アイデンティティセンターを介した信頼できる ID 伝播のための S3 Access Grants の設定
<a name="tip-tutorial-s3-configure"></a>

**登録された場所を持つ Amazon S3 Access Grantsインスタンスが既にある場合は、次の手順に従います。**

1. [IAM アイデンティティセンターインスタンスを関連付けます](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-idc.html)。

1. [許可を作成します](#tip-tutorial-s3-create-grant)。

**Amazon S3 Access Grants をまだ作成していない場合は、次の手順に従います。**

1. [https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html) - ごとに 1 つの S3 Access Grantsインスタンスを作成できます AWS リージョン。S3 Access Grants インスタンスを作成するときは、**[IAM アイデンティティセンターインスタンスの追加]** チェックボックスをオンにし、IAM アイデンティティセンターインスタンスの ARN を指定してください。**[次へ]** を選択してください。

   次の図は、Amazon S3 Access Grants コンソールにおける [S3 Access Grants インスタンスを作成する] ページを示しています。  
![\[S3 Access Grants コンソールにおける [S3 Access Grants インスタンスページを作成する] ページ。\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/images/s3-tutorial-step-1.1.png)

1. **ロケーションの登録** - アカウントの に [ Amazon S3 Access Grantsインスタンスを作成](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html)したら、そのインスタンスに [S3 ロケーションを登録](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-location-register.html) AWS リージョン します。S3 Access Grants のロケーションは、デフォルトの S3 ロケーション (`S3://`)、バケット、またはプレフィックスを IAM ロールにマッピングします。S3 Access Grants は、この Amazon S3 ロールを引き受けて、その特定の場所にアクセスする被付与者に一時的な認証情報を提供します。アクセス権限を作成する前に、まず S3 Access Grants インスタンスに少なくとも 1 つのロケーションを登録する必要があります。

   **[ロケーションスコープ]** には、そのリージョン内のすべてのバケットを含む `s3://` を指定します。これは、ほとんどのユースケースで推奨されるロケーションスコープです。高度なアクセス管理のユースケースがある場合は、バケット `s3://bucket/prefix-with-path` 内の特定のバケット `s3://bucket` またはプレフィックスにロケーションスコープを設定できます。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[ロケーションの登録](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-location-register.html)」を参照してください。
**注記**  
アクセスを許可する AWS Glue テーブルの S3 ロケーションがこのパスに含まれていることを確認します。

   この手順では、 ロケーションの IAM ロールを設定する必要があります。このロールには、ロケーションスコープにアクセスするためのアクセス許可が含まれている必要があります。このロールは、S3 コンソールウィザードを使用して作成できます。この IAM ロールのポリシーで S3 Access Grants インスタンス ARN を指定する必要があります。S3 Access Grants インスタンス ARN のデフォルト値は `arn:aws:s3:Your-Region:Your-AWS-Account-ID:access-grants/default` です。

   次のアクセス許可ポリシーの例では、作成した IAM ロールに対するアクセス許可を Amazon S3 に付与します。また、それに続く信頼ポリシーの例では、S3 Access Grants サービスプリンシパルが IAM ロールを引き受けることを許可します。

   1. **アクセス許可ポリシー**

      これらのポリシーを使用するには、サンプルポリシーの*イタリック体のプレースホルダーテキスト*を独自の情報に置き換えます。その他の手順については、「[ポリシーの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html)」または「[ポリシーの編集](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-edit.html)」を参照してください。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "ObjectLevelReadPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:GetObjectVersion",
                      "s3:GetObjectAcl",
                      "s3:GetObjectVersionAcl",
                      "s3:ListMultipartUploadParts"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "ObjectLevelWritePermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:PutObjectAcl",
                      "s3:PutObjectVersionAcl",
                      "s3:DeleteObject",
                      "s3:DeleteObjectVersion",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                      "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "BucketLevelReadPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:ListBucket"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                      "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "OptionalKMSPermissionsForSSEEncryption",
                  "Effect": "Allow",
                  "Action": [
                      "kms:Decrypt",
                      "kms:GenerateDataKey"
                  ],
                  "Resource": [
                      "*"
                  ]
              }
          ]
      }
      ```

------

   1. **信頼ポリシー**

       IAM ロールの信頼ポリシーで、作成した IAM ロールに対して、S3 Access Grants サービス (`access-grants.s3.amazonaws.com`) のプリンシパルアクセス権を付与します。これを実行するために、次のステートメントを含む JSON ファイルを作成できます。アカウントに信頼ポリシーを追加するには、「[カスタム信頼ポリシーを使用したロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-custom.html)」を参照してください。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "Stmt1234567891011",
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole",
                      "sts:SetSourceIdentity"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "111122223333",
                          "aws:SourceArn": "Your-Custom-Access-Grants-Location-ARN"
                      }
                  }
              },
      
              {
                  "Sid": "Stmt1234567891012",
                  "Effect": "Allow",
                  "Action": "sts:SetContext",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "111122223333",
                          "aws:SourceArn": "Your-Custom-Access-Grants-Location-ARN"
                      },
                      "ForAllValues:ArnEquals": {
                          "sts:RequestContextProviders": "arn:aws:iam::aws:contextProvider/IdentityCenter"
                      }
                  }
              }
          ]
      }
      ```

------

## Amazon S3 Access Grants を作成する
<a name="tip-tutorial-s3-create-grant"></a>

登録された場所を持つ Amazon S3 Access Grants インスタンスがあり、IAM アイデンティティセンターインスタンスを関連付けている場合は、[アクセス許可を作成できます](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-grant-create.html)。S3 コンソールの**[アクセス許可の作成]** ページで、以下を完了します。

**許可を作成する**

1. 前のステップで作成したロケーションを選択します。サブプレフィックスを追加することで、アクセス許可の範囲を縮小できます。サブプレフィックスは、バケット内の `bucket`、`bucket/prefix`、または オブジェクトです。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[サブプレフィックス](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-grant-create.html#subprefix)」を参照してください。

1. **[アクセス許可とアクセス]** で、必要に応じて **[読み取り]** または**[書き込み]**を選択します。

1. **[付与者のタイプ]**で、**ディレクトリアイデンティティフォーム IAM アイデンティティセンター**を選択します。

1. IAM アイデンティティセンターの**ユーザー ID またはグループ ID** を指定します。ユーザー ID とグループ ID は、IAM アイデンティティセンターコンソールの[**[ユーザー]** と **[グループ]** セクション](howtoviewandchangepermissionset.md)にあります。**[次へ]** を選択してください。

1. **[確認して完了]** ページで、S3 Access Grant の設定を確認し、**[アクセス許可の作成]** を選択します。

   次の図は、Amazon S3 Access Grants コンソールの [アクセス許可の作成] ページを示しています。  
![\[Amazon S3 Access Grants コンソールで [アクセス許可の作成] ページを作成します。\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/images/s3-tutorial-step-1.4.png)