AWS Command Line Interface를 사용하여 조직에 대한 추적 생성 - AWS CloudTrail

AWS Command Line Interface를 사용하여 조직에 대한 추적 생성

AWS CLI를 사용하여 조직 추적을 생성할 수 있습니다. AWS CLI는 추가 기능과 명령으로 정기적으로 업데이트됩니다. 성공하려면 시작하기 전에 최신 AWS CLI 버전을 설치하거나 업데이트해야 합니다.

참고

이 단원의 예제는 조직 추적 생성 및 업데이트와 관련됩니다. AWS CLI를 사용하여 추적을 관리하는 예제는 AWS CLI를 사용하여 추적 관리를 참조하십시오. AWS CLI를 사용하여 조직 추적을 생성하거나 업데이트하는 경우 충분한 권한이 있는 관리 계정이나 위임된 관리자 계정의 AWS CLI 프로필을 사용해야 합니다.

충분한 권한을 가지고 조직 추적에 사용되는 Amazon S3 버킷을 구성해야 합니다.

조직 추적에 대한 로그 파일을 저장하는 데 사용할 Amazon S3 버킷 생성 또는 업데이트

조직 추적에 대한 로그 파일을 수신할 Amazon S3 버킷을 지정해야 합니다. 이 버킷에는 CloudTrail이 조직에 대한 로그 파일을 버킷에 저장할 수 있도록 허용하는 정책이 있어야 합니다.

다음은 myOrganizationBucket이라는 Amazon S3 버킷에 대한 정책 예시입니다. 이 버킷은 조직 추적에 대한 로깅을 허용하며 ID가 o-exampleorgid인 조직의 관리 계정인 AWS 계정(ID: 111111111111)에 있습니다. 또한 추적이 조직 추적에서 111111111111 계정에 대한 추적으로 변경될 경우 해당 계정에 대한 로깅도 허용합니다. myOrganizationBucket, 111111111111, region, 및 trailName을 구성에 적절한 값으로 바꿉니다.

예제 정책에는 Amazon S3 버킷 정책을 위한 aws:SourceArn 조건 키가 포함되어 있습니다. IAM 전역 조건 키 aws:SourceArn는 CloudTrail이 특정 추적(들)에 대해서만 S3 버킷에 쓰도록 합니다. 조직 추적에서 aws:SourceArn의 값은 관리 계정이 소유하고 관리 계정 ID를 사용하는 추적 ARN이어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myOrganizationBucket", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:111111111111:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myOrganizationBucket/AWSLogs/111111111111/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:111111111111:trail/trailName" } } }, { "Sid": "AWSCloudTrailOrganizationWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myOrganizationBucket/AWSLogs/o-exampleorgid/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:111111111111:trail/trailName" } } } ] }

이 정책 예제에서는 멤버 계정의 사용자가 조직에 대해 생성된 로그 파일에 액세스하는 것을 허용하지 않습니다. 기본적으로 관리 계정만 조직 로그 파일에 액세스할 수 있습니다. 멤버 계정의 IAM 사용자에게 Amazon S3 버킷에 대한 읽기 액세스를 허용하는 방법에 대한 자세한 내용은 AWS 계정 간 CloudTrail 로그 파일 공유 단원을 참조하세요.

CloudTrail을 AWS Organizations에서 신뢰할 수 있는 서비스로 사용 설정

조직 추적을 생성하려면 먼저, Organizations의 모든 기능을 사용 설정해야 합니다. 자세한 내용은 조직의 모든 기능 사용 설정 단원을 참조하거나 관리 계정에서 충분한 권한이 있는 프로파일을 사용하여 다음 명령을 실행하세요.

aws organizations enable-all-features

모든 기능을 사용하도록 설정한 후 CloudTrail을 신뢰할 수 있는 서비스로 신뢰하도록 Organizations를 구성해야 합니다.

