

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

# Amazon Cognito ログイン AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon Cognito は AWS CloudTrail、Amazon Cognito のユーザー、ロール、または のサービスによって実行されたアクションを記録する AWS サービスである と統合されています。CloudTrail は、Amazon Cognito の API コールのサブセットをイベントとしてキャプチャし、これには Amazon Cognit コンソールと、Amazon Cognito API 操作へのコードコールからのコールが含まれます。証跡を作成する場合、Amazon Cognito のイベントを含めた CloudTrail イベントの Amazon S3 バケットへの継続的な配信を有効にすることができます。追跡を設定しない場合でも、CloudTrail コンソールの **[Event history]** (イベント履歴) で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、Amazon Cognito に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細を確認できます。

設定や有効化の方法など、CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。

特定の CloudTrail イベントに対する Amazon CloudWatch アラームを作成することもできます。例えば、ID プールの設定が変更された場合にアラームがトリガーされるように CloudWatch を設定できます。詳細については、「[CloudTrail イベントの CloudWatch アラームの作成: 例](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudwatch-alarms-for-cloudtrail.html)」を参照してください。

**Topics**
+ [Amazon Cognito が CloudTrail に送信する情報](#amazon-cognito-info-in-cloudtrail)
+ [Amazon CloudWatch Logs Insights を使用した Amazon Cognito CloudTrail イベントの分析](#analyzingcteventscwinsight)
+ [Amazon Cognito イベントの例](understanding-amazon-cognito-entries.md)

## Amazon Cognito が CloudTrail に送信する情報
<a name="amazon-cognito-info-in-cloudtrail"></a>

CloudTrail は、 の作成時にオンになります AWS アカウント。Amazon Cognito でサポートされているイベントアクティビティが発生すると、そのアクティビティはイベント**履歴**の他の AWS サービスイベントとともに CloudTrail イベントに記録されます。 AWS アカウントで最近のイベントを表示、検索、ダウンロードできます。詳細については、「[CloudTrail Event 履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

Amazon Cognito のイベントなど、 AWS アカウントのイベントの継続的な記録については、証跡を作成します。CloudTrail の証跡がログファイルを Amazon S3 バケットに配信します。デフォルトでは、コンソールで証跡を作成すると、すべての リージョンに証跡が適用されます。証跡は、 AWS パーティション内のすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集されたイベントデータをさらに分析して処理するように他の AWS サービスを設定できます。詳細については、以下を参照してください。
+ [証跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-list)
+ [amazon SNS の CloudTrail 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。同一性情報は次の判断に役立ちます。
+ リクエストが、ルートと IAM ユーザー認証情報のどちらを使用して送信されたか。
+ リクエストがロールまたはフェデレーションユーザーの一時的なセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

**の機密データ AWS CloudTrail**  
ユーザープールと ID プールはユーザーデータを処理するため、Amazon Cognito は CloudTrail イベントの一部のプライベートフィールドを値 `HIDDEN_DUE_TO_SECURITY_REASONS` で非表示にします。Amazon Cognito がイベントに設定しないフィールドの例については、「[Amazon Cognito イベントの例](understanding-amazon-cognito-entries.md)」を参照してください。Amazon Cognito は、パスワードやトークンなど、一般的にユーザー情報を含む一部のフィールドだけを非表示にします。Amazon Cognito は、API リクエスト内の非公開フィールドに入力された個人識別情報の自動検出やマスキングを行いません。

### ユーザープールのイベント
<a name="user-pools-cloudtrail-events"></a>

Amazon Cognito は、[[User pool actions]](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_Operations.html) (ユーザープールのアクション) ページにリストされているすべてのアクションを、イベントとして CloudTrail ログファイルに記録することをサポートします。Amazon Cognito は、ユーザープールイベントを*管理イベント*として CloudTrail にログ記録します。

Amazon Cognito ユーザープールの CloudTrail エントリの `eventType` フィールドは、アプリケーションがリクエストした先が [Amazon Cognito ユーザープール API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html) であるのか、[OpenID Connect、SAML 2.0、またはマネージドログインページのリソースを提供するエンドポイント](cognito-userpools-server-contract-reference.md)であるのかを示します。API リクエストには `AwsApiCall` の `eventType` があり、エンドポイントリクエストには `AwsServiceEvent` の `eventType` があります。

Amazon Cognito は、マネージドログインサービスへの以下のリクエストを CloudTrail にイベントとして記録します。

------
#### [ Hosted UI (classic) events ]


**CloudTrail のホストされた UI (クラシック) のイベント**  

| 運用 | 説明 | 
| --- | --- | 
| Login\_GET, CognitoAuthentication | ユーザーは [ログインエンドポイント](login-endpoint.md) に認証情報を表示または送信します。 | 
| OAuth2\_Authorize\_GET, Beta\_Authorize\_GET | ユーザーは [認可エンドポイント](authorization-endpoint.md) を表示します。 | 
| OAuth2Response\_GET, OAuth2Response\_POST | ユーザーは IdP トークンを /oauth2/idpresponse エンドポイントに送信します。 | 
| SAML2Response\_POST, Beta\_SAML2Response\_POST | ユーザーは IdP SAML アサーションを /saml2/idpresponse エンドポイントに送信します。 | 
| Login\_OIDC\_SAML\_POST | ユーザーは、[ログインエンドポイント](login-endpoint.md) でユーザー名を入力し、[IdP identifier](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-integrating-3rd-party-saml-providers.html) と一致させます。 | 
| Token\_POST, Beta\_Token\_POST | ユーザーは、認可コードを[トークンエンドポイント](token-endpoint.md)に送信します。 | 
| Signup\_GET, Signup\_POST | ユーザーは、サインアップ情報を /signup エンドポイントに送信します。 | 
| Confirm\_GET, Confirm\_POST | ユーザーは、ホストされた UI で確認コードを送信します。 | 
| ResendCode\_POST | ユーザーは、ホストされた UI で確認コードの再送リクエストを送信します。 | 
| ForgotPassword\_GET, ForgotPassword\_POST | ユーザーは、パスワードのリセットリクエストを /forgotPassword エンドポイントに送信します。 | 
| ConfirmForgotPassword\_GET, ConfirmForgotPassword\_POST | ユーザーは、ForgotPassword リクエストを確認するコードを /confirmForgotPassword エンドポイントに送信します。 | 
| ResetPassword\_GET, ResetPassword\_POST | ユーザーは、ホストされた UI で新しいパスワードを送信します。 | 
| Mfa\_GET, Mfa\_POST | ユーザーは、ホストされた UI で多要素認証 (MFA) コードを送信します。 | 
| MfaOption\_GET, MfaOption\_POST | ユーザーは、ホストされた UI で MFA の好みの方法を選択します。 | 
| MfaRegister\_GET, MfaRegister\_POST | ユーザーは、MFA の登録時にホストされた UI で多要素認証 (MFA) コードを送信します。 | 
| Logout | ユーザーは、/logout エンドポイントでサインアウトします。 | 
| SAML2Logout\_POST | ユーザーは、/saml2/logout エンドポイントでサインアウトします。 | 
| Error\_GET | ユーザーは、ホストされた UI でエラーページを表示します。 | 
| UserInfo\_GET, UserInfo\_POST | ユーザーまたは IdP は、[userInfo エンドポイント](userinfo-endpoint.md) と情報を交換します。 | 
| Confirm\_With\_Link\_GET | ユーザーは、Amazon Cognito が E メールメッセージで送信したリンクに基づいて確認を送信します。 | 
| Event\_Feedback\_GET | ユーザーが、[脅威保護](cognito-user-pool-settings-threat-protection.md)イベントに関するフィードバックを Amazon Cognito に送信します。 | 

------
#### [ Managed login events ]


**CloudTrail でのマネージドログインのイベント**  

| 運用 | 説明 | 
| --- | --- | 
| login\_POST | ユーザーが認証情報を [ログインエンドポイント](login-endpoint.md) に送信します。 | 
| login\_continue\_POST | 既に 1 回サインインしているユーザーが、再度サインインすることを選択します。 | 
| forgotPassword\_POST | ユーザーがパスワードをリセットします。 | 
| selectChallenge\_POST | ユーザーが、ユーザー名または認証情報を送信した後で、認証チャレンジに応答します。 | 
| confirmUser\_GET | ユーザーが[確認または検証 E メールメッセージ](signing-up-users-in-your-app.md)でリンクを開きます。 | 
| mfa\_back\_POST | ユーザーが MFA プロンプトの後に [戻る] ボタンを選択します。 | 
| mfa\_options\_POST | ユーザーが MFA オプションを選択します。 | 
| mfa\_phone\_register\_POST | ユーザーが電話番号を送信して MFA 要素として登録します。このオペレーションにより、Amazon Cognito は電話番号宛に MFA コードを送信します。 | 
| mfa\_phone\_verify\_POST | ユーザーが電話番号で受け取った MFA コードを送信します。 | 
| mfa\_phone\_resendCode\_POST | ユーザーが、電話番号に MFA コードを再送信してもらうリクエストを送信します。 | 
| mfa\_totp\_POST | ユーザーが TOTP MFA コードを送信します。 | 
| signup\_POST | ユーザーが /signup マネージドログインページに情報を送信します。 | 
| signup\_confirm\_POST | ユーザーが E メールまたは SMS メッセージから確認コードを送信します。 | 
| verifyCode\_POST | ユーザーがパスワードなしの認証のためにワンタイムパスワード (OTP) を送信します。 | 
| passkeys\_add\_POST | ユーザーが新しいパスキー認証情報を登録するためのリクエストを送信します。 | 
| passkeys\_add\_GET | ユーザーがパスキーを登録できるページに移動します。 | 
| login\_passkey\_POST | ユーザーがパスキーでサインインします。 | 

------

**注記**  
ユーザー固有のリクエストについて、Amazon Cognito は CloudTrail ログに `UserSub` を記録しますが、`UserName` は記録しません。`ListUsers` API を呼び出し、sub のフィルターを使用することで、所定の `UserSub` のユーザーを見つけることができます。

### アイデンティティプールイベント
<a name="identity-pools-cloudtrail-events"></a>

**データイベント**

Amazon Cognito は、CloudTrail への Amazon Cognito ID イベントを*データイベント*としてログ記録します。[データイベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)は、CloudTrail がデフォルトではログ記録しない大量のデータプレーン API オペレーションです。追加の変更がイベントデータに適用されます。
+ [https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html)
+ [https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetId.html](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetId.html)
+ [https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdToken.html](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdToken.html)
+ [https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdTokenForDeveloperIdentity.html](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdTokenForDeveloperIdentity.html)
+ [https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_UnlinkIdentity.html](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_UnlinkIdentity.html)

これらの API オペレーションの CloudTrail ログを生成するには、トレイル内のデータイベントを有効にし、**Cognito ID プール**のイベントセレクターを選択する必要があります。詳細については、**「AWS CloudTrail ユーザーガイド」の「[証跡のデータイベントの記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)」を参照してください。

次の CLI コマンドを使用して、ID プールのイベントセレクターをトレイルに追加することもできます。

```
aws cloudtrail put-event-selectors --trail-name {{<trail name>}} --advanced-event-selectors \
"{\
   \"Name\": \"Cognito Selector\",\
   \"FieldSelectors\": [\
      {\
         \"Field\": \"eventCategory\",\
         \"Equals\": [\
            \"Data\"\
         ]\
      },\
      {\
         \"Field\": \"resources.type\",\
         \"Equals\": [\
            \"AWS::Cognito::IdentityPool\"\
         ]\
      }\
   ]\
}"
```

**管理イベント**

Amazon Cognito は、残りの Amazon Cognito アイデンティティプール API オペレーションを*管理イベント*としてログ記録します。CloudTrail は、デフォルトで管理イベント API オペレーションをログ記録します。

Amazon Cognito が CloudTrail にログ記録する Amazon Cognito ID API オペレーションのリストについては、[Amazon Cognito アイデンティティプール API リファレンス](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_Operations.html) をご覧ください。

**Amazon Cognito Sync**

Amazon Cognito は、すべての Amazon Cognito Sync API オペレーションを管理イベントとしてログ記録します。Amazon Cognito が CloudTrail にログ記録する Amazon Cognito Sync API オペレーションのリストについては、[Amazon Cognito Sync API Reference](https://docs.aws.amazon.com/cognitosync/latest/APIReference/API_Operations.html)(Amazon Cognito Sync API リファレンス) をご覧ください。

## Amazon CloudWatch Logs Insights を使用した Amazon Cognito CloudTrail イベントの分析
<a name="analyzingcteventscwinsight"></a>

Amazon CloudWatch Logs Insights は、Amazon Cognito CloudTrail イベントをインタラクティブに検索し、分析することを可能にします。イベントを CloudWatch Logs に送信するように証跡を設定すると、CloudTrail は証跡設定に一致するイベントのみを送信します。

Amazon Cognito CloudTrail イベントをクエリまたは調査するには、CloudTrail コンソールで証跡設定で **Management events** オプションを選択し、 AWS リソースで実行された管理オペレーションをモニタリングできるようにします。アカウント内でのエラー、異常なアクティビティ、または異常なユーザー動作を特定したい場合は、オプションで追跡設定の **[Insights イベント]** オプションを選択することができます。

### サンプル Amazon Cognito クエリ
<a name="analyzingcteventscwinsight-samplequeries"></a>

Amazon CloudWatch コンソールでは、以下のクエリを使用できます。

**一般的なクエリ**

最近追加された 25 件のログイベントを検索します。

```
fields @timestamp, @message | sort @timestamp desc | limit 25
| filter eventSource = "cognito-idp.amazonaws.com"
```

例外を含む、最近追加された 25 件のログイベントのリストを取得します。

```
fields @timestamp, @message | sort @timestamp desc | limit 25
| filter eventSource = "cognito-idp.amazonaws.com" and @message like /Exception/
```

**例外とエラーのクエリ**

Amazon Cognito ユーザープール `sub` と共に、最近追加されたエラーコード `NotAuthorizedException` を伴う 25 件のログイベントを検索します。

```
fields @timestamp, additionalEventData.sub as user | sort @timestamp desc | limit 25
| filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException"
```

`eventName` と対応する `sourceIPAddress` を持つレコードの数を検索します。

```
filter eventSource = "cognito-idp.amazonaws.com"
| stats count(*) by sourceIPAddress, eventName
```

`NotAuthorizedException` エラーをトリガーした上位 25 の IP アドレスを検索します。

```
filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException"
| stats count(*) as count by sourceIPAddress, eventName
| sort count desc | limit 25
```

`ForgotPassword` API を呼び出した上位 25 の IP アドレスを検索します。

```
filter eventSource = "cognito-idp.amazonaws.com" and eventName = 'ForgotPassword'
| stats count(*) as count by sourceIPAddress
| sort count desc | limit 25
```