AWS Directory Service을 사용하여 AWS CloudTrail API 호출 로깅
AWS 관리형 Microsoft AD API는 AWS 계정의 AWS 관리형 Microsoft AD에서 또는 대신 수행한 API 호출을 캡처하여 사용자가 지정한 Amazon S3 버킷으로 로그 파일을 전달하는 서비스인 AWS CloudTrail와 통합되어 있습니다. CloudTrail은 AWS 관리형 Microsoft AD 콘솔에서 API 직접 호출을 캡처하고 AWS 관리형 Microsoft AD API에서 코드 호출을 캡처합니다. CloudTrail에서 수집하는 정보를 사용하여 AWS 관리형 Microsoft AD에 어떤 요청이 이루어졌는지, 어떤 소스 IP 주소에서 요청했는지, 누가 언제 요청했는지 등을 확인할 수 있습니다. CloudTrail에 대한 자세한 내용은 AWS CloudTrail 사용 설명서를 참조하세요.
AWS CloudTrail의 관리형 Microsoft AD 정보
CloudTrail은 계정 생성 시 AWS 계정에서 사용되도록 설정됩니다. AWS 관리형 Microsoft AD에서 활동이 수행되면 해당 활동은 이벤트 기록에서 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 내용은 CloudTrail 이벤트 기록을 사용하여 이벤트 보기를 참조하세요.
AWS 관리형 Microsoft AD의 이벤트를 포함하여 AWS 계정에 이벤트를 지속적으로 기록하려면 추적을 생성합니다. CloudTrail은 추적을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. 콘솔에서 추적을 생성하면 기본적으로 모든 AWS 지역에 추적이 적용됩니다. 추적은 AWS 파티션에 있는 모든 지역의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. 추가적으로, CloudTrail 로그에서 수집된 이벤트 데이터를 추가 분석 및 처리하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 다음 자료를 참조하세요.
AWS 계정에서 CloudTrail 로깅을 사용하는 경우 AWS 관리형 Microsoft AD 작업에 대한 API 호출이 로그 파일에서 추적됩니다. AWS 관리형 Microsoft AD 레코드가 다른 AWS 서비스 레코드와 함께 로그 파일에 기록됩니다. CloudTrail은 기간 및 파일 크기를 기준으로 새 파일을 만들고 기록하는 시점을 결정합니다. Directory Service API 또는 CLI 호출에 대한 모든 호출은 CloudTrail에 의해 기록됩니다.
모든 로그 항목은 누가 요청을 생성했는가에 대한 정보가 들어 있습니다. 로그의 사용자 자격 증명 정보를 참조하여 요청이 루트나 IAM 사용자 자격 증명 또는 역할이나 페더레이션 사용자를 위한 임시 보안 자격 증명을 사용하여 이루어졌는지 아니면 요청이 다른 AWS 서비스에 의해 이루어졌는지 확인할 수 있습니다. 자세한 내용은 CloudTrail 이벤트 참조의 userIdentity 필드를 참조하세요.
원하는 기간만큼 버킷에 로그 파일을 저장할 수 있습니다. 그러나 Amazon S3 수명 주기 규칙을 정의하여 자동으로 로그 파일을 보관하거나 삭제할 수도 있습니다. 기본적으로 로그 파일은 Amazon S3 서버 쪽 암호화(SSE)를 사용하여 암호화합니다.
로그 파일 전송 시 신속한 조치를 취해야 하는 경우 새 로그 파일이 전송될 때 CloudTrail에서 Amazon SNS 알림을 게시하게 할 수 있습니다. 자세한 내용은 Amazon SNS 알림 설정을 참조하십시오.
또한 여러 AWS 리전 및 AWS 계정의 AWS 관리형 Microsoft AD 로그 파일을 하나의 Amazon S3 버킷으로 통합할 수도 있습니다. 자세한 내용은 단일 Amazon S3 버킷에 CloudTrail 로그 파일 통합 단원을 참조하십시오.
AWS 관리형 Microsoft AD 로그 파일 항목 이해
CloudTrail 로그 파일은 하나 이상의 로그 항목이 있으며, 각 항목은 여러 개의 JSON 형식 이벤트로 구성됩니다. 로그 항목은 어떤 소스로부터의 요청 하나를 나타내며 요청된 작업, 모든 파라미터, 작업 날짜와 시간 등에 대한 정보가 들어 있습니다. 로그 항목은 특정 순서를 유지하지 않으며, 즉, 공개 API 직접 호출의 정렬된 스택 추적 정보가 아닙니다.
로그 항목에서 암호, 인증 토큰, 파일 설명 등의 중요 정보가 수정됩니다.
다음 예제에서는 AWS 관리형 Microsoft AD에 대한 CloudTrail 로그 항목의 예를 보여줍니다.
{ "Records" : [ { "eventVersion" : "1.02", "userIdentity" : { "type" : "IAMUser", "principalId" : "<user_id>", "arn" : "<user_arn>", "accountId" : "<account_id>", "accessKeyId" : "<access_key_id>", "userName" : "<username>" }, "eventTime" : "<event_time>", "eventSource" : "ds.amazonaws.com", "eventName" : "CreateDirectory", "awsRegion" : "<region>", "sourceIPAddress" : "<IP_address>", "userAgent" : "<user_agent>", "requestParameters" : { "name" : "<name>", "shortName" : "<short_name>", "vpcSettings" : { "vpcId" : "<vpc_id>", "subnetIds" : [ "<subnet_id_1>", "<subnet_id_2>" ] }, "type" : "<size>", "setAsDefault" :<option>, "password" : "***OMITTED***" }, "responseElements" : { "requestId" : "<request_id>", "directoryId" : "<directory_id>" }, "requestID" : "<request_id>", "eventID" : "<event_id>", "eventType" : "AwsApiCall", "recipientAccountId" : "<account_id>" } ] }