スキップしてコンテンツを表示

外部フェデレーションユーザーをネイティブの Cognito ユーザーにリンクさせたり、リンク解除したりする方法を教えてください。

所要時間1分
0

サードパーティ ID プロバイダー (IdP) 経由でフェデレーションを行うユーザーを、ユーザープール内のネイティブ Amazon Cognito プロファイルにリンクさせたいです。また、ユーザープールの Amazon Cognito ユーザープロファイルからフェデレーションユーザーをリンク解除できるようにしたいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

外部フェデレーションユーザーをリンクする

各ネイティブユーザープロファイルには、最大 5 人のフェデレーションユーザーをリンクできます。

フェデレーションユーザーをリンクするには、次の AWS CLI コマンド admin-link-provider-for-user を実行します。

aws cognito-idp admin-link-provider-for-user \
    --user-pool-id User_Pool_ID \
    --destination-user ProviderAttributeValue=Username,ProviderName=Cognito \
    --source-user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value

注: User_Pool_ID を Amazon Cognito ユーザープール ID に、Username をネイティブ Amazon Cognito ユーザー名に、Provider_Name をサードパーティ IdP に置き換えてください。Attribute を IdP にマッピングされたユーザー属性に、Attribute_Value をフェデレーションユーザーの属性に置き換えてください。

コマンドを正常に実行できた場合、出力には本文が空の HTTP 200 ステータスが表示されます。

注: Amazon Cognito の脅威検出は、フェデレーションサインインのプロバイダーには使用できません。Amazon Cognito のユーザーアクティビティログには、フェデレーションサインインのアクティビティは記録されません。詳細については、「フェデレーションユーザーを既存のユーザープロファイルにリンクする」を参照してください。

外部フェデレーションユーザーをリンク解除する

フェデレーションユーザーをリンク解除するには、次の admin-disable-provider-for-user コマンドを実行します。

aws cognito-idp admin-disable-provider-for-user \
    --user-pool-id User_Pool_ID \
    --user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value

注: User_Pool_ID を Amazon Cognito ユーザープール ID に、Provider_Name を実際の IdP に置き換えてください。Attribute をフェデレーション IdP にマッピングされたユーザー属性に、Attribute_Value をフェデレーションユーザーの属性に置き換えてください。

コマンドを正常に実行できた場合、出力には本文が空の HTTP 200 ステータスが表示されます。

リンク解除されたユーザーが、ユーザーの属性に表示されなくなったことを確認するには、admin-get-user コマンドを実行します。

フェデレーションユーザーをリンク解除した後は、ユーザーは IdP を使用して Amazon Cognito ユーザーアカウントにサインインできなくなります。

関連情報

サードパーティ ID プロバイダーでユーザープールにサインインする

マネージドログインとフェデレーションエラーの応答

AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