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이 조직에 대한 로그 파일을 버킷에 저장할 수 있도록 허용하는 정책이 있어야 합니다.

다음은 my-organization-bucket이라는 Amazon S3 버킷에 대한 정책 예제입니다. 이 버킷은 ID가 111111111111인 AWS 계정에 있습니다. 이 계정은 조직 추적에 대한 로깅을 허용하는 ID가 o-exampleorgid인 조직의 마스터 계정입니다. 또한 추적이 조직 추적에서 111111111111 계정에 대한 추적으로 변경될 경우 해당 계정에 대한 로깅도 허용합니다.

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

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

CloudTrail을 AWS Organizations에서 신뢰할 수 있는 서비스로 활성화

조직 추적을 생성하려면 먼저 조직에서 모든 기능을 활성화해야 합니다. 자세한 내용은 조직 내 모든 기능 활성화를 참조하거나 마스터 계정의 충분한 권한이 있는 프로필을 사용하여 다음 명령을 실행하십시오.

aws organizations enable-all-features

모든 기능을 활성화한 후, CloudTrail을 신뢰할 수 있는 서비스로 신뢰하도록 조직를 구성해야 합니다.

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" }