콘솔에서 조직에 대한 추적 생성 - AWS CloudTrail

콘솔에서 조직에 대한 추적 생성

CloudTrail 콘솔에서 조직 추적을 생성하려면 충분한 권한이 있는 관리 계정이나 위임된 관리자 계정의 IAM 사용자 또는 역할을 사용하여 콘솔에 로그인해야 합니다. 관리 계정이나 위임된 관리자 계정으로 로그인하지 않은 경우 CloudTrail 콘솔에서 추적을 생성하거나 편집할 때 조직에 추적을 적용하는 옵션이 표시되지 않습니다.

다양한 방법으로 조직 추적을 구성할 수 있습니다. 예를 들어 다음을 수행할 수 있습니다.

  • 기본적으로 콘솔에서 추적을 생성하면 추적은 모든 리전을 로그합니다. 계정의 모든 리전을 로그하는 것이 권장되는 모범 사례입니다. 단일 리전 추적을 생성하려면 AWS CLI를 사용해야 합니다. 자세한 내용은 CloudTrail 작동 방식 단원을 참조하세요.

  • 조직에 추적을 적용할지 여부를 지정합니다. 기본적으로 적용하지 않는 것으로 되어 있으므로, 조직 추적을 생성하려면 이 옵션을 선택해야 합니다.

  • 조직 추적에 대한 로그 파일을 수신하는 데 사용할 Amazon S3 버킷을 지정합니다. 기존 Amazon S3 버킷을 선택하거나 조직 추적을 위한 전용 버킷을 생성할 수 있습니다.

  • 관리 및 데이터 이벤트의 경우 [읽기(Read)] 이벤트를 로그할지, [쓰기(Write)] 이벤트를 로그할지 또는 둘 다를 로그할지 지정합니다. CloudTrail Insights 이벤트는 관리 이벤트에만 기록되며 쓰기(Write) 관리 이벤트를 로그해야 합니다. 관리 계정에서 리소스의 데이터 이벤트 로깅을 지정하려면 콘솔의 목록에서 선택하면 됩니다. 데이터 이벤트 로깅을 사용 설정하려는 각 리소스의 ARN을 지정하는 경우 멤버 계정에서 지정할 수 있습니다. 자세한 내용은 데이터 이벤트 단원을 참조하세요.

