IAM Access Analyzer 정책 생성
IAM Access Analyzer 정책 생성
이 문서는 AWS CloudTrail 로그의 접근 활동을 기반으로 IAM 정책을 생성하는 기능을 설명합니다. 생성된 정책으로 과도하게 허용적인 정책을 최소 권한 정책으로 쉽게 전환할 수 있어요.
출처: 문서
본문
관리자나 개발자는 IAM 엔터티(사용자·역할)에 필요한 것보다 많은 권한을 부여할 수 있어요. IAM은 부여하는 권한을 다듬는 데 도움이 되는 여러 옵션을 제공합니다.
한 가지 옵션은 엔터티의 접근 활동을 기반으로 IAM 정책을 생성하는 것입니다. IAM Access Analyzer는 AWS CloudTrail 로그를 검토해, 지정한 날짜 범위에서 엔터티가 사용한 권한이 포함된 정책 템플릿을 생성합니다. 이 템플릿을 사용해 특정 사용 사례를 지원하는 데 필요한 권한만 부여하는 세분화된 정책을 만들 수 있어요.
정책 생성 작동 방식
IAM Access Analyzer는 CloudTrail 이벤트를 분석해 IAM 엔터티(사용자·역할)가 사용한 작업과 서비스를 식별합니다. 그런 다음 그 활동을 기반으로 IAM 정책을 생성합니다. 엔터티에 연결된 광범위한 권한 정책을 생성된 정책으로 교체하면 엔터티의 권한을 다듬을 수 있어요. 다음은 정책 생성 프로세스의 개요입니다.
- 정책 템플릿 생성을 위한 설정 — IAM Access Analyzer가 과거 AWS CloudTrail 이벤트를 분석하도록 최대 90일의 기간을 지정합니다. 기존 서비스 역할을 지정하거나 새로 만들어야 해요. 서비스 역할은 IAM Access Analyzer에 CloudTrail 트레일과 서비스 마지막 접근 정보에 대한 접근을 부여해 사용된 서비스·작업을 식별하게 합니다. 정책을 생성하려면 먼저 계정에 대한 이벤트를 로깅하는 CloudTrail 트레일을 지정해야 합니다. CloudTrail 데이터에 대한 IAM Access Analyzer 할당량은 IAM Access Analyzer 할당량을 참고하세요.
- 정책 생성 — IAM Access Analyzer가 CloudTrail 이벤트의 접근 활동을 기반으로 정책을 생성합니다.
- 정책 검토·커스터마이징 — 정책이 생성된 후 지정한 날짜 범위에서 엔터티가 사용한 서비스·작업을 검토할 수 있습니다. 권한을 추가·제거하고, 리소스를 지정하고, 정책 템플릿에 조건을 추가해 정책을 더 커스터마이징할 수 있어요.
- 정책 생성·연결 — 관리형 정책을 만들어 생성된 정책을 저장할 수 있습니다. 만든 정책을 정책 생성에 사용된 활동의 사용자·역할에 연결할 수 있습니다.
서비스·작업 수준 정보
IAM Access Analyzer가 IAM 정책을 생성할 때 정책을 더 커스터마이징하는 데 도움이 되는 정보가 반환됩니다. 정책이 생성될 때 두 가지 범주의 정보가 반환될 수 있습니다.
- 작업 수준 정보가 있는 정책 — Amazon EC2 같은 일부 AWS 서비스의 경우 IAM Access Analyzer가 CloudTrail 이벤트에서 확인된 작업을 식별하고, 생성하는 정책에 사용된 작업을 나열합니다. 지원 서비스 목록은 IAM Access Analyzer 정책 생성 서비스를 참고하세요. 일부 서비스의 경우 IAM Access Analyzer가 생성된 정책에 서비스 작업을 추가하도록 안내합니다.
- 서비스 수준 정보가 있는 정책 — IAM Access Analyzer는 마지막 접근 정보를 사용해 최근에 사용된 모든 서비스가 포함된 정책 템플릿을 만듭니다. AWS Management Console 사용 시 정책을 완성하도록 서비스를 검토하고 작업을 추가하라는 안내를 받습니다.
각 서비스의 작업 목록은 Service Authorization Reference의 AWS 서비스의 작업, 리소스, 조건 키를 참고하세요.
정책 생성 시 알아두어야 할 사항
정책을 생성하기 전에 다음 중요한 세부 정보를 검토하세요.
- CloudTrail 트레일 활성화 — 접근 활동을 기반으로 정책을 생성하려면 계정에 CloudTrail 트레일이 활성화되어 있어야 합니다. CloudTrail 트레일을 만들면 CloudTrail이 트레일과 관련된 이벤트를 지정한 Amazon S3 버킷으로 보냅니다. CloudTrail 트레일 생성 방법은 AWS CloudTrail 사용자 가이드의 AWS 계정용 트레일 생성을 참고하세요.
- 데이터 이벤트 사용 불가 — IAM Access Analyzer는 생성된 정책에서 Amazon S3 데이터 이벤트 같은 데이터 이벤트의 작업 수준 활동을 식별하지 않습니다.
- PassRole —
iam:PassRole작업은 CloudTrail에서 추적되지 않으며 생성된 정책에 포함되지 않습니다. - 정책 생성 시간 단축 — 정책을 더 빨리 생성하려면 정책 생성 설정 중에 지정하는 날짜 범위를 줄이세요.
- 감사에는 CloudTrail 사용 — 감사 목적으로 정책 생성 기능을 사용하지 마세요. CloudTrail을 사용하세요. CloudTrail 사용에 대한 자세한 내용은 AWS CloudTrail로 IAM 및 AWS STS API 호출 로깅을 참고하세요.
- 거부된 작업 — 정책 생성은 거부된 작업을 포함한 모든 CloudTrail 이벤트를 검토합니다.
- IAM 콘솔의 정책 하나 — IAM 콘솔에서 한 번에 생성된 정책은 하나만 가질 수 있습니다.
- 생성된 정책의 IAM 콘솔 가용성 — 생성 후 최대 7일 동안 IAM 콘솔에서 생성된 정책을 검토할 수 있습니다. 7일이 지나면 새 정책을 생성해야 합니다.
- 정책 생성 할당량 — IAM Access Analyzer 정책 생성 할당량에 대한 자세한 내용은 IAM Access Analyzer 할당량을 참고하세요.
- Amazon S3 표준 요금 적용 — 정책 생성 기능을 사용하면 IAM Access Analyzer가 S3 버킷의 CloudTrail 로그를 검토합니다. 정책 생성에 CloudTrail 로그에 접근하는 데 추가 스토리지 요금은 없습니다. AWS는 S3 버킷에 저장된 CloudTrail 로그의 요청·데이터 전송에 표준 Amazon S3 요금을 청구합니다.
- AWS Control Tower 지원 — 정책 생성은 AWS Control Tower가 만든 AWS CloudTrail 트레일 사용을 지원하지 않습니다. 그 이유는 다음과 같습니다.
- 조직의 CloudTrail 데이터가 다른 계정인 AWS Control Tower Log Archive 계정에 로깅됩니다.
- 이 로그가 저장된 S3 버킷의 권한은 AWS Control Tower의 서비스 제어 정책(SCP)이 설정한 S3 로깅 버킷 제한 때문에 재구성할 수 없습니다.
정책 생성에 필요한 권한
정책을 처음 생성할 때 필요한 권한은 이후 생성에 필요한 권한과 다릅니다. 자세한 내용은 AWS Identity and Access Management Access Analyzer 시작하기를 참고하세요.
첫 번째 설정
처음으로 정책을 생성할 때 계정에 적합한 기존 서비스 역할을 선택하거나 새 서비스 역할을 만들어야 해요. 이 서비스 역할은 IAM Access Analyzer에게 계정의 CloudTrail과 서비스 마지막 접근 정보에 대한 접근을 부여합니다. 역할을 만들고 구성하는 권한은 관리자만 가져야 합니다. 따라서 관리자가 첫 번째 설정 중에 서비스 역할을 만들 것을 권장합니다. 서비스 역할 생성에 필요한 권한에 대한 자세한 내용은 AWS 서비스에 권한을 위임하는 역할 생성을 참고하세요.
서비스 역할을 만들 때 역할에 대해 두 가지 정책을 구성합니다. 역할이 무엇을 할 수 있는지 지정하는 IAM 권한 정책과 역할을 사용할 수 있는 주체를 지정하는 역할 신뢰 정책을 역할에 연결합니다.
첫 번째 예시 정책은 정책 생성에 필요한 서비스 역할의 권한 정책을 보여 주고, 두 번째 예시 정책은 서비스 역할에 필요한 역할 신뢰 정책을 보여 줍니다. AWS API나 AWS CLI로 정책을 생성할 때 서비스 역할을 만드는 데 이 정책들을 사용할 수 있습니다. IAM 콘솔에서 정책 생성 과정의 일부로 서비스 역할을 만들 때는 이 정책들을 자동 생성합니다.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "cloudtrail:GetTrail",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetServiceLastAccessedDetails",
"iam:GenerateServiceLastAccessedDetails"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket",
"arn:aws:s3:::amzn-s3-demo-bucket/*"
]
}
]
}
다음 예시 정책은 IAM Access Analyzer가 역할을 수임할 수 있게 하는 권한이 포함된 역할 신뢰 정책을 보여 줍니다.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "access-analyzer.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
이후 사용
AWS Management Console에서 정책을 생성하려면 IAM 사용자에게 정책 생성에 사용하는 서비스 역할을 IAM Access Analyzer에 전달(pass)할 수 있는 권한 정책이 있어야 합니다. iam:PassRole은 보통 iam:GetRole과 함께 사용되어 사용자가 전달할 역할의 세부 정보를 얻을 수 있게 합니다. 이 예시에서 사용자는 지정된 계정에 존재하며 이름이 AccessAnalyzerMonitorServiceRole*로 시작하는 역할만 전달할 수 있어요. AWS 서비스에 IAM 역할을 전달하는 방법에 대한 자세한 내용은 사용자에게 AWS 서비스에 역할을 전달할 권한 부여를 참고하세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowUserToPassRole",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:PassRole"
],
"Resource": "arn:aws:iam::123456789012:role/service-role/AccessAnalyzerMonitorServiceRole*"
}
]
}
다음 정책 명령문에 표시된 대로 AWS Management Console, AWS API, AWS CLI에서 정책을 생성하려면 다음 IAM Access Analyzer 권한도 있어야 합니다.
{
"Sid": "AllowUserToGeneratePolicy",
"Effect": "Allow",
"Action": [
"access-analyzer:CancelPolicyGeneration",
"access-analyzer:GetGeneratedPolicy",
"access-analyzer:ListPolicyGenerations",
"access-analyzer:StartPolicyGeneration"
],
"Resource": "*"
}
첫 번째 설정·이후 사용 모두
AWS Management Console로 정책을 생성할 때는 다음 정책 명령문과 같이 계정의 CloudTrail 트레일을 나열하는 cloudtrail:ListTrails 권한이 있어야 합니다.
{
"Sid": "AllowUserToListTrails",
"Effect": "Allow",
"Action": [
"cloudtrail:ListTrails"
],
"Resource": "*"
}
CloudTrail 활동을 기반으로 정책 생성(콘솔)
IAM 사용자나 역할에 대한 정책을 생성할 수 있습니다.
1단계: CloudTrail 활동을 기반으로 정책 생성
다음 절차는 AWS Management Console로 역할에 대한 정책을 생성하는 방법을 설명합니다.
IAM 역할에 대한 정책 생성
- AWS Management Console에 로그인하고 IAM 콘솔을 https://console.aws.amazon.com/iam/에서 엽니다.
- 왼쪽 탐색 창에서 Roles(역할) 을 선택합니다.
참고 — IAM 사용자의 활동을 기반으로 정책을 생성하는 단계는 거의 동일합니다. 이 경우 Roles 대신 Users(사용자) 를 선택하면 됩니다.
- 계정의 역할 목록에서 정책 생성에 사용할 활동의 역할 이름을 선택합니다.
- Permissions(권한) 탭의 Generate policy based on CloudTrail events(CloudTrail 이벤트 기반 정책 생성) 섹션에서 Generate policy(정책 생성) 을 선택합니다.
- Generate policy(정책 생성) 페이지에서 IAM Access Analyzer가 역할로 수행한 작업에 대해 CloudTrail 이벤트를 분석할 기간을 지정합니다. 최대 90일 범위를 선택할 수 있어요. 정책 생성 시간을 줄이려면 가능한 한 짧은 기간을 선택하는 것을 권장합니다.
- CloudTrail access(CloudTrail 접근) 섹션에서 적합한 기존 역할을 선택하거나, 적합한 역할이 없으면 새 역할을 만듭니다. 이 역할은 IAM Access Analyzer가 여러분을 대신해 CloudTrail 데이터에 접근해 사용된 서비스·작업을 식별하기 위한 접근 활동을 검토하도록 권한을 부여합니다. 이 역할에 필요한 권한에 대한 자세한 내용은 정책 생성에 필요한 권한을 참고하세요.
- CloudTrail trail to be analyzed(분석할 CloudTrail 트레일) 섹션에서 계정에 대한 이벤트를 로깅하는 CloudTrail 트레일을 지정합니다. 로그를 다른 계정에 저장하는 CloudTrail 트레일을 선택하면 교차 계정 접근에 대한 정보 상자가 표시됩니다. 교차 계정 접근에는 추가 설정이 필요합니다. 자세한 내용은 이 주제 뒷부분의 교차 계정 접근용 역할 선택을 참고하세요.
- Generate policy(정책 생성) 을 선택합니다.
- 정책 생성이 진행되는 동안 Permissions(권한) 탭의 Roles(역할) 요약 페이지로 돌아갑니다. Policy request details(정책 요청 세부 정보) 섹션의 상태가 Success(성공) 를 표시할 때까지 기다린 뒤 View generated policy(생성된 정책 보기) 를 선택합니다. 생성된 정책은 최대 7일 동안 볼 수 있습니다. 다른 정책을 생성하면 기존 정책이 새로 생성한 정책으로 대체됩니다.
2단계: 권한 검토 및 사용된 서비스 작업 추가
IAM Access Analyzer가 식별한 역할이 사용한 서비스·작업을 검토합니다. 사용된 서비스에 대한 작업을 생성된 정책 템플릿에 추가할 수 있습니다.
- 다음 섹션을 검토합니다.
- Review permissions(권한 검토) 페이지에서 생성된 정책에 포함된 Actions(작업) 목록을 검토합니다. 목록은 지정한 날짜 범위에서 IAM Access Analyzer가 식별한 역할이 사용한 서비스·작업을 표시합니다.
- Services used(사용된 서비스) 섹션은 지정한 날짜 범위에서 역할이 사용한 것으로 IAM Access Analyzer가 식별한 추가 서비스를 표시합니다. 이 섹션에 나열된 서비스에 대해 어떤 작업이 사용되었는지에 대한 정보는 없을 수 있습니다. 이 섹션에 나열된 각 서비스의 메뉴를 사용해 정책에 포함할 작업을 수동으로 선택합니다.
- 작업 추가를 마치면 Next(다음) 를 선택합니다.
3단계: 생성된 정책 더 커스터마이징
권한을 추가·제거하거나 리소스를 지정해 정책을 더 커스터마이징할 수 있습니다.
생성된 정책 커스터마이징
- 정책 템플릿을 업데이트합니다. 정책 템플릿은 리소스 수준 권한을 지원하는 작업에 대해 리소스 ARN 자리 표시자를 포함합니다. 리소스 수준 권한은 사용자가 작업을 수행할 수 있는 리소스를 지정할 수 있는 능력을 말합니다. 리소스 수준 권한을 지원하는 작업에 대해 ARN을 사용해 정책에서 개별 리소스를 지정할 것을 권장합니다. 자리 표시자 리소스 ARN을 사용 사례에 맞는 유효한 리소스 ARN으로 바꿀 수 있습니다.
작업이 리소스 수준 권한을 지원하지 않으면 와일드카드(
*)를 사용해 모든 리소스가 작업에 영향을 받을 수 있음을 지정해야 합니다. 리소스 수준 권한을 지원하는 AWS 서비스에 대해 알아보려면 IAM과 함께 작동하는 AWS 서비스를 참고하세요. 각 서비스의 작업 목록과 어떤 작업이 리소스 수준 권한을 지원하는지 알아보려면 AWS 서비스의 작업, 리소스, 조건 키를 참고하세요. - (선택 사항) 템플릿에 JSON 정책 명령문을 추가·수정·제거합니다. JSON 정책 작성에 대한 자세한 내용은 IAM 정책 생성(콘솔)을 참고하세요.
- 정책 템플릿 커스터마이징을 마치면 다음 옵션이 있습니다.
- (선택 사항) 템플릿의 JSON을 복사해 Generated policy(생성된 정책) 페이지 밖에서 별도로 사용할 수 있습니다. 예를 들어 다른 계정에서 정책을 만들 때 JSON을 사용하려는 경우입니다. 템플릿의 정책이 JSON 정책의 6,144자 제한을 초과하면 정책이 여러 개의 정책으로 분할됩니다.
- Next(다음) 를 선택해 같은 계정에서 관리형 정책을 검토·만듭니다.
4단계: 관리형 정책 검토·생성
IAM 정책을 만들고 연결할 권한이 있다면 생성된 정책에서 관리형 정책을 만들 수 있습니다. 그런 다음 정책을 계정의 사용자·역할에 연결할 수 있습니다.
정책 검토·생성
- Review and create managed policy(관리형 정책 검토·생성) 페이지에서 생성하는 정책의 Name(이름) 과 선택 사항인 Description(설명) 을 입력합니다.
- (선택 사항) Summary(요약) 섹션에서 정책에 포함될 권한을 검토할 수 있습니다.
- (선택 사항) 태그를 키-값 쌍으로 연결해 정책에 메타데이터를 추가합니다. IAM에서 태그 사용에 대한 자세한 내용은 IAM 리소스 태그 지정을 참고하세요.
- 완료되면 다음 중 하나를 수행합니다.
- 새 정책을 정책 생성에 사용된 역할에 직접 연결할 수 있습니다. 이렇게 하려면 페이지 하단 근처에서 Attach policy to
YourRoleName(정책을 YourRoleName에 연결) 옆의 확인란을 선택한 뒤 Create and attach policy(정책 생성 및 연결) 을 선택합니다. - 그렇지 않으면 Create policy(정책 생성) 을 선택합니다. 만든 정책은 IAM 콘솔의 Policies(정책) 탐색 창의 정책 목록에서 찾을 수 있습니다.
- 새 정책을 정책 생성에 사용된 역할에 직접 연결할 수 있습니다. 이렇게 하려면 페이지 하단 근처에서 Attach policy to
- 만든 정책을 계정의 엔터티에 연결할 수 있습니다. 정책을 연결한 후 엔터티에 연결되어 있을 수 있는 다른 과도하게 광범위한 정책을 제거할 수 있습니다. 관리형 정책 연결 방법은 IAM 자격 증명 권한 추가(콘솔)를 참고하세요.
다른 계정의 AWS CloudTrail 데이터를 사용해 정책 생성
거버넌스 활동을 간소화하기 위해 중앙 계정에 데이터를 저장하는 CloudTrail 트레일을 만들 수 있습니다. 예를 들어 AWS Organizations를 사용해 조직의 모든 AWS 계정에 대한 모든 이벤트를 로깅하는 트레일을 만들 수 있습니다. 트레일은 중앙 계정에 속합니다.
CloudTrail 로그 데이터가 저장된 계정과 다른 계정의 사용자·역할에 대한 정책을 생성하려면 교차 계정 접근을 부여해야 합니다. 이를 위해 IAM Access Analyzer에 CloudTrail 로그 접근 권한을 부여하는 역할과 버킷 정책이 모두 필요합니다. Organizations 트레일 생성에 대한 자세한 내용은 조직용 트레일 생성을 참고하세요.
이 예시에서 계정 A의 사용자·역할에 대한 정책을 생성한다고 가정합니다. 계정 A의 CloudTrail 트레일은 계정 B의 버킷에 CloudTrail 로그를 저장합니다. 정책을 생성하기 전에 다음 업데이트를 수행해야 합니다.
- CloudTrail 로그가 저장된 계정 B의 버킷에 IAM Access Analyzer 접근을 부여하는 기존 역할을 선택하거나 새 서비스 역할을 만듭니다.
- IAM Access Analyzer가 버킷의 객체에 접근할 수 있도록 계정 B의 Amazon S3 버킷 객체 소유권과 버킷 권한 정책을 확인합니다.
1단계: 교차 계정 접근용 역할 선택 또는 생성
- Generate policy(정책 생성) 화면에서 계정에 필요한 권한이 있는 역할이 있으면 Use an existing role(기존 역할 사용) 옵션이 기본 선택됩니다. 그렇지 않으면 Create and use a new service role(새 서비스 역할 생성·사용) 을 선택합니다. 새 역할은 계정 B의 CloudTrail 로그에 IAM Access Analyzer 접근을 부여하는 데 사용됩니다.
2단계: 계정 B의 Amazon S3 버킷 구성 확인 또는 업데이트
- AWS Management Console에 로그인하고 Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
- Buckets(버킷) 목록에서 CloudTrail 트레일 로그가 저장된 버킷의 이름을 선택합니다.
- Permissions(권한) 탭을 선택하고 Object Ownership(객체 소유권) 섹션으로 이동합니다.
Amazon S3 객체 소유권 버킷 설정을 사용해 버킷에 업로드하는 객체의 소유권을 제어합니다. 기본적으로 다른 AWS 계정이 버킷에 객체를 업로드하면 업로드하는 계정이 객체를 소유합니다. 정책을 생성하려면 버킷 소유자가 버킷의 모든 객체를 소유해야 합니다. ACL 사용 사례에 따라 버킷의 Object Ownership(객체 소유권) 설정을 변경해야 할 수 있습니다. 객체 소유권을 다음 옵션 중 하나로 설정하세요.
- Bucket owner enforced(버킷 소유자 강제)(권장)
- Bucket owner preferred(버킷 소유자 선호)
중요 — 정책을 성공적으로 생성하려면 버킷의 객체가 버킷 소유자가 소유해야 합니다. Bucket owner preferred를 선택하면 객체 소유권 변경이 이루어진 시점 이후의 기간에 대해서만 정책을 생성할 수 있습니다. Amazon S3의 객체 소유권에 대한 자세한 내용은 Amazon S3 사용자 가이드의 객체 소유권 제어 및 버킷 ACL 비활성화를 참고하세요.
- 계정 A의 역할이 접근할 수 있도록 계정 B의 Amazon S3 버킷 정책에 권한을 추가합니다.
다음 예시 정책은
amzn-s3-demo-bucket이라는 버킷에 대해ListBucket과GetObject를 허용합니다. 버킷에 접근하는 역할이 조직의 계정에 속하고 이름이AccessAnalyzerMonitorServiceRole로 시작하면 접근을 허용합니다.Resource요소의 조건으로 aws:PrincipalArn을 사용하면 역할이 계정 A에 속하는 경우에만 계정 활동에 접근할 수 있음을 보장합니다.amzn-s3-demo-bucket을 버킷 이름으로,optional-prefix를 버킷의 선택적 접두사로,organization-id를 조직 ID로 바꿀 수 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PolicyGenerationBucketPolicy",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket",
"arn:aws:s3:::amzn-s3-demo-bucket/optional-prefix/AWSLogs/organization-id/${aws:PrincipalAccount}/*"
],
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "organization-id"
},
"ArnLike": {
"aws:PrincipalArn": "arn:aws:iam::${aws:PrincipalAccount}:role/service-role/AccessAnalyzerMonitorServiceRole*"
}
}
}
]
}
AWS KMS로 로그를 암호화한다면, 다음 정책 예시와 같이 CloudTrail 로그를 저장하는 계정에서 AWS KMS 키 정책을 업데이트해 IAM Access Analyzer가 키를 사용할 수 있게 권한을 부여하세요. CROSS_ACCOUNT_ORG_TRAIL_FULL_ARN을 트레일의 ARN으로, organization-id를 조직 ID로 바꾸세요.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "kms:Decrypt",
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:aws:cloudtrail:arn": "CROSS_ACCOUNT_ORG_TRAIL_FULL_ARN",
"aws:PrincipalOrgID": "organization-id"
},
"StringLike": {
"kms:ViaService": [
"access-analyzer.*.amazonaws.com",
"s3.*.amazonaws.com"
]
},
"ArnLike": {
"aws:PrincipalArn": "arn:aws:iam::${aws:PrincipalAccount}:role/service-role/AccessAnalyzerMonitorServiceRole*"
}
}
}
]
}
CloudTrail 활동을 기반으로 정책 생성(AWS CLI)
AWS CLI로 정책을 생성하는 데 다음 명령을 사용할 수 있습니다.
정책 생성
생성된 정책 보기
정책 생성 요청 취소
정책 생성 요청 목록 보기
CloudTrail 활동을 기반으로 정책 생성(AWS API)
AWS API로 정책을 생성하는 데 다음 작업을 사용할 수 있습니다.
정책 생성
생성된 정책 보기
정책 생성 요청 취소
정책 생성 요청 목록 보기