

# Amazon S3: Amazon Cognito ユーザーにバケット内のオブジェクトへのアクセスを許可する
<a name="reference_policies_examples_s3_cognito-bucket"></a>

この例では、Amazon Cognito ユーザーが特定の Amazon S3 バケットのオブジェクトにアクセスを許可する ID ベースのポリシーを作成する方法が示されます。このポリシーは、`cognito`、アプリケーションの名前、フェデレーティッドプリンシパル ID が含まれる名前を持つオブジェクトのみにアクセスを許可し、\$1\$1cognito-identity.amazonaws.com:sub\$1 変数で表されます。このポリシーでは、AWS API または AWS CLI から、このアクションをプログラムで完了するために必要なアクセス権を許可します。このポリシーを使用するには、サンプルポリシーの*イタリック体のプレースホルダーテキスト*を独自の情報に置き換えます。次に、[ポリシーの作成](access_policies_create.md)または[ポリシーの編集](access_policies_manage-edit.md)の手順に従います。

**注記**  
オブジェクトキーで使用される「サブ」値は、ユーザープール内のユーザーのサブ値ではなく、ID プール内のユーザーに関連付けられた ID です。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListYourObjects",
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": [
        "arn:aws:s3:::bucket-name"
      ],
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
          ]
        }
      }
    },
    {
      "Sid": "ReadWriteDeleteYourObjects",
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name/cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
      ]
    }
  ]
}
```

------

Amazon Cognito は、ウェブおよびモバイルアプリの認証、認可、およびユーザー管理機能を提供します。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google などのサードパーティーを通じてサインインできます。

Amazon Cognito の主な 2 つのコンポーネントは、ユーザープールと ID プールです。ユーザープールは、アプリユーザーのサインアップとサインインオプションを提供するユーザーディレクトリです。ID プールは、AWS の他のサービスに対するアクセスをユーザーに許可します。ID プールとユーザープールは別々に使用することも、一緒に使用することもできます。

Amazon Cognito の詳細については、「[Amazon Cognito ユーザーガイド](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)」を参照してください。