AWS Organizations와 CloudTrail 간에 신뢰할 수 있는 서비스 관계를 형성하려면 터미널 또는 명령줄을 열고 관리 계정의 프로파일을 사용합니다. 다음 예제에 나와 있는 것처럼 aws organizations enable-aws-service-access 명령을 실행합니다.

aws organizations enable-aws-service-access --service-principal cloudtrail.amazonaws.com

create-trail 사용

모든 리전에 적용되는 조직 추적 생성

모든 리전에 적용되는 조직 추적을 생성하려면 --is-organization-trail--is-multi-region-trail 옵션을 추가합니다.

참고

AWS CLI를 사용하여 조직 추적을 생성하거나 업데이트하는 경우 충분한 권한이 있는 관리 계정이나 위임된 관리자 계정의 AWS CLI 프로필을 사용해야 합니다.

다음 예에서는 모든 리전의 로그를 기존 버킷 my-bucket으로 전달하는 조직 추적을 생성합니다.

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail --is-multi-region-trail

추적이 모든 리전에 있는지 확인하려면 다음과 같이 출력의 IsOrganizationTrailIsMultiRegionTrail 파라미터를 모두 true로 설정합니다.

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }
참고

추적에 대한 로깅을 시작하려면 start-logging 명령을 실행합니다. 자세한 내용은 추적에 대한 로깅 중단 및 시작 단원을 참조하세요.

조직 추적을 단일 리전 추적으로 생성

다음 명령은 단일 AWS 리전의 이벤트만 로그하는 조직 추적(또는 단일 리전 추적)을 생성합니다. 이벤트가 로그되는 AWS 리전은 AWS CLI의 구성 프로파일에 지정된 리전입니다.

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail

자세한 내용은 CloudTrail 추적 이름 지정 요구 사항 단원을 참조하세요.

샘플 출력은 다음과 같습니다.

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

기본적으로 create-trail 명령은 로그 파일 검증을 사용하지 않는 단일 리전 추적을 생성합니다.

참고

추적에 대한 로깅을 시작하려면 start-logging 명령을 실행합니다.

update-trail을 실행하여 조직 추적 업데이트

update-trail 명령을 실행하여 조직 추적의 구성 설정을 변경하거나 단일 AWS 계정의 기존 추적을 조직 전체에 적용할 수 있습니다. update-trail 명령은 추적이 생성된 리전에서만 실행할 수 있다는 점에 유의하세요.

참고

AWS CLI 또는 AWS SDK 중 하나를 사용하여 추적을 업데이트할 경우 추적의 버킷 정책이 최신 상태인지 확인해야 합니다. 자세한 내용은 AWS Command Line Interface를 사용하여 조직에 대한 추적 생성 섹션을 참조하세요.

AWS CLI를 사용하여 조직 추적을 생성하거나 업데이트하는 경우 충분한 권한이 있는 관리 계정이나 위임된 관리자 계정의 AWS CLI 프로필을 사용해야 합니다.

조직에 기존 추적 적용

기존 추적이 단일 AWS 계정 대신 조직에도 적용되도록 변경하려면 다음 예와 같이 --is-organization-trail 옵션을 추가합니다.

aws cloudtrail update-trail --name my-trail --is-organization-trail

이제 추적이 조직에 적용되는지 확인하기 위해 출력의 IsOrganizationTrail 파라미터 값은 true입니다.

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

앞의 예에서 추적은 모든 리전에 적용되도록 구성되었습니다("IsMultiRegionTrail": true). 단일 리전에만 적용된 추적은 출력에 "IsMultiRegionTrail": false가 표시됩니다.

한 리전에 적용되는 조직 추적을 모든 리전에 적용되는 추적으로 변환

기존 조직 추적이 모든 리전에 적용되도록 변경하려면 다음 예와 같이 --is-multi-region-trail 옵션을 추가합니다.

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

이제 추적이 모든 리전에 적용되는지 확인하기 위해 출력의 IsMultiRegionTrail 파라미터 값은 true입니다.

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }