メニュー
Amazon Cognito
開発者ガイド (Version 最終更新日: 2017 年 8 月 26 日)

リソースのアクセス許可

この記事は、IAM 経由での Amazon Cognito リソースへのアクセスの制限について説明します。アプリケーションのユーザーへのアクセス権限の定義を試みている場合は、詳細について「フェデレーション識別の概念」を参照してください。

Amazon リソースネーム (ARN)

Amazon Cognito フェデレーテッドアイデンティティの ARN

Amazon Cognito フェデレーテッドアイデンティティでは、次の例のように、Amazon リソースネーム (ARN) 形式を使用して、IAM ユーザーのアクセスを特定の ID プールに制限することができます。ARN の詳細については、IAM ID を参照してください。

Copy
arn:aws:cognito-identity:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

Amazon Cognito Sync の ARN

Amazon Cognito Sync では、顧客は ID プールの ID、アイデンティティ ID、データセット名によってもアクセスを制限できます。

ID プールで動作する API の場合は、サービス名が cognito-identity ではなく cognito-sync の場合を除き、ID プールの ARN 形式は Amazon Cognito フェデレーテッドアイデンティティと同じです。

Copy
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

1 つの ID で動作する API (たとえば、RegisterDevice) の場合、次の ARN 形式で個別の ID を参照できます。

Copy
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID

データセットで動作する API (たとえば、UpdateRecords および ListRecords) の場合、次の ARN 形式を使用して個別のデータセットを参照できます。

Copy
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID/dataset/DATASET_NAME

Amazon Cognito ユーザープールの ARN

Amazon Cognito ユーザープールの場合、次の ARN 形式を使用して、特定のユーザープールに IAM ユーザーのアクセスを制限できます。

Copy
arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID

ポリシーの例

特定の ID プールにコンソールアクセスを制限する

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:ListIdentityPools" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cognito-identity:*" ], "Resource": "arn:aws:cognito-identity:us-east-1:0123456789:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678" }, { "Effect": "Allow", "Action": [ "cognito-sync:*" ], "Resource": "arn:aws:cognito-sync:us-east-1:0123456789:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678" } ] }

プール内のすべての ID に対して特定のデータセットへのアクセスを許可する

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-sync:ListRecords", "cognito-sync:UpdateRecords" ], "Resource": "arn:aws:cognito-sync:us-east-1:0123456789:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678/identity/*/dataset/UserProfile" } ] }

管理ポリシー

数多くのポリシーが、Amazon Cognito へのアクセスを許可するためにお客様が使用できる IAM コンソール経由で利用できます。

  • AmazonCognitoPowerUser - ID プールのあらゆる側面にアクセスし、管理するためのアクセス権限。

  • AmazonCognitoReadOnly - ID プールへの読み取り専用アクセスのためのアクセス権限。

  • AmazonCognitoDeveloperAuthenticatedIdentities - Amazon Cognito と統合するための認証システムのアクセス権限。

これらのポリシーは Amazon Cognito チームによって維持されるため、新しい API が追加されても、IAM ユーザーは同じアクセスレベルを保つことができます。

注記

新しい ID プールの作成では、IAM ロールも作成する必要があるため、新しい ID プールを作成できるようにする IAM ユーザーには、管理者ポリシーも適用されている必要があります。

署名された API と署名されていない API

AWS 認証情報で署名された API は、IAM ポリシーで制限することができます。次の Cognito API は署名されていないため、IAM ポリシーで制限することはできません。

Amazon Cognito フェデレーテッドアイデンティティ

  • GetId

  • GetOpenIdToken

  • GetCredentialsForIdentity

  • UnlinkIdentity

Amazon Cognito ユーザープール

  • ChangePassword

  • ConfirmDevice

  • ConfirmForgotPassword

  • ConfirmSignUp

  • DeleteUser

  • DeleteUserAttributes

  • ForgetDevice

  • ForgotPassword

  • GetDevice

  • GetUser

  • GetUserAttributeVerificationCode

  • GlobalSignOut

  • InitiateAuth

  • ListDevices

  • ResendConfirmationCode

  • RespondToAuthChallenge

  • SetUserSettings

  • SignUp

  • UpdateDeviceStatus

  • UpdateUserAttributes

  • VerifyUserAttribute