Amazon Cognito 로그인 이벤트 이해 - Amazon Cognito

Amazon Cognito 로그인 이벤트 이해

추적은 지정한 Amazon S3 버킷에 이벤트를 로그 파일로 전송할 수 있습니다. CloudTrail 로그 파일에는 하나 이상의 로그 항목이 포함될 수 있습니다. 이벤트는 모든 소스의 단일 요청을 나타내며 요청된 작업, 작업 날짜와 시간, 요청 파라미터 등에 대한 정보를 포함하고 있습니다. CloudTrail 로그 파일은 퍼블릭 API 호출에 대한 순서 지정된 스택 추적이 아니기 때문에 특정 순서로 표시되지 않습니다.

CreateIdentityPool에 대한 CloudTrail 이벤트 예제

다음 예제는 CreateIdentityPool 작업의 요청에 대한 로그 항목입니다. Alice라는 IAM 사용자가 한 요청입니다.

{ "eventVersion": "1.03", "userIdentity": { "type": "IAMUser", "principalId": "PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "['EXAMPLE_KEY_ID']", "userName": "Alice" }, "eventTime": "2016-01-07T02:04:30Z", "eventSource": "cognito-identity.amazonaws.com", "eventName": "CreateIdentityPool", "awsRegion": "us-east-1", "sourceIPAddress": "127.0.0.1", "userAgent": "USER_AGENT", "requestParameters": { "identityPoolName": "TestPool", "allowUnauthenticatedIdentities": true, "supportedLoginProviders": { "graph.facebook.com": "000000000000000" } }, "responseElements": { "identityPoolName": "TestPool", "identityPoolId": "us-east-1:1cf667a2-49a6-454b-9e45-23199EXAMPLE", "allowUnauthenticatedIdentities": true, "supportedLoginProviders": { "graph.facebook.com": "000000000000000" } }, "requestID": "15cc73a1-0780-460c-91e8-e12ef034e116", "eventID": "f1d47f93-c708-495b-bff1-cb935a6064b2", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

호스팅 UI 가입에 대한 CloudTrail 이벤트 예제

다음 CloudTrail 이벤트 예제는 사용자가 호스팅 UI를 통해 가입할 때 Amazon Cognito가 로그하는 정보를 보여 줍니다.

Amazon Cognito는 신규 사용자가 앱의 로그인 페이지로 이동할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-04-06T05:38:12Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Login_GET", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "errorCode": "", "errorMessage": "", "additionalEventData": { "responseParameters": { "status": 200.0 }, "requestParameters": { "redirect_uri": [ "https://www.amazon.com" ], "response_type": [ "token" ], "client_id": [ "1example23456789" ] } }, "eventID": "382ae09a-151d-4116-8f2b-6ac0a804a38c", "readOnly": true, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 신규 사용자가 앱의 로그인 페이지에서 가입을 선택할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-05T23:21:43Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Signup_GET", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 200 }, "requestParameters": { "response_type": [ "code" ], "redirect_uri": [ "https://www.amazon.com" ], "client_id": [ "1example23456789" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "7a63e7c2-b057-4f3d-a171-9d9113264fff", "eventID": "5e7b27a0-6870-4226-adb4-f86cd51ac5d8", "readOnly": true, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 신규 사용자가 사용자 이름을 선택하고 이메일 주소를 입력한 다음 앱의 로그인 페이지에서 암호를 선택할 때 다음 이벤트를 로그합니다. Amazon Cognito는 사용자의 자격 증명에 대한 식별 정보를 CloudTrail에 로그하지 않습니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-05T23:22:05Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Signup_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 302 }, "requestParameters": { "password": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "requiredAttributes[email]": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "response_type": [ "code" ], "_csrf": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "redirect_uri": [ "https://www.amazon.com" ], "client_id": [ "1example23456789" ], "username": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "9ad58dd8-3517-4aa8-96a5-d17a01df9eb4", "eventID": "c75eb7a5-eb8c-43d1-8331-f4412e756e69", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 신규 사용자가 가입한 후 호스팅 UI의 사용자 확인 페이지에 액세스할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-05T23:22:06Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Confirm_GET", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 200 }, "requestParameters": { "response_type": [ "code" ], "redirect_uri": [ "https://www.amazon.com" ], "client_id": [ "1example23456789" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "58a5b170-3127-45bb-88cc-3e652d779e0b", "eventID": "7f87291a-6d50-409a-822f-e3a5ec7e60da", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 호스팅 UI의 사용자 확인 페이지에서 사용자가 Amazon Cognito가 이메일 메시지로 보낸 코드를 입력할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-05T23:23:32Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Confirm_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 302 }, "requestParameters": { "confirm": [ "" ], "deliveryMedium": [ "EMAIL" ], "sub": [ "704b1e47-34fe-40e9-8c41-504997494531" ], "code": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "destination": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "response_type": [ "code" ], "_csrf": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "cognitoAsfData": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "redirect_uri": [ "https://www.amazon.com" ], "client_id": [ "1example23456789" ], "username": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "9764300a-ed35-4f87-8a0f-b18b3fe2b11e", "eventID": "e24ac6e5-2f70-4c6e-ad4e-2f08a547bb36", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

SAML 요청에 대한 CloudTrail 이벤트 예제

Amazon Cognito는 SAML IdP로 인증된 사용자가 /saml2/idpresponse 엔드포인트에 SAML 어설션을 제출할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-06T00:50:57Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "SAML2Response_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 302 }, "requestParameters": { "RelayState": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "SAMLResponse": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "4f6f15d1-c370-4a57-87f0-aac4817803f7", "eventID": "9824b50f-d9d1-4fb8-a2c1-6aa78ca5902a", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "625647942648", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

토큰 엔드포인트로의 요청에 대한 CloudTrail 이벤트 예제

다음은 Token 엔드포인트에 대한 요청의 이벤트 예제입니다.

Amazon Cognito는 인증되고 인증 코드를 받은 사용자가 /oauth2/token 엔드포인트에 코드를 제출할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-12T22:12:30Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Token_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 200 }, "requestParameters": { "code": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "grant_type": [ "authorization_code" ], "redirect_uri": [ "https://www.amazon.com" ], "client_id": [ "1example23456789" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "f257f752-cc14-4c52-ad5b-152a46915238", "eventID": "0bd1586d-cd3e-4d7a-abaf-fd8bfc3912fd", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 백엔드 시스템에서 /oauth2/token 엔드포인트에 액세스 토큰에 대한 client_credentials 요청을 제출할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-12T21:07:05Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Token_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 200 }, "requestParameters": { "grant_type": [ "client_credentials" ], "client_id": [ "1example23456789" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "4f871256-6825-488a-871b-c2d9f55caff2", "eventID": "473e5cbc-a5b3-4578-9ad6-3dfdcb8a6d34", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }

Amazon Cognito는 앱이 /oauth2/token 엔드포인트와 새 ID에 대한 새로 고침 토큰 및 액세스 토큰을 교환할 때 다음 이벤트를 로그합니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "123456789012" }, "eventTime": "2022-05-12T22:16:40Z", "eventSource": "cognito-idp.amazonaws.com", "eventName": "Token_POST", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": null, "responseElements": null, "additionalEventData": { "responseParameters": { "status": 200 }, "requestParameters": { "refresh_token": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ], "grant_type": [ "refresh_token" ], "client_id": [ "1example23456789" ] }, "userPoolDomain": "mydomain.us-west-2.amazoncognito.com", "userPoolId": "us-west-2_aaaaaaaaa" }, "requestID": "2829f0c6-a3a9-4584-b046-11756dfe8a81", "eventID": "12bd3464-59c7-44fa-b8ff-67e1cf092018", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "serviceAccountId": "111122223333" }, "eventCategory": "Management" }