Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 30, 2024

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

Amazon Cognito リソースのインポート

Amazon Cognito リソースのインポートは、以下のことを試みている場合に特に役立ちます:

  • Amplify Studio のデータモデルのフィールド/テーブルへのユーザーアクセスを認可する
  • Amplify Studio からユーザーとグループを管理する (AWS コンソールにログインする必要はありません)
  • インポートされた認証リソースを複数の Amplify 環境で再利用する

既存の Cognito ユーザープールをインポートする

Amplify Studio を使用して、既存の Amazon Cognito リソースを Amplify プロジェクトにインポートできます。

始めるには、アプリの Studio の Set up メニューから Authentication を選択します。Authentication ページで、Reuse existing Amazon Cognito resources を選択します。

Amazon Cognito ユーザープールリソースをインポートするために選択されたオプションが表示されている

アプリケーションに必要な Cognito ユーザープール と App クライアントを選択します。

次に Import をクリックして変更をデプロイします。

ベストプラクティスとして、以下の条件で少なくとも 2 つのアプリクライアントを作成することをお勧めします:

  • 少なくとも 1 つの「Web アプリクライアント」: クライアントシークレットを持たないアプリクライアント
  • 少なくとも 1 つの「ネイティブアプリクライアント」: クライアントシークレットを持つアプリクライアント

クライアントシークレットは、クライアントシークレットを保護するサーバー側コンポーネントを持つアプリケーションで使用されます。これが、ネイティブアプリクライアントが必要とする理由です。Cognito ユーザープールに App Client が 1 つだけ含まれている場合、これは Web クライアントとモバイルクライアントの両方に使用されます。

Cognito User Pools の詳細についてまたはUser Pool App Client の構成についてを参照してください。

また、Amplify CLI を使用してCognito ユーザープールリソースをインポートすることもできます。

既存の ID プールをインポートする

Amazon Cognito ID プールリソースをインポートするために有効にされた「Use identity pools」オプションが表示されている

ID プールを正常にインポートするために、以下の要件を満たす必要があります:

  • ID プールとの信頼関係を持つ認証済みロール
  • Amplify カテゴリのゲストユーザーアクセスを使用する場合のオプションの未認証ロール (例: Amazon S3 バケットまたは REST API エンドポイントへのゲストアクセス)。

これらのロールは通常、「Unauthenticated」アクセスを有効にして新しい ID プールを作成し、Amazon Cognito ユーザープールを認証プロバイダーとして設定した場合に自動的に構成されます。

ID プール の詳細についてを参照してください。

また、Amplify CLI を使用してCognito ID プールリソースをインポートすることもできます。

Cognito ID プールリソースをインポートするには、Cognito ユーザープールリソースが必要です。注: Amplify はインポートされたリソースのライフサイクルを管理しません。

ソースコードを更新する

以下のコマンドを実行して、ローカルアプリケーションのソースコードを更新します:

amplify pull

次に、以下のコマンドを実行して必要な GraphQL ファイルを生成します:

amplify codegen add

このコマンドを実行した後、以下が発生します:

  • Amplify ライブラリ設定ファイル (aws-exports.js、amplifyconfiguration.json) に選択した Amazon Cognito リソース情報が自動的に入力されます
  • 指定された既存の Amazon Cognito リソースが、すべての認証依存カテゴリ (API、Storage など) の認証と認可メカニズムとして提供されます
  • 許可した場合、Lambda 関数は選択した Amazon Cognito リソースにアクセスできるようになります。

マルチ環境サポート

環境をクローンするか新しい環境を作成すると、Amazon Cognito リソースをインポートする必要があります。

新しい環境で Amplify が認可リソースを管理するようにしたい場合は、インポートされた Cognito リソースのリンクを解除し、新しい環境に認可を追加します。これにより、新しい環境に新しい Amplify マネージド認可リソースが作成されます。

既存の Amazon Cognito ユーザープールまたは ID プールのリンクを解除する

既存の Amazon Cognito リソースのリンクを解除するには、Authentication ページの下部にある Unlink Cognito User Pool and Identity Pool をクリックし、プロンプトに従ってこのアクションを確認します。これにより、Amplify プロジェクトから参照される Amazon Cognito リソースのリンクが解除されるだけです。Amazon Cognito リソース自体は削除されません。