Amazon Cognito ログイン AWS CloudTrail - Amazon Cognito

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

Amazon Cognito ログイン AWS CloudTrail

Amazon Cognito は AWS CloudTrail、ユーザー、ロール、または Amazon Cognito のサービスによって実行されたアクションの記録を提供する AWS サービス と統合されています。 はAmazon Cognito コンソールからのAPI呼び出しや Amazon Cognito APIオペレーションへのコード呼び出しを含む、Amazon Cognito の呼び出しのサブセットをイベントとして CloudTrail キャプチャします。証跡を作成する場合は、Amazon Cognito の CloudTrail イベントを含むイベントを Amazon S3 バケットに配信することを選択できます。 Amazon S3 証跡を設定しない場合でも、 CloudTrail コンソールのイベント履歴 で最新のイベントを表示できます。によって収集された情報を使用して CloudTrail、Amazon Cognito に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時、その他の詳細を確認できます。

の設定とアクティブ化の方法など CloudTrail、 の詳細については、 AWS CloudTrail ユーザーガイド を参照してください。

特定の CloudTrail イベントに対して Amazon CloudWatch アラームを作成することもできます。例えば、アイデンティティプールの設定が変更された場合にアラームをトリガー CloudWatch するように を設定できます。詳細については、 CloudTrail 「イベントの CloudWatch アラームの作成: 例」を参照してください。

Amazon Cognito が送信する情報 CloudTrail

CloudTrail を作成すると、 がオンになります AWS アカウント。Amazon Cognito でサポートされているイベントアクティビティが発生すると、そのアクティビティは CloudTrail イベント履歴 の他の AWS サービスイベントとともにイベントに記録されます。 AWS アカウントで最近のイベントを表示、検索、ダウンロードできます。詳細については、「イベント履歴 を含む CloudTrail イベントの表示」を参照してください。

Amazon Cognito のイベントなど、 AWS アカウント内のイベントの継続的な記録については、証跡を作成します。 CloudTrail 証跡は、ログファイルを Amazon S3 バケットに配信します。デフォルトでは、コンソールで証跡を作成すると、すべての リージョンに証跡が適用されます。証跡は、 AWS パーティション内のすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、 CloudTrail ログで収集されたイベントデータをさらに分析して対処するように、他の AWS サービスを設定できます。詳細については、以下を参照してください。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます:

  • リクエストがルート認証情報またはIAMユーザー認証情報を使用して行われたかどうか。

  • リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。

  • リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「 CloudTrail userIdentity 要素」を参照してください。

の機密データ AWS CloudTrail

ユーザープールと ID プールはユーザーデータを処理するため、Amazon Cognito は 値を使用して CloudTrail イベント内の一部のプライベートフィールドを隠しますHIDDEN_FOR_SECURITY_REASONS。Amazon Cognito がイベントに設定しないフィールドの例については、「Amazon Cognito イベントの例」を参照してください。Amazon Cognito は、パスワードやトークンなど、一般的にユーザー情報を含む一部のフィールドだけを非表示にします。Amazon Cognito は、APIリクエストの非プライベートフィールドに入力した個人を特定できる情報の自動検出やマスキングを行いません。

ユーザープールイベント

Amazon Cognito は、ユーザープールアクションページに記載されているすべてのアクションのログ記録を CloudTrail 、ログファイルのイベントとしてサポートします。Amazon Cognito は、ユーザープールイベントを管理イベント CloudTrail として に記録します。

Amazon Cognito ユーザープール CloudTrail エントリの eventTypeフィールドは、アプリケーションが Amazon Cognito ユーザープールAPIまたは OpenID Connect、SAML2.0、またはホストされた UI のリソースを提供するエンドポイントにリクエストを行ったかどうかを示します。API リクエストには eventTypeAwsApiCallがあり、エンドポイントリクエストには eventTypeの がありますAwsServiceEvent

Amazon Cognito は、以下のホストされた UI リクエストを のイベントとしてホストされた UI に記録します CloudTrail。

でのホストされた UI オペレーション CloudTrail
操作 説明
Login_GET, CognitoAuthentication ユーザーは ログインエンドポイント に認証情報を表示または送信します。
OAuth2_Authorize_GET, Beta_Authorize_GET ユーザーは 認可エンドポイント を表示します。
OAuth2Response_GET, OAuth2Response_POST ユーザーは IdP トークンを /oauth2/idpresponse エンドポイントに送信します。
SAML2Response_POST, Beta_SAML2Response_POST ユーザーは IdP SAMLアサーションを/saml2/idpresponseエンドポイントに送信します。
Login_OIDC_SAML_POST ユーザーは、ログインエンドポイント でユーザー名を入力し、IdP identifier と一致させます。
Token_POST, Beta_Token_POST ユーザーは、認可コードをトークンエンドポイントに送信します。
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 ユーザーは、 を登録するときに、ホストされた UI で多要素認証 (MFA) コードを送信しますMFA。
Logout ユーザーは、/logout エンドポイントでサインアウトします。
SAML2Logout_POST ユーザーは、/saml2/logout エンドポイントでサインアウトします。
Error_GET ユーザーは、ホストされた UI でエラーページを表示します。
UserInfo_GET, UserInfo_POST ユーザーまたは IdP は、userInfo エンドポイント と情報を交換します。
Confirm_With_Link_GET ユーザーは、Amazon Cognito が E メールメッセージで送信したリンクに基づいて確認を送信します。
Event_Feedback_GET ユーザーは、高度なセキュリティ機能イベントに関するフィードバックを Amazon Cognito に送信します。
注記

Amazon Cognito はUserSub、ユーザー固有のリクエストを記録しますが、 CloudTrail ログUserNameには記録しません。特定の のユーザーを見つけるには、 ListUsersUserSub呼び出しAPI、 サブのフィルターを使用します。

ID プールイベント

データイベント

Amazon Cognito は、次の Amazon Cognito Identity イベントをデータイベント CloudTrail として に記録します。データイベントは、デフォルトではログに記録 CloudTrail されない大量のデータプレーンAPIオペレーションです。追加の変更がイベントデータに適用されます。

これらのAPIオペレーションの CloudTrail ログを生成するには、証跡でデータイベントをアクティブ化し、Cognito ID プール のイベントセレクタを選択する必要があります。詳細については、「AWS CloudTrail ユーザーガイド」の「証跡のデータイベントの記録」を参照してください。

次の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 ID プールAPIオペレーションの残りの部分を管理イベント . CloudTrail logs 管理イベントAPIオペレーションとしてデフォルトでログに記録します。

Amazon Cognito が にログ記録する Amazon Cognito ID プールAPIオペレーションのリストについては CloudTrail、Amazon Cognito ID プールAPIリファレンス」を参照してください。

Amazon Cognito Sync

Amazon Cognito は、すべての Amazon Cognito Sync APIオペレーションを管理イベントとしてログに記録します。Amazon Cognito が に記録する Amazon Cognito Sync APIオペレーションのリストについては CloudTrail、Amazon Cognito Sync APIリファレンス」を参照してください。

Amazon CloudWatch Logs Insights を使用した Amazon Cognito CloudTrail イベントの分析

Amazon CloudWatch Logs Insights を使用して、Amazon Cognito CloudTrail イベントを検索および分析できます。 CloudWatch ログにイベントを送信するように証跡を設定すると、 は証跡設定に一致するイベントのみ CloudTrail を送信します。

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

サンプル Amazon Cognito クエリ

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

と呼ばれる上位 25 ForgotPassword の IP アドレスを見つけますAPI。

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