CloudTrail 콘솔을 사용하여 추적 업데이트 - AWS CloudTrail

CloudTrail 콘솔을 사용하여 추적 업데이트

이 섹션에서는 추적 설정을 변경하는 방법을 설명합니다.

단일 리전 추적을 업데이트하여 작업하는 AWS 파티션 내 모든 AWS 리전에서 이벤트를 로깅하거나, 여러 리전 추적을 업데이트하여 단일 리전에서만 이벤트를 로깅하려면 AWS CLI를 사용해야 합니다. 단일 리전 추적을 업데이트하여 모든 리전에서 이벤트를 로그하는 방법에 대한 자세한 내용은 한 리전에 적용되는 추적을 모든 리전에 적용되는 추적으로 변환를 참조하세요. 모든 리전 추적을 업데이트하여 단일 리전에서 이벤트를 로그하는 방법에 대한 자세한 내용은 다중 리전 추적을 단일 리전 추적으로 변환를 참조하세요.

Amazon Security Lake에서 CloudTrail 관리 이벤트를 활성화한 경우, 여러 지역이고 readwrite 관리 이벤트를 모두 로깅하는 조직 추적을 하나 이상 유지 관리해야 합니다. Security Lake 요구 사항을 충족하지 못하는 방식으로는 적격 추적을 업데이트할 수 없습니다. 예를 들어, 추적을 단일 리전으로 변경하거나, read 또는 write 관리 이벤트의 로깅을 비활성화할 수는 없습니다.

참고

CloudTrail은 리소스 검증에 실패하더라도 멤버 계정의 조직 추적을 업데이트합니다. 검증 실패의 예로 다음이 포함됩니다.

  • 잘못된 Amazon S3 버킷 정책

  • 잘못된 Amazon SNS 주제 정책

  • CloudWatch Logs 로그 그룹에 전달할 수 없음

  • KMS 키를 사용하여 암호화할 권한이 충분하지 않음

CloudTrail 권한이 있는 멤버 계정은 CloudTrail 콘솔에서 추적의 세부 정보 페이지를 보거나 AWS CLI get-trail-status 명령을 실행하여 조직 추적에 대한 검증 실패를 확인할 수 있습니다.

