Amazon S3: Amazon Cognito ユーザーにバケット内のオブジェクトへのアクセスを許可する - AWS Identity and Access Management

Amazon S3: Amazon Cognito ユーザーにバケット内のオブジェクトへのアクセスを許可する

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

注記

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

{ "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 ユーザーガイド」を参照してください。