Amazon Cognito ユーザープールでの Identity and Access Management - Amazon Cognito

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

Amazon Cognito ユーザープールでの Identity and Access Management

このセクションでは、AWS Identity and Access Management (IAM) による Amazon Cognito リソースへのアクセスの制限について説明します。ID プールとユーザープールグループを一緒に使用して、AWS リソースへのアクセスを制御する方法の詳細については、「ユーザープールにグループを追加する」および「ロールベースのアクセスコントロール」を参照してください。「」を参照してください。ID プールの概念 (フェデレーティッドアイデンティティ) ID プールと IAM の詳細については、「」を参照してください。

Amazon リソースネーム (ARN)

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

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

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

Amazon Cognito Sync の ARN

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

ID プールで動作する API の場合、サービス名がcognito-syncの代わりにcognito-identity:

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

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

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

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

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

Amazon Cognito の ARN

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

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

ポリシーの例

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

{ "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 に対して特定のデータセットへのアクセスを許可する

{ "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