AWS Management Console을 사용하여 추적을 업데이트하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudtrail/에서 CloudTrail 콘솔을 엽니다.

  2. 탐색 창에서 [추적(Trails)]을 선택한 다음, 추적 이름을 선택합니다.

  3. [일반 세부 정보(General details)]에서 [편집(Edit)]을 선택하여 다음 설정을 변경합니다. 추적 이름은 변경할 수 없습니다.

    • [내 조직에 추적 적용(Apply trail to my organization)] - 이 추적이 AWS Organizations 조직 추적인지 여부를 변경합니다.

      참고

      오직 조직의 관리 계정만이 조직 추적을 비조직 추적으로 전환하거나, 비조직 추적을 조직 추적으로 전환할 수 있습니다.

    • [추적 로그 위치(Trail log location)] - 이 추적의 로그를 저장할 S3 버킷 또는 접두사의 이름을 변경합니다.

    • [로그 파일 SSE-KMS 암호화(Log file SSE-KMS encryption)] - SSE-S3 대신 SSE-KMS를 사용한 로그 파일 암호화를 사용하거나 사용 중지하도록 선택합니다.

    • [로그 파일 검증(Log file validation)] - 로그 파일 무결성 검증을 사용하거나 사용 중지하도록 선택합니다.

    • [SNS 알림 전달(SNS notification delivery)] - 로그 파일이 추적에 대해 지정된 버킷에 전달되었다는 Amazon Simple Notification Service(Amazon SNS) 알림을 사용하거나 사용 중지하도록 선택합니다.

    1. 추적을 AWS Organizations 조직 추적으로 변경하려면 조직의 모든 계정에 대해 추적을 사용하도록 선택할 수 있습니다. 자세한 내용은 조직에 대한 추적 생성 단원을 참조하세요.

    2. [스토리지 위치(Storage location)]에서 지정된 버킷을 변경하려면 [새 S3 버킷 생성(Create new S3 bucket)]을 선택하여 버킷을 생성합니다. 버킷을 생성하면 CloudTrail은 필요한 버킷 정책을 생성하고 적용합니다. 새 S3 버킷을 생성하려는 경우 버킷에 대해 기본적으로 서버 측 암호화가 활성화되어 있기 때문에 IAM 정책은 s3:PutEncryptionConfiguration 작업에 대한 권한을 포함해야 합니다.

      참고

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

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

    3. 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 키를 사용하도록 리소스 업데이트 단원을 참조하세요. CloudTrail은 AWS KMS 다중 리전 키도 지원합니다. 다중 리전 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드다중 리전 키 사용 단원을 참조하세요.

      참고

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

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

    5. [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 개발자 안내서Amazon SNS 시작하기를 참조하십시오.

  4. [CloudWatch Logs]에서 [편집(Edit)]을 선택하여 CloudTrail 로그 파일을 CloudWatch Logs에 전송하기 위한 설정을 변경합니다. 로그 파일 전송을 사용하려면 [CloudWatch Logs]에서 [사용(Enabled)]을 선택합니다. 자세한 내용은 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 로그 그룹을 구성할 수 있습니다. 위임된 관리자는 AWS CLI, CloudTrail CreateTrail 또는 UpdateTrail API 작업을 사용하여 CloudWatch Logs 로그 그룹을 구성할 수 있습니다.

  5. [태그(Tags)]에서 [편집(Edit)]을 선택하여 추적의 태그를 변경, 추가 또는 삭제합니다. 추적에 대한 액세스를 식별, 정렬 및 제어하는 데 도움이 되도록 최대 50개의 태그 키 페어를 추가할 수 있습니다. 태그를 사용하면 CloudTrail 로그 파일이 포함된 Amazon S3 버킷과 CloudTrail 추적을 모두 식별할 수 있습니다. 그런 다음, CloudTrail 리소스의 리소스 그룹을 사용할 수 있습니다. 자세한 내용은 AWS Resource GroupsTags을 참조하십시오.

  6. [관리 이벤트(Management events)]에서 [편집(Edit)]을 선택하여 관리 이벤트 로깅 설정을 변경합니다.

    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 호출 로깅 단원을 참조하세요.

  7. 중요

    7~11단계는 기본값인 고급 이벤트 선택기를 사용하여 데이터 이벤트를 구성하는 단계입니다. 고급 이벤트 선택기를 사용하면 더 많은 데이터 이벤트 유형을 구성하고 추적에서 캡처하는 데이터 이벤트를 세밀하게 제어할 수 있습니다. 네트워크 활동 이벤트를 로깅하려는 경우(평가판) 고급 이벤트 선택기를 사용해야 합니다. 고급 이벤트 선택기를 사용한다면 기본 이벤트 선택기를 사용하여 데이터 이벤트 설정 업데이트 섹션을 참조한 다음 이 절차의 12단계로 돌아옵니다.

    [데이터 이벤트(Data events)]에서 [편집(Edit)]을 선택하여 데이터 이벤트 로깅 설정을 변경합니다. 기본적으로 추적은 데이터 이벤트를 로그하지 않습니다. 데이터 이벤트 로깅에는 추가 요금이 부과됩니다. CloudTrail 요금은 AWS CloudTrail 요금을 참조하세요.

    [데이터 이벤트 유형(Data event type)]에서 데이터 이벤트를 로그할 리소스 유형을 선택합니다. 사용할 수 있는 데이터 이벤트 유형에 대한 자세한 내용은 데이터 이벤트 섹션을 참조하세요.

    참고

    Lake Formation에서 생성한 AWS Glue 테이블의 데이터 이벤트를 로그하려면 Lake Formation을 선택합니다.

  8. 로그 선택기 템플릿을 선택합니다. CloudTrail에는 리소스 유형에 대한 모든 데이터 이벤트를 로그하는 사전 정의된 템플릿이 포함되어 있습니다. 사용자 지정 로그 선택기 템플릿을 구축하려면 [사용자 지정(Custom)]을 선택합니다.

    참고

    S3 버킷에 대해 사전 정의된 템플릿을 선택하면 현재 AWS 계정에 있는 모든 버킷과 추적 생성을 완료한 후 생성하는 버킷에 대해 데이터 이벤트 로깅이 활성화됩니다. 또한 다른 AWS 계정에 속하는 버킷에 대한 데이터 이벤트 활동이더라도 본인 AWS 계정의 사용자 또는 역할이 수행한 활동이라면 데이터 이벤트 활동 로깅을 활성화할 수 있습니다.

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

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

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

  9. (선택 사항) 선택자 이름(Selector name)에 선택자를 식별할 이름을 입력합니다. 선택기 이름은 "2개의 S3 버킷에 대한 데이터 이벤트 로그그"애와 같이 고급 이벤트 선택기를 설명하는 이름입니다. 선택기 이름은 고급 이벤트 선택기에서의 Name으로 나열되며, JSON 뷰(JSON view)를 확장하여 볼 수 있습니다.

  10. [고급 이벤트 선택기(Advanced event selectors)]에서 데이터 이벤트를 로그하려는 특정 리소스에 대한 표현식을 작성합니다. 사전 정의된 로그 템플릿을 사용한다면 이 단계를 건너뛸 수 있습니다.

    1. 다음 필드 중에서 선택합니다.

      • readOnly - readOnlytrue 또는 false 값과 같음으로 설정할 수 있습니다. 읽기 전용 데이터 이벤트는 Get* 또는 Describe* 이벤트와 같이 리소스의 상태를 변경하지 않는 이벤트입니다. 쓰기 이벤트는 Put*, Delete* 또는 Write* 이벤트와 같이 리소스, 속성 또는 아티팩트를 추가, 변경 또는 삭제합니다. read 이벤트와 write 이벤트를 모두 로그하려면 readOnly 선택기를 추가하지 마세요.

      • eventName - eventName은 연산자를 사용할 수 있습니다. 연산자를 사용하여 PutBucket, GetItem 또는 GetSnapshotBlock과 같이 CloudTrail에 로그된 데이터 이벤트를 포함하거나 제외할 수 있습니다.

      • resources.ARN - resources.ARN과 함께 연산자를 사용할 수 있지만, 같음 또는 같지 않음을 사용하는 경우 값은 템플릿에서 resources.type 값으로 지정한 유형의 유효한 리소스 ARN과 정확히 일치해야 합니다.

        다음 표는 각 resources.type에 대한 유효한 ARN 형식을 보여 줍니다.

        참고

        resources.ARN 필드를 사용하여 ARN이 없는 리소스 유형을 필터링할 수 없습니다.

        resources.type resources.ARN
        AWS::DynamoDB::Table1
        arn:partition:dynamodb:region:account_ID:table/table_name
        AWS::Lambda::Function
        arn:partition:lambda:region:account_ID:function:function_name

        AWS::S3::Object2

        arn:partition:s3:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-bucket/object_or_file_name/
        AWS::AppConfig::Configuration
        arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
        AWS::B2BI::Transformer
        arn:partition:b2bi:region:account_ID:transformer/transformer_ID
        AWS::Bedrock::AgentAlias
        arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
        AWS::Bedrock::FlowAlias
        arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
        AWS::Bedrock::Guardrail
        arn:partition:bedrock:region:account_ID:guardrail/guardrail_ID
        AWS::Bedrock::KnowledgeBase
        arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
        AWS::Bedrock::Model

        ARN은 다음 형식 중 하나여야 합니다.

        • arn:partition:bedrock:region::foundation-model/resource_ID

        • arn:partition:bedrock:region:account_ID:provisioned-model/resource_ID

        • arn:partition:bedrock:region:account_ID:custom-model/resource_ID

        AWS::Cassandra::Table
        arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
        AWS::CloudFront::KeyValueStore
        arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
        AWS::CloudTrail::Channel
        arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
        AWS::CodeWhisperer::Customization
        arn:partition:codewhisperer:region:account_ID:customization/customization_ID
        AWS::CodeWhisperer::Profile
        arn:partition:codewhisperer:region:account_ID:profile/profile_ID
        AWS::Cognito::IdentityPool
        arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
        AWS::DataExchange::Asset
        arn:partition:dataexchange:region:account_ID:data-sets/data_set_ID/revisions/revision_ID/assets/asset_ID
        AWS::Deadline::Fleet
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID
        AWS::Deadline::Job
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID/job/job_ID
        AWS::Deadline::Queue
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID
        AWS::Deadline::Worker
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID/worker/worker_ID
        AWS::DynamoDB::Stream
        arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
        AWS::EC2::Snapshot
        arn:partition:ec2:region::snapshot/snapshot_ID
        AWS::EMRWAL::Workspace
        arn:partition:emrwal:region:account_ID:workspace/workspace_name
        AWS::FinSpace::Environment
        arn:partition:finspace:region:account_ID:environment/environment_ID
        AWS::Glue::Table
        arn:partition:glue:region:account_ID:table/database_name/table_name
        AWS::GreengrassV2::ComponentVersion
        arn:partition:greengrass:region:account_ID:components/component_name
        AWS::GreengrassV2::Deployment
        arn:partition:greengrass:region:account_ID:deployments/deployment_ID
        AWS::GuardDuty::Detector
        arn:partition:guardduty:region:account_ID:detector/detector_ID
        AWS::IoT::Certificate
        arn:partition:iot:region:account_ID:cert/certificate_ID
        AWS::IoT::Thing
        arn:partition:iot:region:account_ID:thing/thing_ID
        AWS::IoTSiteWise::Asset
        arn:partition:iotsitewise:region:account_ID:asset/asset_ID
        AWS::IoTSiteWise::TimeSeries
        arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
        AWS::IoTTwinMaker::Entity
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
        AWS::IoTTwinMaker::Workspace
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
        AWS::KendraRanking::ExecutionPlan
        arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
        AWS::Kinesis::Stream
        arn:partition:kinesis:region:account_ID:stream/stream_name
        AWS::Kinesis::StreamConsumer
        arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
        AWS::KinesisVideo::Stream
        arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
        AWS::MachineLearning::MlModel
        arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
        AWS::ManagedBlockchain::Network
        arn:partition:managedblockchain:::networks/network_name
        AWS::ManagedBlockchain::Node
        arn:partition:managedblockchain:region:account_ID:nodes/node_ID
        AWS::MedicalImaging::Datastore
        arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
        AWS::NeptuneGraph::Graph
        arn:partition:neptune-graph:region:account_ID:graph/graph_ID
        AWS::One::UKey
        arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
        AWS::One::User
        arn:partition:one:region:account_ID:user/user_ID
        AWS::PaymentCryptography::Alias
        arn:partition:payment-cryptography:region:account_ID:alias/alias
        AWS::PaymentCryptography::Key
        arn:partition:payment-cryptography:region:account_ID:key/key_ID
        AWS::PCAConnectorAD::Connector
        arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
        AWS::PCAConnectorSCEP::Connector
        arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
        AWS::QApps:QApp
        arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
        AWS::QBusiness::Application
        arn:partition:qbusiness:region:account_ID:application/application_ID
        AWS::QBusiness::DataSource
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
        AWS::QBusiness::Index
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
        AWS::QBusiness::WebExperience
        arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
        AWS::RDS::DBCluster
        arn:partition:rds:region:account_ID:cluster/cluster_name
        AWS::RUM::AppMonitor
        arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name

        AWS::S3Express::Object

        arn:partition:s3express:region:account_ID:bucket/bucket_name
        AWS::S3ObjectLambda::AccessPoint
        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
        AWS::S3Outposts::Object
        arn:partition:s3-outposts:region:account_ID:object_path
        AWS::SageMaker::Endpoint
        arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
        AWS::SageMaker::ExperimentTrialComponent
        arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
        AWS::SageMaker::FeatureGroup
        arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
        AWS::SCN::Instance
        arn:partition:scn:region:account_ID:instance/instance_ID
        AWS::ServiceDiscovery::Namespace
        arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
        AWS::ServiceDiscovery::Service
        arn:partition:servicediscovery:region:account_ID:service/service_ID
        AWS::SMSVoice::OriginationIdentity

        arn:partition:sms-voice:region:account_ID:.*$

        AWS::SNS::PlatformEndpoint
        arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
        AWS::SNS::Topic
        arn:partition:sns:region:account_ID:topic_name
        AWS::SocialMessaging::PhoneNumberId

        arn:partition:social-messaging:region:account_ID:phone-number-id/phone_number_ID

        AWS::SQS::Queue
        arn:partition:sqs:region:account_ID:queue_name
        AWS::SSM::ManagedNode

        ARN은 다음 형식 중 하나여야 합니다.

        • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

        • arn:partition:ec2:region:account_ID:instance/instance_ID

        AWS::SSMMessages::ControlChannel
        arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
        AWS::StepFunctions::StateMachine

        ARN은 다음 형식 중 하나여야 합니다.

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

        AWS::SWF::Domain
        arn:partition:swf:region:account_ID:/domain/domain_name
        AWS::ThinClient::Device
        arn:partition:thinclient:region:account_ID:device/device_ID
        AWS::ThinClient::Environment
        arn:partition:thinclient:region:account_ID:environment/environment_ID
        AWS::Timestream::Database
        arn:partition:timestream:region:account_ID:database/database_name
        AWS::Timestream::Table
        arn:partition:timestream:region:account_ID:database/database_name/table/table_name
        AWS::VerifiedPermissions::PolicyStore
        arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

        1 스트림이 활성화된 테이블의 경우 데이터 이벤트의 resources 필드에 AWS::DynamoDB::StreamAWS::DynamoDB::Table이 모두 포함됩니다. resources.type으로 AWS::DynamoDB::Table을 지정하는 경우 기본적으로 DynamoDB 테이블과 DynamoDB 스트림 이벤트가 모두 로깅됩니다. 스트림 이벤트를 제외하려면 eventName 필드에 필터를 추가합니다.

        2 특정 S3 버킷의 모든 객체에 대한 모든 데이터 이벤트를 로깅하려면, StartsWith 연산자를 사용하고 일치하는 값으로 버킷 ARN만 포함합니다. 후행 슬래시는 의도적인 것입니다. 제외하지 마세요.

        3 S3 액세스 포인트의 모든 객체에 대한 이벤트를 로깅하려면 액세스 포인트 ARN만을 사용하고, 객체 경로를 포함하지 않으며, StartsWith 또는 NotStartsWith 연산자를 사용할 것을 권장합니다.

      데이터 이벤트 리소스의 ARN 형식에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서작업, 리소스 및 조건 키 단원을 참조하세요.

    2. 각 필드에 대해 [+ 조건(+ Condition)]을 선택하여 모든 조건에 대해 최대 500개의 지정된 값까지 필요한 만큼 조건을 추가합니다. 예를 들어 이벤트 데이터 저장소에 로깅되는 데이터 이벤트에서 두 S3 버킷에 대한 데이터 이벤트를 제외하려면 필드를 resources.ARN으로 설정하고 다음으로 시작하지 않음에 대한 연산자를 설정한 다음에 S3 버킷 ARN을 붙여 넣거나 이벤트를 로깅하지 않으려는 S3 버킷을 찾아볼 수 있습니다.

      두 번째 S3 버킷을 추가하려면 [+ 조건(+ Condition)]을 선택한 다음, 이전 지침을 반복하여 ARN을 붙여넣거나 다른 버킷을 찾습니다.

      CloudTrail이 여러 조건을 평가하는 방법에 대한 자세한 내용은 CloudTrail이 필드의 여러 조건을 평가하는 방법 섹션을 참조하세요.

      참고

      이벤트 데이터 스토어의 모든 선택기에 대해 최대 500개의 값을 가질 수 있습니다. 여기에는 eventName과 같은 선택기에 대한 여러 값의 배열이 포함됩니다. 모든 선택기에 대해 단일 값이 있는 경우 선택기에 최대 500개의 조건을 추가할 수 있습니다.

    3. 필요에 따라 필드를 추가하려면 [+ 필드(+ Field)]를 선택합니다. 오류를 방지하려면 필드에 충돌하거나 중복되는 값을 설정하지 마세요. 예를 들어 한 선택기의 ARN을 값과 같도록 지정하지 마세요. 그런 다음, ARN이 다른 선택기의 동일한 값과 같지 않도록 지정하세요.

  11. 데이터 이벤트를 로그할 다른 데이터 유형을 추가하려면 [데이터 이벤트 유형 추가(Add data event type)]를 선택합니다. 데이터 이벤트 유형에 대한 고급 이벤트 선택기를 구성하려면 3단계부터 이 단계까지 반복합니다.

  12. 네트워크 활동 이벤트에서 편집을 선택하여 네트워크 활동 이벤트 로깅 설정을 변경합니다. 기본적으로 추적은 네트워크 활동 이벤트를 로깅하지 않습니다. 네트워크 활동 이벤트 로깅에는 추가 요금이 부과됩니다. 자세한 내용은 AWS CloudTrail 요금을 참조하십시오.

    참고

    네트워크 활동 이벤트는 CloudTrail에 대한 평가판 릴리스에서 제공되며, 변경 가능합니다.

    네트워크 활동 이벤트를 로깅하려면 다음을 수행합니다.

    1. 네트워크 활동 이벤트 소스에서 네트워크 활동 이벤트의 소스를 선택합니다.

    2. 로그 선택기 템플릿(Log selector template)에서 템플릿을 선택합니다. 모든 네트워크 활동 이벤트를 로깅하거나 모든 네트워크 활동 액세스 거부 이벤트를 로깅하거나 사용자 지정을 선택하여 eventNamevpcEndpointId와 같은 여러 필드를 기준으로 필터링할 사용자 지정 로그 선택기를 빌드할 수 있습니다.

    3. (선택 사항) 선택기를 식별할 이름을 입력합니다. 선택기 이름은 고급 이벤트 선택기에서의 이름으로 나열되며 JSON 보기를 확장하면 볼 수 있습니다.

    4. 고급 이벤트 선택기에서 필드, 연산자을 선택하여 표현식을 빌드합니다. 사전 정의된 로그 템플릿을 사용한다면 이 단계를 건너뛸 수 있습니다.

      1. 네트워크 활동 이벤트를 제외하거나 포함하는 경우 콘솔의 다음 필드 중에서 선택할 수 있습니다.

        • eventNameeventName에서 모든 연산자를 사용할 수 있습니다. 이를 사용하여 이벤트(예: CreateKey)를 포함하거나 제외할 수 있습니다.

        • errorCode - 이를 사용하여 오류 코드를 기준으로 필터링할 수 있습니다. 현재 지원되는 유일한 errorCodeVpceAccessDenied입니다.

        • vpcEndpointId - 작업이 통과한 VPC 엔드포인트를 식별합니다. vpcEndpointId에서 모든 연산자를 사용할 수 있습니다.

      2. 각 필드에 대해 [+ 조건(+ Condition)]을 선택하여 모든 조건에 대해 최대 500개의 지정된 값까지 필요한 만큼 조건을 추가합니다.

      3. 필요에 따라 필드를 추가하려면 [+ 필드(+ Field)]를 선택합니다. 오류를 방지하려면 필드에 충돌하거나 중복되는 값을 설정하지 마세요.

    5. 네트워크 활동 이벤트를 로깅할 다른 이벤트 소스를 추가하려면 네트워크 활동 이벤트 선택기 추가를 선택합니다.

    6. 선택적으로 JSON 뷰(JSON view)를 확장하여 고급 이벤트 선택기를 JSON 블록으로 볼 수 있습니다.

  13. 추적이 CloudTrail Insights 이벤트를 로그하도록 하려면 [Insights 이벤트(Insights events)]에서 [편집(Edit)]을 선택합니다.

    [이벤트 유형(Event type)]에서 [Insights 이벤트(Insights events)]를 선택합니다.

    Insights 이벤트(Insights events)에서 API 호출률(API call rate), API 오류율(API error rate) 또는 둘 다를 선택합니다. API 호출률에 대한 Insights 이벤트를 로그하려면 쓰기(Write) 관리 이벤트를 로그하고 있어야 합니다. API 오류율에 대한 Insights 이벤트를 로그하려면 읽기(Read) 또는 쓰기(Write) 관리 이벤트를 로그하고 있어야 합니다.

    CloudTrail Insights는 비정상적인 활동에 대한 관리 이벤트를 분석하고 이상이 감지되면 이벤트를 로그합니다. 기본적으로 추적은 인사이트 이벤트를 로그하지 않습니다. 인사이트에 이벤트에 대한 자세한 내용은 Insights 이벤트 로깅 단원을 참조하세요. 인사이트 이벤트 로깅에는 추가 요금이 부과됩니다. CloudTrail 요금은 AWS CloudTrail 요금을 참조하세요.

    Insights 이벤트는 추적 세부 정보 페이지의 [스토리지 위치(Storage location)] 영역에 지정된 동일한 S3 버킷의 /CloudTrail-Insight라는 다른 폴더에 전달됩니다. CloudTrail은 새 접두사를 생성합니다. 예를 들어, 현재 대상 S3 버킷의 이름이 amzn-s3-demo-bucket/AWSLogs/CloudTrail/인 경우 새 접두사가 있는 S3 버킷 이름은 amzn-s3-demo-bucket/AWSLogs/CloudTrail-Insight/이 됩니다.

  14. 추적에서 설정 변경을 마쳤으면 [추적 업데이트(Update trail)]를 선택합니다.

기본 이벤트 선택기를 사용하여 데이터 이벤트 설정 업데이트

고급 이벤트 선택기를 사용하여 모든 데이터 이벤트 유형과 네트워크 활동 이벤트(평가판)를 구성할 수 있습니다. 고급 이벤트 선택기를 사용하면 세분화된 선택기를 생성하여 관심 있는 이벤트만 로깅할 수 있습니다.

기본 이벤트 선택기를 사용하여 데이터 이벤트를 로깅하는 경우 Amazon S3 버킷, AWS Lambda 함수 및 Amazon DynamoDB 테이블에 대한 데이터 이벤트 로깅으로 제한됩니다. 기본 이벤트 선택기를 사용하여 eventName 필드를 기준으로 필터링할 수 없습니다. 네트워크 활동 이벤트도 로깅할 수 없습니다.

추적의 데이터 이벤트에 대한 기본 이벤트 선택기

다음 절차에 따라 기본 이벤트 선택기를 사용하여 데이터 이벤트 설정을 구성합니다.

  1. [데이터 이벤트(Data events)]에서 [편집(Edit)]을 선택하여 데이터 이벤트 로깅 설정을 변경합니다. 기본 이벤트 선택기를 사용하여 Amazon S3 버킷, AWS Lambda 함수, 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 버킷(All current and future S3 buckets)]을 선택하면 추적과 동일한 리전의 모든 버킷과 해당 리전에서 나중에 생성하는 버킷에 대해 데이터 이벤트 로깅이 활성화됩니다. 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를 선택합니다.

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

  3. 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를 사용하여 추적 관리 단원을 참조하세요.

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

  5. 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을 붙여넣습니다.

  6. 추적에 대한 Insights 이벤트 및 기타 설정을 구성하려면 이 주제인 CloudTrail 콘솔을 사용하여 추적 업데이트의 이전 절차로 돌아갑니다.