CloudTrail의 Amazon Cognito 정보
AWS 계정을 생성하면 CloudTrail이 켜집니다. 지원되는 이벤트 활동이 Amazon Cognito에서 발생하면, 해당 활동이 [이벤트 기록(Event history)]의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 내용은 CloudTrail 이벤트 기록을 사용하여 이벤트 보기를 참조하세요.
Amazon Cognito에 대한 이벤트를 포함하여 AWS 계정에 이벤트를 지속적으로 기록하려면 추적을 생성합니다. CloudTrail 추적은 Amazon S3 버킷으로 로그 파일을 전송합니다. 콘솔에서 추적을 생성하면 기본적으로 모든 리전에 추적이 적용됩니다. 추적은 AWS 파티션에 있는 모든 리전의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. 또는 CloudTrail 로그에서 수집된 이벤트 데이터를 추가 분석 및 처리하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 정보는 다음을 참조하세요.
모든 이벤트 및 로그 항목에는 요청을 생성한 사용자에 대한 정보가 들어 있습니다. 자격 증명 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
-
요청을 루트로 했는지 아니면 IAM 사용자 보안 인증 정보로 했는지 여부.
-
역할 또는 연합된 사용자에 대한 임시 보안 자격 증명을 사용하여 요청이 생성되었는지 여부.
-
다른 AWS 서비스에서 요청했는지 여부.
자세한 내용은 CloudTrail userIdentity 요소를 참조하세요.
AWS CloudTrail의 기밀 데이터
사용자 풀과 자격 증명 풀은 사용자 데이터를 처리하기 때문에 Amazon Cognito는 HIDDEN_FOR_SECURITY_REASONS
값을 사용하여 CloudTrail 이벤트의 일부 비공개 필드를 가립니다. Amazon Cognito가 이벤트에 채우지 않는 필드의 예는 Amazon Cognito 로그인 이벤트 이해 섹션을 참조하세요. Amazon Cognito는 암호 및 토큰과 같이 일반적으로 사용자 정보를 포함하는 일부 필드만 가립니다. Amazon Cognito는 API 요청의 비공개 필드가 아닌 필드에 입력하는 개인 식별 정보를 자동으로 탐지하거나 마스킹하지 않습니다.
Amazon Cognito 사용자 풀
Amazon Cognito는 사용자 풀 작업(User pool actions) 페이지에 나열된 모든 작업을 CloudTrail 로그 파일에 이벤트로 로그하도록 지원합니다. Amazon Cognito는 사용자 풀 이벤트를 관리 이벤트로 CloudTrail에 로깅합니다.
Amazon Cognito 사용자 풀 CloudTrail 항목의 eventType
필드는 앱이 Amazon Cognito 사용자 풀 API에 요청을 했는지 아니면 OpenID Connect, SAML 2.0 또는 호스팅 UI용 리소스를 제공하는 엔드포인트에 요청을 했는지 알려줍니다. API 요청의 eventType
은 AwsApiCall
이고 엔드포인트 요청의 eventType
은 AwsServiceEvent
입니다.
Amazon Cognito는 다음 호스팅 UI 요청을 호스팅 UI에 CloudTrail의 이벤트로 로깅합니다.
Cloudtrail에서 호스팅 UI 작업 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
작업 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Login_GET , CognitoAuthentication |
사용자가 보안 인증을 보거나 Login 엔드포인트에 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OAuth2_Authorize_GET , Beta_Authorize_GET |
사용자가 권한 부여 엔드포인트를 봅니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OAuth2Response_GET , OAuth2Response_POST |
사용자가 /oauth2/idpresponse 엔드포인트에 IdP 토큰을 제출합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SAML2Response_POST , Beta_SAML2Response_POST |
사용자가 /saml2/idpresponse 엔드포인트에 IdP SAML 어설션을 제출합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Login_OIDC_SAML_POST |
사용자가 Login 엔드포인트에 사용자 이름을 입력하고 IdP 식별자와 일치합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Token_POST , Beta_Token_POST |
사용자가 Token 엔드포인트에 인증 코드를 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Signup_GET , Signup_POST |
사용자가 /signup 엔드포인트에 가입 정보를 제출합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Confirm_GET , Confirm_POST |
사용자가 호스팅 UI에서 확인 코드를 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ResendCode_POST |
사용자가 호스팅 UI에서 확인 코드를 다시 보내라는 요청을 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ForgotPassword_GET , ForgotPassword_POST |
사용자가 /forgotPassword 엔드포인트에 암호를 재설정하라는 요청을 제출합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ConfirmForgotPassword_GET ,
ConfirmForgotPassword_POST |
사용자가 /confirmForgotPassword 엔드포인트에 ForgotPassword 요청을 확인하는 코드를 제출합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ResetPassword_GET , ResetPassword_POST |
사용자가 호스팅 UI에서 새 암호를 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mfa_GET , Mfa_POST |
사용자가 호스팅 UI에서 다중 인증(MFA) 코드를 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MfaOption_GET , MfaOption_POST |
사용자가 호스팅 UI에서 MFA에 대해 선호하는 방법을 선택합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logout |
사용자가 /logout 엔드포인트에서 로그아웃합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SAML2Logout_POST |
사용자가 /saml2/logout 엔드포인트에서 로그아웃합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Error_GET |
사용자가 호스팅 UI에서 오류 페이지를 봅니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserInfo_GET , UserInfo_POST |
사용자 또는 IdP가 UserInfo 엔드포인트와 정보를 교환합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Confirm_With_Link_GET |
사용자가 Amazon Cognito가 이메일 메시지로 보낸 링크를 기반으로 확인을 제출합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Event_Feedback_GET |
사용자가 Amazon Cognito에 고급 보안 기능 이벤트에 대한 피드백을 제출합니다. |
참고
Amazon Cognito는 사용자별 요청에 대한 CloudTrail 로그에 UserSub
는 기록하지만 UserName
은 기록하지 않습니다. ListUsers
API를 호출하고 하위 집합을 표시하는 필터를 사용하여 특정 UserSub
의 사용자를 찾을 수 있습니다.
Amazon Cognito 자격 증명 풀
데이터 이벤트
Amazon Cognito는 다음과 같은 Amazon Cognito 자격 증명 이벤트를 데이터 이벤트로 로깅합니다. 데이터 이벤트는 CloudTrail이 기본적으로 로깅하지 않는 대용량 데이터 영역 API 작업입니다. 데이터 이벤트에는 추가 요금이 적용됩니다.
이러한 API 작업에 대해 CloudTrail 로그를 생성하려면 추적에서 데이터 이벤트를 활성화하고 Cognito identity pools(Cognito 자격 증명 풀)에 대한 이벤트 선택기를 선택해야 합니다. 자세한 내용은 AWS CloudTrail 사용 설명서의 추적을 위해 데이터 이벤트 로깅을 참조하세요.
다음 CLI 명령을 사용해서도 추적에 자격 증명 풀 이벤트 선택기를 추가할 수 있습니다.
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 자격 증명 풀 API 작업 목록은 Amazon Cognito 자격 증명 풀 API 참조에서 확인하세요.
Amazon Cognito Sync
Amazon Cognito는 모든 Amazon Cognito Sync API 작업을 관리 이벤트로 로깅합니다. Amazon Cognito가 CloudTrail에 로깅하는 Amazon Cognito Sync API 작업 목록은 Amazon Cognito Sync API Reference(Amazon Cognito Sync API 참조)를 참조하세요.