

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

# Amazon Cognito とは
<a name="what-is-amazon-cognito"></a>

Amazon Cognito はウェブアプリとモバイルアプリ用のアイデンティティプラットフォームです。これは、OAuth 2.0 アクセストークンと AWS 認証情報のための、ユーザーディレクトリであり、認証サーバーであり、認可サービスです。Amazon Cognito を使用すると、組み込みのユーザーディレクトリ、エンタープライズディレクトリ、Google や Facebook などのコンシューマー ID プロバイダーからユーザーを認証および認可できます。

**Topics**
+ [ユーザープール](#what-is-amazon-cognito-user-pools)
+ [アイデンティティプール](#what-is-amazon-cognito-identity-pools)
+ [Amazon Cognito の機能](#what-is-amazon-cognito-features)
+ [Amazon Cognito ユーザープールとアイデンティティプールの比較](#what-is-amazon-cognito-features-comparison)
+ [Amazon Cognito の使用開始方法](#getting-started-overview)
+ [リージョナルな可用性](#getting-started-regional-availability)
+ [Amazon Cognito の料金](#pricing-for-amazon-cognito)
+ [Amazon Cognito の一般的な用語と概念](cognito-terms.md)
+ [の開始方法 AWS](cognito-getting-started-account-iam.md)

その後に続く 2 つのコンポーネントが Amazon Cognito を構成します。これらは、ユーザーのアクセスニーズに応じて、独立して動作することも、連携して動作することもできます。

## ユーザープール
<a name="what-is-amazon-cognito-user-pools"></a>

![\[Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.\]](http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/images/user-pools-overview.png)


アプリまたは API のユーザーを認証および認可する場合は、ユーザープールを作成します。ユーザープールは、セルフサービスと管理者主導の両方によるユーザー作成、管理、認証を行うユーザーディレクトリです。ユーザープールは、独立したディレクトリや OIDC ID プロバイダー (IdP) でも、従業員や顧客のアイデンティティを提供するサードパーティプロバイダーの中間サービスプロバイダー (SP) でもかまいません。ユーザープールの SAML 2.0 および OIDC IdP における組織のワークフォースアイデンティティに対して、アプリでシングルサインオン (SSO) を提供できます。また、パブリック OAuth 2.0 アイデンティティストア (Amazon、Google、Apple、および Facebook) 内の組織のカスタマーアイデンティティに対して、アプリで SSO を提供することもできます。カスタマー ID およびアクセス管理 (CIAM) の詳細については、「[CIAM とは何ですか?](https://aws.amazon.com/what-is/ciam/)」を参照してください。

ユーザープールはアイデンティティプールとの統合を必要としません。ユーザープールから、認証された JSON ウェブトークン (JWT) をアプリ、ウェブサーバー、または API に直接発行できます。

## アイデンティティプール
<a name="what-is-amazon-cognito-identity-pools"></a>

![\[Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.\]](http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/images/identity-pools-overview.png)


認証されたユーザーまたは匿名ユーザーに  AWS  リソースへのアクセスを認可する場合は、Amazon Cognito アイデンティティプールを設定します。ID プールは、ユーザーにリソースを提供するためにアプリの AWS 認証情報を発行します。ユーザープールや SAML 2.0 サービスなど、信頼できる ID プロバイダーでユーザーを認証できます。また、オプションでゲストユーザーに認証情報を発行することもできます。ID プールは、ロールベースのアクセスコントロールと属性ベースのアクセスコントロールの両方を使用して、ユーザーの AWS リソースへのアクセス許可を管理します。

アイデンティティプールはユーザープールとの統合を必要としません。アイデンティティプールは、ワークフォースとコンシューマーの両方の ID プロバイダーからの認証済みクレームを直接受け入れることができます。

**Amazon Cognito のユーザープールとアイデンティティプールの併用**

このトピックの最初の図では、Amazon Cognito を使用してユーザーを認証し、ユーザーにアクセス権を付与します。 AWS のサービス

1. アプリユーザーはユーザープールを介してサインインし、OAuth 2.0 トークンを受け取ります。

1. アプリは、 AWS APIs および AWS Command Line Interface () で使用できる一時的な AWS 認証情報として、ユーザープールトークンを ID プールと交換しますAWS CLI。

1. アプリは認証情報セッションをユーザーに割り当て、Amazon S3 や Amazon DynamoDB AWS のサービス などの に承認されたアクセスを提供します。

アイデンティティプールとユーザープールを使用するその他の例については、「[Amazon Cognito の一般的なシナリオ](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html)」を参照してください。

Amazon Cognito では、[責任分担モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)による*クラウド義務のセキュリティ*は、SOC 1～3、PCI DSS、ISO 27001 に準拠し、HIPAA-BAA に対応しています。Amazon Cognito では、SOC1～3、ISO 27001、HIPAA-BAA に準拠し、PCI DSS に準拠し、PCI DSS に準拠し、Amazon Cognito で*クラウド内のセキュリティ*を設計できます。詳細については、[[AWS 対象範囲内のサービス]](https://aws.amazon.com/compliance/services-in-scope/)を参照してください。[リージョンデータに関する考慮事項](https://docs.aws.amazon.com/cognito/latest/developerguide/security-cognito-regional-data-considerations.html)も参照してください。

## Amazon Cognito の機能
<a name="what-is-amazon-cognito-features"></a>

### ユーザープール
<a name="what-is-amazon-cognito-features-user-pools"></a>

Amazon Cognito ユーザープールは、ユーザーディレクトリです。ユーザープールを使用することで、ユーザーはウェブまたはモバイルアプリに Amazon Cognito 経由でサインインする、またはサードパーティー IdP 経由でフェデレートすることができます。フェデレーションとローカルユーザーには、ユーザープールにユーザープロファイルがあります。

ローカルユーザーとは、ユーザーがユーザープールにサインアップした、または直接作成したユーザーです。これらのユーザープロファイルは、、 AWS SDK AWS マネジメントコンソール、または AWS Command Line Interface () で管理およびカスタマイズできますAWS CLI。

Amazon Cognito ユーザープールは、サードパーティー IdPs からのトークンとアサーションを受け取り、ユーザー属性を JWT に収集してアプリに発行します。アプリを 1 つの JWT セットで標準化できます。一方、Amazon Cognito が IdP とのインタラクションを処理し、IdPs のクレームを中央トークン形式にマッピングします。

Amazon Cognito ユーザープールは、スタンドアロンIdP である可能性があります。Amazon Cognito は OpenID Connect (OIDC) 標準に基づいて、認証と認可のための JWT を生成しています。ローカルユーザーをログインさせると、ユーザープールがそれらのユーザーに対して権限を持つことになります。ローカルユーザーを認証すると、次の機能にアクセスできます。
+ Amazon Cognito ユーザープール API を呼び出してユーザーを認証、認可、管理する独自のウェブフロントエンドを実装します。
+ ユーザーに多要素認証 (MFA) を設定します。Amazon Cognito は、タイムベースドワンタイムパスワード (TOTP) と SMS メッセージ MFA をサポートしています。
+ 悪意のある管理下にあるユーザーアカウントからのアクセスから保護します。
+ 独自のカスタムマルチステップ認証フローを作成します。
+ 別のディレクトリでユーザーを検索し、Amazon Cognito に移行します。

Amazon Cognito ユーザープールは、IdP のサービスプロバイダー (SP) とアプリの IdPs という二重の役割を果たすこともできます。Amazon Cognito ユーザープールは、Facebook や Google などのコンシューマー IdPs や、Okta やアクティブディレクトリフェデレーションサービス (ADFS) などのワークフォース IdPs に接続できます。

Amazon Cognito ユーザープールが発行する OAuth 2.0 トークンと OpenID Connect (OIDC) トークンを使用すると、次のことができるようになります。
+ ユーザーを認証し、ユーザープロファイルの設定に必要な情報を提供する ID トークンをアプリ内で受け入れる
+ ユーザーの API 呼び出しを許可する OIDC スコープを使用して、API でアクセストークンを受け入れます。
+ Amazon Cognito ID プールから AWS 認証情報を取得します。


| 
| 
| 機能 | 説明 | 
| --- |--- |
| OIDC identity provider | Issue ID tokens to authenticate users | 
| Authorization server | Issue access tokens to authorize user access to APIs | 
| SAML 2.0 service provider | Transform SAML assertions into ID and access tokens | 
| OIDC relying party | Transform OIDC tokens into ID and access tokens | 
| Social provider relying party | Transform ID tokens from Apple, Facebook, Amazon, or Google to your own ID and access tokens | 
| Authentication frontend service | Sign up, manage, and authenticate users with managed login | 
| API support for your own UI | Create, manage and authenticate users through authentication API requests in supported AWS SDKs¹ | 
| Multi-factor authentication | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ | 
| Security monitoring & response | Secure against malicious activity and insecure passwords¹ | 
| Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows² | 
| Groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools | 
| Customize tokens | Customize your ID and access tokens with new, modified, and suppressed claims | 
| Customize user attributes | Assign values to user attributes and add your own custom attributes | 

¹ フェデレーションユーザーは、この機能を使用できません。

² フェデレーションユーザーとマネージドログインユーザーは、この機能を使用できません。

ユーザープールの詳細については、「[ユーザープールの開始方法](getting-started-user-pools.md)」と[Amazon Cognito ユーザープール API リファレンス](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/)を参照してください。

### アイデンティティプール
<a name="what-is-amazon-cognito-features-identity-pools"></a>

アイデンティティプールは、ユーザーまたはゲストに割り当てて一時的な  AWS  認証情報を受け取ることを許可する一意の識別子 (ID) の集まりです。SAML 2.0、OpenID Connect (OIDC)、または OAuth 2.0 ソーシャル ID プロバイダー (IdP) からの信頼できるクレームという形でアイデンティティプールに認証証明書を提示すると、ユーザーをアイデンティティプールの ID に関連付けます。ID プールが ID 用に作成するトークンは、 AWS Security Token Service () から一時的なセッション認証情報を取得できますAWS STS。

認証されたアイデンティティを補完するために、IdP 認証なしで  AWS   アクセスを認可するようにアイデンティティプールを設定することもできます。[デベロッパーが認証した ID](developer-authenticated-identities.md) を使用して、カスタム認証証明を提供できます。[認証されていない ID](identity-pools.md#authenticated-and-unauthenticated-identities) を使用して、ゲストユーザーに一時的な AWS 認証情報を付与することもできます。

アイデンティティプールでは、 AWS アカウントにおける IAM ポリシーとの統合方法が 2 つあります。これら 2 つの機能は一緒に使用することも、個別に使用することもできます。

**ロールベースアクセスコントロール**  
ユーザーがアイデンティティプールにクレームを渡すと、Amazon Cognito はリクエストする IAM ロールを選択します。ロールの権限をニーズに合わせてカスタマイズするには、各ロールに IAM ポリシーを適用します。たとえば、ユーザーがマーケティング部門に所属していることを証明すると、マーケティング部門のアクセスニーズに合わせたポリシーが設定されたロールの認証情報を受け取ります。Amazon Cognito では、デフォルトロール、ユーザーのクレームをクエリするルールに基づくロール、またはユーザープール内のユーザーのグループメンバーシップに基づくロールをリクエストできます。IAM がユーザーのアイデンティティプールのみを信頼して一時的なセッションを生成するようにロールの信頼ポリシーを設定することもできます。

**アクセスコントロールの属性**  
アイデンティティプールはユーザーのクレームから属性を読み取り、ユーザーの一時セッションのプリンシパルタグにマッピングします。次に、アイデンティティプールからセッションタグを伝達する IAM プリンシパルに基づいてリソースへのアクセスを許可または拒否するように IAM リソースベースのポリシーを設定できます。たとえば、ユーザーがマーケティング部門にいることを実証した場合、 はセッション に AWS STS タグを付けます`Department: marketing`。Amazon S3 バケットでは、`Department` タグの `marketing` の値が必要な [aws: PrincipalTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag) 条件に基づく読み取りオペレーションが許可されます。


| 
| 
| 機能 | 説明 | 
| --- |--- |
| Amazon Cognito user pool relying party | Exchange an ID token from your user pool for web identity credentials from AWS STS | 
| SAML 2.0 service provider | Exchange SAML assertions for web identity credentials from AWS STS | 
| OIDC relying party | Exchange OIDC tokens for web identity credentials from AWS STS | 
| Social provider relying party | Exchange OAuth tokens from Amazon, Facebook, Google, Apple, and Twitter for web identity credentials from AWS STS | 
| Custom relying party | With AWS credentials, exchange claims in any format for web identity credentials from AWS STS | 
| Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication | 
| Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your roles to only be assumed in the context of your identity pool | 
| Attribute-based access control | Convert claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags | 

アイデンティティプールの詳細については、「[Amazon Cognito アイデンティティプールの開始方法](getting-started-with-identity-pools.md)」と「[Amazon Cognito ID プール API リファレンス](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/)」を参照してください。



## Amazon Cognito ユーザープールとアイデンティティプールの比較
<a name="what-is-amazon-cognito-features-comparison"></a>


| 
| 
| 機能 | 説明 | ユーザープール | アイデンティティプール | 
| --- |--- |--- |--- |
| OIDC identity provider | Issue OIDC ID tokens to authenticate app users | ✓ |  | 
| User directory | Store user profiles for authentication | ✓ |  | 
| Authorize API access | Issue access tokens to authorize user access to APIs (including user profile self-service API operations), databases, and other resources that accept OAuth scopes | ✓ |  | 
| IAM web identity authorization | Generate tokens that you can exchange with AWS STS for temporary AWS credentials |  | ✓ | 
| SAML 2.0 service provider & OIDC identity provider | Issue customized OIDC tokens based on claims from a SAML 2.0 identity provider | ✓ |  | 
| OIDC relying party & OIDC identity provider | Issue customized OIDC tokens based on claims from an OIDC identity provider | ✓ |  | 
| OAuth 2.0 relying party & OIDC identity provider | Issue customized OIDC tokens based on scopes from OAuth 2.0 social providers like Apple and Google | ✓ |  | 
| SAML 2.0 service provider & credentials broker | Issue temporary AWS credentials based on claims from a SAML 2.0 identity provider |  | ✓ | 
| OIDC relying party & credentials broker | Issue temporary AWS credentials based on claims from an OIDC identity provider |  | ✓ | 
| Social provider relying party & credentials broker | Issue temporary AWS credentials based on JSON web tokens from developer applications with social providers like Apple and Google |  | ✓ | 
| Amazon Cognito user pool relying party & credentials broker | Issue temporary AWS credentials based on JSON web tokens from Amazon Cognito user pools |  | ✓ | 
| Custom relying party & credentials broker | Issue temporary AWS credentials to arbitrary identities, authorized by developer IAM credentials |  | ✓ | 
| Authentication frontend service | Sign up, manage, and authenticate users with managed login | ✓ |  | 
| API support for your own authentication UI | Create, manage and authenticate users through API requests in supported AWS SDKs¹ | ✓ |  | 
| MFA | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ | ✓ |  | 
| Security monitoring & response | Protect against malicious activity and insecure passwords¹ | ✓ |  | 
| Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows¹ | ✓ |  | 
| User groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools | ✓ |  | 
| Customize tokens | Customize your ID and access tokens with new, modified, and suppressed claims and scopes | ✓ |  | 
| AWS WAF web ACLs | Monitor and control requests to your authentication front end with AWS WAF | ✓ |  | 
| Customize user attributes | Assign values to user attributes and add your own custom attributes | ✓ |  | 
| Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication |  | ✓ | 
| Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your role trust to limit access to web identity users |  | ✓ | 
| Attribute-based access control | Transform user claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags |  | ✓ | 

¹ フェデレーションユーザーは、この機能を使用できません。

## Amazon Cognito の使用開始方法
<a name="getting-started-overview"></a>

ユーザープールアプリケーションの例については、「[ユーザープールの開始方法](getting-started-user-pools.md)」を参照してください。

アイデンティティプールの概要については、「[Amazon Cognito アイデンティティプールの開始方法](getting-started-with-identity-pools.md)」を参照してください。

ユーザープールとアイデンティティプールのガイド付きセットアップエクスペリエンスへのリンクについては、「[Amazon Cognito のガイド付きセットアップオプション](cognito-guided-setup.md)」を参照してください。

 AWS SDK の使用を開始するには、[AWS 「 デベロッパーツール](https://aws.amazon.com/products/developer-tools)」を参照してください。Amazon Cognito 専用のデベロッパーリソースについては、「[Amazon Cognito のリソース](https://aws.amazon.com/cognito/dev-resources/)」を参照してください。

Amazon Cognito を使用するには、 AWS アカウントが必要です。詳細については、「[の開始方法 AWS](cognito-getting-started-account-iam.md)」を参照してください。

## リージョナルな可用性
<a name="getting-started-regional-availability"></a>

Amazon Cognito は、世界中の複数の AWS リージョンで利用できます。各リージョンで、Amazon Cognito は複数のアベイラビリティーゾーンに分散されています。これらのアベイラビリティーゾーンは物理的に相互に分離されていますが、低レイテンシーで高スループットの冗長性に優れたプライベートネットワーク接続で統合されています。これらのアベイラビリティーゾーンにより、 AWS はレイテンシーを最小限に抑えながら、Amazon Cognito などのサービスを非常に高いレベルの可用性と冗長性で提供できます。

Amazon Cognito が現在 で利用可能かどうかを確認するには AWS リージョン、[AWS 「リージョン別のサービス](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。

リージョン API サービスエンドポイントの詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS regions and endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html##cognito_identity_region)」を参照してください。

各リージョンで利用できるアベイラビリティーゾーンの数の詳細については、「[AWS グローバルインフラストラクチャ](https://aws.amazon.com/about-aws/global-infrastructure/)」を参照してください。

## Amazon Cognito の料金
<a name="pricing-for-amazon-cognito"></a>

Amazon Cognitoの料金については、「[Amazon Cognito の料金](https://aws.amazon.com/cognito/pricing/)」を参照してください。

# Amazon Cognito の一般的な用語と概念
<a name="cognito-terms"></a>

Amazon Cognito は、ウェブアプリケーションおよびモバイルアプリケーションの認証情報を提供します。これは、*ID 管理とアクセス管理*の一般的な用語に基づいて構築されています。ID とアクセスで一般的に使用される用語については、多くのガイドがあります。いくつか例を挙げます。
+ IDPro ナレッジボディの[用語](https://bok.idpro.org/article/id/41/)
+ [AWS ID サービス](https://aws.amazon.com/identity/)
+ NIST CSRC の[用語集](https://csrc.nist.gov/glossary)

次のリストは、Amazon Cognito に固有の用語や、Amazon Cognito の特定のコンテキストがある用語を説明しています。

**Topics**
+ [全般](#cognito-terms-general)
+ [ユーザープール](#cognito-terms-user-pools)
+ [アイデンティティプール](#cognito-terms-identity-pools)

## 全般
<a name="cognito-terms-general"></a>

このリストの用語は Amazon Cognito に固有のものではなく、Identity and Access Management 実務者の間で広く認識されているものです。以下は、用語の包括的なリストではなく、このガイド中の特定の Amazon Cognito コンテキストについてのガイドです。

**アクセストークン**  <a name="terms-accesstoken"></a>
情報システムにアクセスするためのエンティティの[認可](#terms-authorization)に関する情報を含む JSON ウェブトークン (JWT)。

**アプリ、アプリケーション**  
通常、モバイルアプリケーションを指します。このガイドで、*アプリケーション*とは、多くの場合、Amazon Cognito に接続するウェブアプリケーションまたはモバイルアプリケーションの略語です。

**属性ベースのアクセスコントロール (ABAC)**  <a name="terms-abac"></a>
ユーザーの役職や部門などのユーザーのプロパティに基づいてアプリケーションがリソースへのアクセスを決定するモデル。ABAC を適用するための Amazon Cognito ツールには、ユーザープールの ID トークンとアイデンティティプールの[プリンシパルタグ](#term-afac)が含まれます。

**認証**  <a name="terms-authentication"></a>
情報システムへのアクセスを目的として本人確認を行うプロセス。Amazon Cognito は、サードパーティの ID プロバイダーからの認証証明を受け入れるとともに、ソフトウェアアプリケーションの認証プロバイダーにもなります。

**認可**  <a name="terms-authorization"></a>
リソースにアクセス許可を付与するプロセス。ユーザープールの[アクセストークン](#terms-accesstoken)には、アプリケーションがユーザーやシステムに対してリソースへのアクセスを許可するための情報が含まれています。

**認可サーバー**  <a name="term-authzserver"></a>
[JSON ウェブトークン](#terms-jwt)を生成する OAuth または OpenID Connect (OIDC) システム。Amazon Cognito ユーザープールの[マネージド認可サーバー](#terms-managedauthorizationserver)は、ユーザープールの 2 つの認証および認可方法の認可サーバーコンポーネントです。ユーザープールは、[SDK 認証](#terms-upapi)で API チャレンジレスポンスフローもサポートしています。

**機密アプリケーション、サーバー側アプリケーション**  
ユーザーがアプリケーションサーバー上のコードとシークレットへのアクセスを使用してリモートに接続するアプリケーション。これは通常、ウェブアプリケーションです。

**ID プロバイダー (IdP)**  <a name="terms-idp"></a>
ユーザー ID を保存して検証するサービス。Amazon Cognito は、[外部プロバイダー](#terms-externalprovider)に認証をリクエストし、アプリケーションへの IdP として機能できます。

**JSON ウェブトークン (JWT)**  <a name="terms-jwt"></a>
認証されたユーザーに関するクレームを含む JSON 形式のドキュメント。ID トークンはユーザーを認証し、アクセストークンはユーザーを認可し、更新トークンは認証情報を更新します。Amazon Cognito は[外部プロバイダー](#terms-externalprovider)からトークンを受け取り、アプリケーションまたは AWS STS にトークンを発行します。

**Machine to machine (M2M) 認可**  <a name="terms-m2m"></a>
ウェブサーバーアプリケーション層など、非ユーザーインタラクティブなマシンエンティティの API エンドポイントへのリクエストを認可するプロセス。ユーザープールは、[アクセストークン](#terms-accesstoken)の OAuth 2.0 スコープを使用して、クライアント認証情報の付与における M2M 認可を提供します。

**多要素認証 (MFA)**  <a name="terms-mfa"></a>
ユーザーがユーザー名とパスワードを入力した後に追加の認証を行う必要があるという要件。Amazon Cognito ユーザープールには、[ローカルユーザー](#terms-localuser)用の MFA 機能があります。

**OAuth 2.0 (ソーシャル) プロバイダー**  <a name="terms-oauth"></a>
[JWT](#terms-jwt) アクセスと更新トークンを提供するユーザープールまたはアイデンティティプールへの IdP。Amazon Cognito ユーザープールは、ユーザーが認証された後にソーシャルプロバイダーとのインタラクションを自動化します。

**OpenID Connect (OIDC) プロバイダー**  
[OAuth](#terms-oauth) 仕様を拡張して ID トークンを提供するユーザープールまたはアイデンティティプールへの IdP。Amazon Cognito ユーザープールは、ユーザーが認証された後に OIDC プロバイダーとのインタラクションを自動化します。

**パスキー、WebAuthn**  
ユーザーのデバイス上の暗号化キー (パスキー) で認証の証明を行う認証形式。ユーザーは、ハードウェアやソフトウェア認証ツールの生体認証または PIN コードメカニズムを通じて本人確認を行います。パスキーは、フィッシング攻撃に耐性があり、特定のウェブサイトやアプリケーションにバインドされているため、パスワードなしで安全に操作できます。Amazon Cognito ユーザープールは、パスキーを使用したサインインをサポートしています。

**パスワードなし**  
ユーザーがパスワードを入力する必要がない認証形式。パスワードなしのサインイン方法には、E メールアドレスと電話番号、およびパスキーに対して送信されるワンタイムパスワード (OTP) が含まれます。Amazon Cognito ユーザープールは、OTP とパスキーを使用したサインインをサポートしています。

**パブリックアプリケーション**  
コードがローカルに保存され、シークレットへのアクセスを持たない、デバイス上で自己完結するアプリケーション。これは通常、モバイルアプリケーションです。

**リソースサーバー**  
アクセスコントロールを持つ API。また、Amazon Cognito ユーザープールは、*リソースサーバー*を使用して、API を操作するための設定を定義するコンポーネントを記述します。

**ロールベースのアクセスコントロール (RBAC)**  
ユーザーの職能指定に基づいてアクセスを許可するモデル。Amazon Cognito アイデンティティプールは、各 IAM ロールを区別して RBAC を実装します。

**サービスプロバイダー (SP)、依拠しているパーティー (RP)**  <a name="terms-relyingparty"></a>
ユーザーが信頼できることをアサートするために IdP に依存するアプリケーション。Amazon Cognito は、外部 IdP の SP として、また、アプリケーションベースの SP の IdP として機能します。

**SAML プロバイダー**  
ユーザーが Amazon Cognito に渡すデジタル署名されたアサーションドキュメントを生成するユーザープールまたはアイデンティティプールへの IdP。

**Universally Unique Identifier (UUID)**  <a name="terms-uuid"></a>
オブジェクトに適用される 128 ビットのラベル。Amazon Cognito UUID はユーザープールまたはアイデンティティプールごとに一意ですが、特定の UUID 形式に準拠していません。

**ユーザーディレクトリ**  <a name="terms-userdirectory"></a>
特定の情報を他のシステムに提供するユーザーとその属性の集合。Amazon Cognito ユーザープールはユーザーディレクトリであり、外部ユーザーディレクトリのユーザーを統合するためのツールでもあります。

## ユーザープール
<a name="cognito-terms-user-pools"></a>

このガイドで、次のリストの用語は、ユーザープールの特定の機能または設定を参照しています。

**アダプティブ認証**  <a name="terms-adaptiveauthentication"></a>
潜在的な悪意のあるアクティビティを検出し、[ユーザープロファイル](#terms-userprofile)に追加のセキュリティを適用する[高度なセキュリティ](#term-advancedsecurity)の機能。

**アプリケーションクライアント**  <a name="term-appclient"></a>
ユーザープールの設定を 1 つのアプリケーションへの IdP として定義するコンポーネント。

**コールバック URL、リダイレクト URI、リターン URL**  <a name="term-callbackurl"></a>
[アプリケーションクライアント](#term-appclient)の設定と、ユーザープールの[認可サーバー](#terms-managedauthorizationserver)へのリクエストのパラメータ。コールバック URL は、[アプリケーション](#term-app)の認証済みユーザーの最初の送信先です。

**選択ベースの認証**  <a name="terms-choicebasedauthentication"></a>
ユーザープールでの API 認証形式であり、各ユーザーは複数のサインイン方法から選択できます。ユーザー名とパスワード (MFA を使用または不使用)、パスキーによるサインイン、E メールまたは SMS メッセージのワンタイムパスワードによるパスワードなしのサインインなどから選択できます。アプリケーションは、認証オプションのリストをリクエストするか、希望するオプションを宣言することで、ユーザーが選択するプロセスを方向付けることができます。  
[クライアントベースの認証](#terms-declarativeauthentication)と比較してください。

**クライアントベースの認証**  <a name="terms-declarativeauthentication"></a>
ユーザープールの API と AWS SDK で構築されたアプリケーションのバックエンドを使用した認証形式。宣言型認証の場合、アプリケーションはユーザーが実行すべきログインタイプを独自に決定し、そのタイプを事前にリクエストします。  
[選択ベースの認証](#terms-choicebasedauthentication)と比較してください。

**漏えいした認証情報**  
攻撃者が知っている可能性のあるユーザーパスワードを検出し、[ユーザープロファイル](#terms-userprofile)に追加のセキュリティを適用する[高度なセキュリティ](#term-advancedsecurity)機能。

**確認**  <a name="terms-confirmation"></a>
新しいユーザーがサインインできるように、前提条件が満たされていると判断するプロセス。確認は通常、E メールアドレスまたは電話番号の[検証](#terms-verification)を通じて行われます。

**カスタム認証**  
[Lambda トリガー](#terms-triggers)を使用した認証プロセスの拡張で、追加のユーザーチャレンジとレスポンスを定義するもの。

**デバイス認証**  
[MFA](#terms-mfa) を、信頼されたデバイスの ID を使用するサインインに置き換える認証プロセス。

**ドメイン、ユーザープールドメイン**  <a name="terms-domain"></a>
AWS で[マネージドログインページ](#terms-managedlogin)をホストするウェブドメイン。独自に所有するドメインで DNS を設定することも、AWS が所有するドメインで識別用のサブドメインプレフィックスを使用することもできます。

**エッセンシャルプラン**  <a name="terms-essentialsplan"></a>
ユーザープールの最新の開発が含まれた[機能プラン](#terms-featureplan)。エッセンシャルプランには、[プラスプラン](#terms-plusplan)の自動学習型セキュリティ機能は含まれていません。

**外部プロバイダー、サードパーティープロバイダー**  <a name="terms-externalprovider"></a>
ユーザープールと信頼関係がある IdP。ユーザープールは、外部プロバイダーとアプリケーション間の中間エンティティとして機能し、SAML 2.0、OIDC、およびソーシャルプロバイダーによる認証プロセスを管理します。ユーザープールは、外部プロバイダーの認証結果を 1 つの IdP に統合するため、アプリケーションは単一の、OIDC に依拠しているパーティのライブラリで多数のユーザーを処理できます。

**機能プラン**  <a name="terms-featureplan"></a>
ユーザープールに選択できる機能のグループ。機能プランごとに AWS 請求のコストは異なります。新しいユーザープールには、デフォルトで[エッセンシャルプラン](#terms-essentialsplan)が適用されます。  

**現在のプラン**
+ [ライトプラン](#terms-liteplan)
+ [エッセンシャルプラン](#terms-essentialsplan)
+ [プラスプラン](#terms-plusplan)

**フェデレーションユーザー、外部ユーザー**  <a name="terms-federateduser"></a>
[外部プロバイダー](#terms-externalprovider)によって認証されたユーザープール内のユーザー。

**ホストされた UI (クラシック)、ホストされた UI ページ**  <a name="terms-hostedui"></a>
ユーザープールドメインにおける認証フロントエンド、依拠しているパーティ、および ID プロバイダーサービスの初期バージョン。ホストされた UI は、基本的な機能セットと、シンプルな外観と操作感を備えています。ロゴ画像ファイルと事前定義済みの CSS スタイルセットを含むファイルをアップロードして、ホステッド UI ブランディングを適用できます。[マネージドログイン](#terms-managedlogin)と比較してください。

**Lambda トリガー**  <a name="terms-triggers"></a>
ユーザープールがユーザー認証プロセスのキーポイントで自動的に呼び出すことができる AWS Lambda 関数。Lambda トリガーを使用して認証結果をカスタマイズできます。

**ローカルユーザー**  <a name="terms-localuser"></a>
ユーザープール[ユーザーディレクトリ](#terms-userdirectory)内の[ユーザープロファイル](#terms-userprofile)で、[外部プロバイダー](#terms-externalprovider)による認証によって作成されなかったもの。

**リンクされたユーザー**  <a name="terms-linkeduser"></a>
ID が[ローカルユーザー](#terms-localuser)とマージされる[外部プロバイダー](#terms-externalprovider)のユーザー。

**ライトプラン**  <a name="terms-liteplan"></a>
ユーザープールの最初にリリースされた機能が含まれている[機能プラン](#terms-featureplan)。ライトプランには、[エッセンシャルプラン](#terms-essentialsplan)の新機能や[プラスプラン](#terms-plusplan)の自動学習型セキュリティ機能は含まれていません。

**マネージド認可サーバー、ホストされた UI 認可サーバー、認可サーバー**  <a name="terms-managedauthorizationserver"></a>
[マネージドログイン](#terms-managedlogin)のコンポーネントであり、[ユーザープールドメイン](#terms-domain)で、IdP とアプリケーションとのやり取り用のサービスをホストします。[ホストされた UI](#terms-hostedui) は、マネージドログインとは、提供するユーザーインタラクティブ機能が異なりますが、認可サーバー機能は同じです。

**マネージドログイン、マネージドログインページ**  <a name="terms-managedlogin"></a>
[ユーザープールドメイン](#terms-domain)で、ユーザー認証用のサービスをホストする一連のウェブページ。これらのサービスには、[IdP](#terms-idp)、サードパーティ IdP に[依拠しているパーティ](#terms-relyingparty)、およびユーザーインタラクティブ認証 UI のサーバーとして動作する機能が含まれています。ユーザープールのドメインを設定すると、Amazon Cognito のすべてのマネージドログインページがオンラインになります。  
アプリケーションは、OIDC ライブラリをインポートすることで、ユーザーのブラウザを起動してマネージドログイン UI に誘導し、サインアップ、サインイン、パスワード管理、その他の認証オペレーションを行います。認証後、OIDC ライブラリは認証リクエストの結果を処理できます。

**マネージドログイン認証**  <a name="terms-managedloginauthentication"></a>
ユーザーインタラクティブなブラウザページまたは HTTPS API リクエストを使用して、[ユーザープールドメイン](#terms-domain)のサービスにサインインします。アプリケーションは OpenID Connect (OIDC) ライブラリを使用してマネージドログイン認証を処理します。このプロセスには、[外部プロバイダー](#terms-externalprovider)によるサインイン、インタラクティブマネージドログインページによるローカルユーザーのサインイン、[M2M 認可](#terms-m2m)が含まれます。クラシックの[ホストされた UI](#terms-hostedui) による認証も、この用語に該当します。  
[AWS SDK 認証](#terms-upapi)と比較してください。

**プラスプラン**  <a name="terms-plusplan"></a>
ユーザープールの最新の開発と高度なセキュリティ機能を備えた[機能プラン](#terms-featureplan)。

**SDK 認証、AWS SDK 認証**  
AWS SDK を使用してアプリケーションのバックエンドに追加できる認証および認可 API オペレーションのセット。この認証モデルには、独自のカスタム構築したログインメカニズムが必要です。API は、[ローカルユーザー](#terms-localuser)と[リンクされたユーザー](#terms-linkeduser)にサインインできます。  
[マネージドログイン認証](#terms-managedloginauthentication)と比較してください。

**脅威保護、高度なセキュリティ機能**  <a name="term-advancedsecurity"></a>
ユーザープールでの脅威保護とは、認証および認可メカニズムに対する脅威を軽減するように設計されたテクノロジーを指します。アダプティブ認証、漏えいした認証情報の検出、IP アドレスのブロックリストは、脅威保護のカテゴリに含まれます。

**トークンのカスタマイズ**  
実行時にユーザーの ID またはアクセストークンを変更するトークン生成前の [Lambda トリガー](#terms-triggers)の結果。

**ユーザープール、Amazon Cognito ID プロバイダー、`cognito-idp`、Amazon Cognito ユーザープール**  
OIDC IdP と連携するアプリケーションの認証および認可サービスを持つ AWS リソース。

**検証**  <a name="terms-verification"></a>
ユーザーが E メールアドレスまたは電話番号を所有していることを確認するプロセス。ユーザープールは、新しい E メールアドレスまたは電話番号を入力したユーザーにコードを送信します。Amazon Cognito にコードを送信すると、ユーザーがメッセージの送信先を所有していることを検証して、ユーザープールから追加のメッセージを受信できます。また、「[確認](#terms-confirmation)」を参照してください。

**ユーザープロファイル、ユーザーアカウント**  <a name="terms-userprofile"></a>
[ユーザーディレクトリ](#terms-userdirectory)内のユーザーのエントリ。サードパーティ IdP のユーザーを含むすべてのユーザーは、ユーザープールにプロファイルを持ちます。

## アイデンティティプール
<a name="cognito-terms-identity-pools"></a>

このガイドで、次のリストの用語は、アイデンティティプールの特定の機能または設定を参照しています。

**アクセスコントロールの属性**  <a name="term-afac"></a>
アイデンティティプールでの[属性ベースのアクセスコントロール](#terms-abac)の実装。アイデンティティプールは、ユーザー認証情報にユーザー属性をタグとして適用します。

**基本 (クラシック) 認証**  
[ユーザー認証情報](#terms-usercredentials)のリクエストをカスタマイズできる認証プロセス。

**デベロッパーが認証した ID**  
[デベロッパー認証情報](#terms-developercredentials)を使用してアイデンティティプールの[ユーザー認証情報](#terms-usercredentials)を認可する認証プロセス。

**デベロッパー認証情報**  <a name="terms-developercredentials"></a>
アイデンティティプール管理者の IAM API キー。

**拡張認証**  
IAM ロールを選択し、アイデンティティプールで定義したロジックに従ってプリンシパルタグを適用する認証フロー。

**ID**  
アプリケーションユーザーとその[ユーザー認証情報](#terms-usercredentials)を、アイデンティティプールと信頼関係がある外部[ユーザーディレクトリ](#terms-userdirectory)内のプロファイルにリンクする [UUID](#terms-uuid)。

**アイデンティティプール、Amazon Cognito フェデレーティッド ID、Amazon Cognito ID、 `cognito-identity`**  
[一時的な AWS 認証情報](#terms-usercredentials)を使用するアプリケーションの認証および認可サービスを持つ AWS リソース。

**認証されていない ID**  
アイデンティティプール IdP でサインインしていないユーザー。認証前に、ユーザーが単一の IAM ロールに対して制限付きユーザー認証情報を生成することを許可できます。

**ユーザー認証情報**  <a name="terms-usercredentials"></a>
アイデンティティプール認証後にユーザーが受け取る一時的な AWS API キー。

# の開始方法 AWS
<a name="cognito-getting-started-account-iam"></a>

Amazon Cognito の使用を開始する前に、必要な AWS リソースをいくつか用意してください。に既にサインインできる場合は AWS アカウント、このセクションをスキップできます。 AWS 認証情報を使用したサインアップとサインインに関する情報をお探しの場合は、引き続きお読みください。十分な AWS Identity and Access Management (IAM) アクセス許可を持つ認証情報を取得したら、[ユーザープール](getting-started-user-pools.md)と [ID プール](getting-started-with-identity-pools.md)の使用を開始できます。

## にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

## 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 のセキュリティを確保し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、*IAM* [ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイス](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)を有効にする」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 *AWS IAM アイデンティティセンター ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。