AWS Management Console에서 조직 추적을 생성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudtrail/에서 CloudTrail 콘솔을 엽니다.

    조직 추적을 생성하려면 충분한 권한이 있는 관리 계정이나 위임된 관리자 계정의 사용자, 역할 또는 루트 계정으로 로그인해야 합니다.

  2. Trails(추적)를 선택한 후 Create trail(추적 생성)을 선택합니다.

  3. [Create Trail] 페이지에서 [Trail name]의 경우 추적 이름을 입력합니다. 자세한 내용은 CloudTrail 추적 이름 지정 요구 사항 단원을 참조하세요.

  4. [내 조직의 모든 계정에 대해 사용(Enable for all accounts in my organization)]을 선택합니다. 관리 계정이나 위임된 관리자 계정의 IAM 사용자 또는 역할로 콘솔에 로그인한 경우에만 이 옵션이 표시됩니다. 조직 추적을 생성하려면 사용자 또는 역할에 충분한 권한이 있는지 확인합니다.

  5. [스토리지 위치(Storage location)]에서 [새 S3 버킷 생성(Create new S3 bucket)]을 선택하여 버킷을 생성합니다. 버킷을 생성하면 CloudTrail은 필요한 버킷 정책을 생성하고 적용합니다.

    참고

    [기존 S3 버킷 사용(Use existing S3 bucket)]을 선택한 경우 [추적 로그 버킷 이름(Trail log bucket name)]에 버킷을 지정하거나 [찾아보기(Browse)]를 선택하여 버킷을 선택합니다. 모든 계정에 속한 버킷을 선택할 수 있지만 버킷 정책은 CloudTrail에 쓰기 권한을 부여해야 합니다. 버킷 정책의 수동 편집에 대한 자세한 내용은 CloudTrail에 대한 Amazon S3 버킷 정책 단원을 참조하세요.

    로그를 더 쉽게 찾을 수 있도록 기존 버킷에 새 폴더(또는 ‘접두사’)를 생성하여 CloudTrail 로그를 저장할 수 있습니다. [접두사(Prefix)]에 접두사를 입력합니다.

  6. SSE-S3 암호화 대신 SSE-KMS 암호화를 사용하여 로그 파일을 암호화하려면 Log file SSE-KMS encryption(로그 파일 SSE-KMS 암호화)에서 Enabled(사용)를 선택합니다. 기본값은 [사용(Enabled)]입니다. SSE-KMS 암호화를 사용하지 않으면 로그는 SSE-S3 암호화를 사용하여 암호화합니다. SSE-KMS 암호화에 대한 자세한 내용은 AWS Key Management Service(SSE-KMS)로 서버 측 암호화 사용을 참조하세요. SSE-S3 암호화에 대한 자세한 내용은 Amazon S3 관리형 암호화 키(SSE-S3)로 서버 측 암호화 사용을 참조하세요.

    SSE-KMS 암호화를 사용하도록 설정하는 경우 [신규(New)] 또는 [기존(Existing)] AWS KMS key를 선택합니다. AWS KMS 별칭(KMS Alias)에서 alias/MyAliasName 형식으로 별칭을 지정합니다. 자세한 내용은 KMS 키를 사용하도록 리소스 업데이트 단원을 참조하세요.

    참고

    다른 계정에 있는 키의 ARN을 입력할 수도 있습니다. 자세한 내용은 KMS 키를 사용하도록 리소스 업데이트 단원을 참조하세요. 키 정책은 CloudTrail이 키를 사용하여 로그 파일을 암호화하고 지정한 사용자가 암호화되지 않은 형태로 로그 파일을 읽을 수 있도록 허용해야 합니다. 키 정책의 수동 편집에 대한 자세한 내용은 CloudTrail에 대한 AWS KMS 키 정책 구성 단원을 참조하세요.

  7. [추가 설정(Additional settings)]에서 다음을 구성합니다.

    1. [로그 파일 검증(Log file validation)]에서 [사용(Enabled)]을 선택하여 로그 다이제스트를 S3 버킷에 전달합니다. 다이제스트 파일을 사용하면 CloudTrail이 로그 파일을 전달한 후 해당 파일이 변경되지 않았는지 확인할 수 있습니다. 자세한 내용은 CloudTrail 로그 파일 무결성 검증 단원을 참조하세요.

    2. [SNS 알림 전달(SNS notification delivery)]에서 [사용(Enabled)]을 선택하여 로그가 버킷에 전달될 때마다 알림을 받습니다. CloudTrail은 여러 이벤트를 로그 파일에 저장합니다. 모든 이벤트가 아니라 모든 로그 파일에 대해 SNS 알림이 전송됩니다. 자세한 내용은 CloudTrail에 대한 Amazon SNS 알림 구성 단원을 참조하세요.

      SNS 알림을 사용하도록 설정하는 경우 [새 SNS 주제 생성(Create a new SNS topic)]에서 [신규(New)]를 선택하여 주제를 생성하거나 [기존(Existing)]을 선택하여 기존 주제를 사용합니다. 모든 리전에 적용되는 추적을 생성하는 경우 모든 리전의 로그 파일 전송에 대한 SNS 알림이 사용자가 생성하는 단일 SNS 주제로 전송됩니다.

      [신규(New)]를 선택하는 경우 CloudTrail이 새 주제의 이름을 지정하거나 사용자가 이름을 입력할 수 있습니다. [기존(Existing)]을 선택하는 경우 드롭다운 목록에서 SNS 주제를 선택합니다. 다른 리전 또는 적절한 권한이 있는 계정에서 주제의 ARN을 입력할 수도 있습니다. 자세한 내용은 CloudTrail에 대한 Amazon SNS 주제 정책 단원을 참조하세요.

      주제를 생성한 경우 로그 파일 전송에 대한 알림을 받으려면 해당 주제를 구독해야 합니다. Amazon SNS 콘솔에서 구독할 수 있습니다. 알림의 빈도로 인해 Amazon SQS 대기열을 사용하여 알림을 프로그래밍 방식으로 처리하도록 구독을 구성하는 것이 좋습니다. 자세한 내용은 Amazon Simple Notification Service 시작하기 가이드를 참조하세요.

  8. 선택적으로 CloudWatch Logs에서 [사용(Enabled)]을 선택하여 로그 파일을 CloudWatch Logs에 전송하도록 CloudTrail을 구성합니다. 자세한 내용은 CloudWatch Logs에 이벤트 전송 단원을 참조하세요.

    1. CloudWatch Logs와의 통합을 사용하도록 설정하는 경우 [신규(New)]를 선택하여 새 로그 그룹을 생성하거나 [기존(Existing)]을 선택하여 기존 로그 그룹을 사용합니다. [신규(New)]를 선택하는 경우 CloudTrail이 새 로그 그룹의 이름을 지정하거나 사용자가 이름을 입력할 수 있습니다.

    2. [기존(Existing)]을 선택하는 경우 드롭다운 목록에서 로그 그룹을 선택합니다.

    3. 로그를 CloudWatch Logs에 전송할 수 있는 권한에 대한 새 IAM 역할을 생성하려면 [신규(New)]를 선택합니다. 드롭다운 목록에서 기존 IAM 역할을 선택하려면 [기존(Existing)]을 선택합니다. [정책 문서(Policy document)]를 확장하면 새 역할 또는 기존 역할의 정책 문이 표시됩니다. 이에 대한 자세한 내용은 모니터링을 위해 CloudWatch Logs를 사용하는 CloudTrail의 역할 정책 문서 단원을 참조하세요.

      참고
      • 추적을 구성할 때 다른 계정에 속한 S3 버킷 및 SNS 주제를 선택할 수 있습니다. 하지만 CloudTrail이 이벤트를 CloudWatch Logs 로그 그룹에 전달하도록 하려면 현재 계정에 있는 로그 그룹을 선택해야 합니다.

      • 위임된 관리자 계정은 콘솔 작업이 지원되지 않으므로 현재 콘솔을 사용하여 CloudWatch Logs 로그 그룹을 구성할 수 없습니다. 위임된 관리자 계정은 CloudWatch Logs 로그 그룹으로 조직 추적을 생성하려면 AWS CLI 또는 CloudTrail API를 사용해야 합니다.

      • 관리 계정이 소유하는 CloudWatch Logs 로그 그룹이 있는 기존 조직 추적이 있는 경우, 위임된 관리자 계정은 콘솔에서 CloudWatch Logs 로그 그룹을 볼 수 있지만 관리 계정이 소유하므로 위임된 관리자 계정은 CloudWatch Logs 로그 그룹을 업데이트할 수 없습니다.

  9. 태그에 대해 하나 이상의 사용자 정의 태그(키-값 페어)를 추적에 추가합니다. 태그를 사용하면 CloudTrail 로그 파일이 포함된 Amazon S3 버킷과 CloudTrail 추적을 모두 식별할 수 있습니다. 그런 다음, CloudTrail 리소스의 리소스 그룹을 사용할 수 있습니다. 자세한 내용은 AWS Resource Groups추적에 태그를 사용하는 이유는 무엇입니까? 섹션을 참조하세요.

  10. [로그 이벤트 선택(Choose log events)] 페이지에서 로그하려는 이벤트 유형을 선택합니다. Management events(관리 이벤트)에서 다음을 수행합니다.

    1. [API 활동(API activity)]에서 추적이 [읽기(Read)] 이벤트, [쓰기(Write)] 이벤트 또는 둘 다를 로그하도록 할지 선택합니다. 자세한 내용은 관리 이벤트 단원을 참조하세요.

    2. AWS KMS 이벤트 제외(Exclude KMS events)를 선택하여 추적에서 AWS Key Management Service(AWS KMS) 이벤트를 필터링합니다. 기본 설정은 모든 AWS KMS 이벤트를 포함하는 것입니다.

      AWS KMS 이벤트를 로그하거나 제외하는 옵션은 추적에서 관리 이벤트를 로그하는 경우에만 사용할 수 있습니다. 관리 이벤트를 로그하지 않도록 선택하는 경우 AWS KMS 이벤트가 로그되지 않으며, AWS KMS 이벤트 로깅 설정을 변경할 수 없습니다.

      AWS KMS, Encrypt, Decrypt와 같은 GenerateDataKey 작업은 일반적으로 대량의 이벤트(99% 이상)를 생성합니다. 이러한 작업은 이제 [읽기(Read)] 이벤트로 로그됩니다. Disable, Delete, 및 ScheduleKey와 같은 저용량의 관련 AWS KMS 작업(일반적으로 AWS KMS 이벤트 볼륨의 0.5% 미만을 차지함)은 쓰기(Write) 이벤트로 로그됩니다.

      Encrypt, DecryptGenerateDataKey와 같은 대량의 이벤트를 제외하지만 Disable, DeleteScheduleKey와 같은 관련 이벤트를 계속 로그하려면 쓰기(Write) 관리 이벤트를 로그하도록 선택하고 AWS KMS 이벤트 제외(Exclude KMS events) 확인란의 선택을 취소합니다.

    3. [Amazon RDS Data API 이벤트 제외(Exclude Amazon RDS Data API events)]를 선택하여 추적에서 Amazon Relational Database Service Data API 이벤트를 필터링합니다. 기본 설정은 모든 Amazon RDS Data API 이벤트를 포함하는 것입니다. Amazon RDS Data API 이벤트에 대한 자세한 내용은 Amazon RDS for Aurora 사용 설명서에서 AWS CloudTrail을 사용하여 데이터 API 호출 로깅 단원을 참조하세요.

  11. 데이터 이벤트(Data events)의 경우 Amazon S3 버킷, AWS Lambda 함수, Amazon DynamoDB 테이블 또는 기타 여러 리소스 유형에 대한 로깅 데이터 이벤트를 지정할 수 있습니다. 기본적으로 추적은 데이터 이벤트를 로그하지 않습니다. 데이터 이벤트 로깅에는 추가 요금이 부과됩니다. 자세한 내용은 데이터 이벤트 단원을 참조하세요. CloudTrail 요금은 AWS CloudTrail 요금을 참조하세요.

    참고

    고급 이벤트 선택기를 사용하는 경우 더 많은 데이터 이벤트 유형을 사용할 수 있습니다. 고급 이벤트 선택기를 사용하도록 설정한 경우 콘솔에서 추적 생성(고급 이벤트 선택기)의 단계에 따라 추적에 대한 데이터 이벤트 로깅을 구성합니다.

    Amazon S3 버킷의 경우:

    1. [데이터 이벤트 소스(Data event source)]에서 S3를 선택합니다.

    2. [현재 및 미래의 모든 S3 버킷(All current and future S3 buckets)]을 로그하도록 선택하거나 개별 버킷 또는 함수를 지정할 수 있습니다. 기본적으로 데이터 이벤트는 현재 및 미래의 모든 S3 버킷에 대해 로그됩니다.

      참고

      기본값인 [현재 및 미래의 모든 S3 버킷(All current and future S3 buckets)] 옵션을 유지하면 현재 AWS 계정에 있는 모든 버킷과 추적 생성을 완료한 후 생성하는 버킷에 대해 데이터 이벤트 로깅이 활성화됩니다. 또한 다른 AWS 계정에 속하는 버킷에 대한 데이터 이벤트 활동이더라도 본인 AWS 계정의 사용자 또는 역할이 수행한 활동이라면 데이터 이벤트 활동 로깅을 활성화할 수 있습니다.

      한 리전에만 추적을 적용하는 경우 계정에서 모든 S3 버킷 선택 옵션을 선택하면 추적과 동일한 리전에 있는 모든 버킷과 해당 리전에서 나중에 생성하는 모든 버킷에 대해 데이터 이벤트 로깅이 활성화됩니다. AWS 계정의 다른 리전에 있는 Amazon S3 버킷에 대해서는 데이터 이벤트를 로그하지 않습니다.

    3. 기본값인 [현재 및 미래의 모든 S3 버킷(All current and future S3 buckets)]을 그대로 둘 경우 [읽기(Read)] 이벤트, [쓰기(Write)] 이벤트 또는 둘 다를 로그하도록 선택합니다.

    4. 개별 버킷을 선택하려면 [현재 및 미래의 모든 S3 버킷(All current and future S3 buckets)]에서 [읽기(Read)] 및 [쓰기(Write)] 확인란의 선택을 해제합니다. [개별 버킷 선택(Individual bucket selection)]에서 데이터 이벤트를 로그할 버킷을 찾습니다. 특정 버킷을 찾으려면 원하는 버킷의 버킷 접두사를 입력합니다. 이 창에서 여러 버킷을 선택할 수 있습니다. 더 많은 버킷의 데이터 이벤트를 로그하려면 [버킷 추가(Add bucket)]를 선택합니다. [읽기(Read)] 이벤트(예:GetObject), [쓰기(Write)] 이벤트(예:PutObject) 또는 둘 다를 로그하도록 선택합니다.

      이 설정은 개별 버킷에 대해 구성한 개별 설정보다 우선 적용됩니다. 예를 들어 모든 S3 버킷에 대해 [읽기(Read)] 이벤트 로깅을 지정한 다음, 데이터 이벤트 로깅 대상으로 특정 버킷을 추가하기로 선택하면 추가한 버킷에 대해 [읽기(Read)]가 사전 선택됩니다. 선택을 취소할 수 없습니다. [Write]에 대한 옵션만 구성할 수 있습니다.

      로깅에서 버킷을 제거하려면 X를 선택합니다.

  12. 데이터 이벤트를 로그할 다른 데이터 유형을 추가하려면 [데이터 이벤트 유형 추가(Add data event type)]를 선택합니다.

  13. Lambda 함수의 경우:

    1. [데이터 이벤트 소스(Data event source)]에서 Lambda를 선택합니다.

    2. [Lambda 함수(Lambda function)]에서 [모든 리전(All regions)]을 선택하여 모든 Lambda 함수를 로그하거나 [ARN으로 입력 함수(Input function as ARN)]를 선택하여 특정 함수에 대한 데이터 이벤트를 로그합니다.

      AWS 계정의 모든 Lambda 함수에 대한 데이터 이벤트를 로그하려면 [현재 및 미래의 모든 함수 로그(Log all current and future functions)]를 선택합니다. 이 설정은 개별 함수에 대해 구성한 개별 설정보다 우선합니다. 일부 함수가 표시되지 않더라도 모든 함수가 로그됩니다.

      참고

      모든 리전에 대해 추적을 생성할 경우 이 옵션을 선택하면 현재 AWS 계정에 있는 모든 함수와 추적 생성을 완료한 후 리전에서 생성할 수 있는 Lambda 함수에 대해 데이터 이벤트 로깅이 활성화됩니다. 단일 리전에 대해 추적을 생성할 경우(AWS CLI를 사용하여 수행) 이 옵션을 선택하면 현재 AWS 계정의 해당 리전에 있는 모든 함수와 추적 생성을 완료한 후 해당 리전에서 생성할 수 있는 Lambda 함수에 대해 데이터 이벤트 로깅이 활성화됩니다. 다른 리전에서 생성되는 Lambda 함수에 대한 데이터 이벤트 로깅은 활성화되지 않습니다.

      또한 모든 함수에 대한 데이터 이벤트 로깅은 활동이 다른 AWS 계정에 속한 함수에 대해 수행되더라도 AWS 계정의 사용자 또는 역할이 수행하는 데이터 이벤트 활동에 대한 로깅을 활성화할 수 있습니다.

    3. [ARN으로 입력 함수(Input function as ARN)]를 선택한 경우 Lambda 함수의 ARN을 입력합니다.

      참고

      계정의 Lambda 함수가 15,000개를 넘을 경우 추적을 생성할 때 CloudTrail 콘솔에서 함수를 모두 보거나 선택할 수 없습니다. 함수가 모두 표시되지는 않더라도 모든 함수를 로그하는 옵션을 선택할 수 있습니다. 특정 함수에 대한 데이터 이벤트를 로그하려면 함수를 수동으로 추가할 수 있습니다(함수의 ARN을 알고 있는 경우). 콘솔에서 추적 생성을 완료한 다음, AWS CLI 및 put-event-selectors 명령을 사용하여 특정 Lambda 함수에 대한 데이터 이벤트 로깅을 구성할 수도 있습니다. 자세한 내용은 AWS CLI를 사용하여 추적 관리 단원을 참조하세요.

  14. DynamoDB 테이블의 경우:

    1. [데이터 이벤트 소스(Data event source)]에서 DynamoDB를 선택합니다.

    2. [DynamoDB 테이블 선택(DynamoDB table selection)]에서 [찾아보기(Browse)]를 선택하여 테이블을 선택하거나 액세스 권한이 있는 DynamoDB 테이블의 ARN을 붙여넣습니다. DynamoDB 테이블 ARN의 형식은 다음과 같습니다.

      arn:partition:dynamodb:region:account_ID:table/table_name

      다른 테이블을 추가하려면 [행 추가(Add row)]를 선택하고 테이블을 찾거나 액세스 권한이 있는 테이블의 ARN을 붙여넣습니다.

  15. 로그할 이벤트 유형의 선택을 마쳤으면 [다음(Next)]을 선택합니다.

  16. [검토 및 생성(Review and create)] 페이지에서 선택 사항을 검토합니다. 단원에 표시된 추적 설정을 변경하려면 해당 단원에서 [편집(Edit)]을 선택합니다. 추적을 생성할 준비가 되었으면 [추적 생성(Create trail)]을 선택합니다.

  17. [Trails] 페이지에 새 추적이 나타납니다. 모든 리전의 모든 멤버 계정에 조직 추적을 생성하는 데는 최대 24시간이 걸릴 수 있습니다. [Trails] 페이지는 계정에 있는 모든 리전의 추적을 보여 줍니다. 약 15분 내에 CloudTrail은 조직에서 발생한 AWS API 호출을 보여 주는 로그 파일을 게시합니다. 지정한 Amazon S3 버킷에서 로그 파일을 볼 수 있습니다.

참고

추적을 생성한 후 이름을 바꿀 수 없습니다. 대신에 추적을 삭제한 후 새 추적을 생성할 수 있습니다.

다음 단계

추적을 생성한 후 추적으로 돌아가 변경할 수 있습니다.

참고

추적을 구성할 때 다른 계정에 속한 Amazon S3 버킷 및 SNS 주제를 선택할 수 있습니다. 하지만 CloudTrail이 이벤트를 CloudWatch Logs 로그 그룹에 전달하도록 하려면 현재 계정에 있는 로그 그룹을 선택해야 합니다.