기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudTrail 리소스 기반 정책 예제
이 섹션에서는 CloudTrail Lake 대시보드, 이벤트 데이터 스토어 및 채널에 대한 리소스 기반 정책의 예를 제공합니다.
CloudTrail 는 다음과 같은 유형의 리소스 기반 정책을 지원합니다.
-
외부의 이벤트 소스와 CloudTrail Lake 통합에 사용되는 채널에 대한 리소스 기반 정책입니다 AWS. 채널의 리소스 기반 정책은 이벤트를 대상 이벤트 데이터 스토어에 전달하기 위해 채널에서
PutAuditEvents
를 호출할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 페더레이션 사용자)를 정의합니다. CloudTrail Lake와의 통합 생성에 대한 자세한 내용은 섹션을 참조하세요AWS 외부 이벤트 소스와의 통합 생성. -
이벤트 데이터 스토어에서 작업을 수행할 수 있는 보안 주체를 제어하는 리소스 기반 정책입니다. 리소스 기반 정책을 사용하여 이벤트 데이터 스토어에 대한 교차 계정 액세스를 제공할 수 있습니다.
-
대시보드에 대한 새로 고침 일정을 설정할 때 CloudTrail 가 정의한 간격으로 CloudTrail Lake 대시보드를 새로 고칠 수 있도록 허용하는 대시보드의 리소스 기반 정책입니다. 자세한 내용은 CloudTrail 콘솔을 사용하여 사용자 지정 대시보드에 대한 새로 고침 일정 설정 단원을 참조하십시오.
채널에 대한 리소스 기반 정책 예제
채널의 리소스 기반 정책은 이벤트를 대상 이벤트 데이터 스토어에 전달하기 위해 채널에서 PutAuditEvents
를 호출할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 페더레이션 사용자)를 정의합니다.
정책에 필요한 정보는 통합 유형에 따라 결정됩니다.
-
방향 통합의 경우는 파트너의를 포함하는 정책을 CloudTrail 요구 AWS 계정 IDs하고 파트너가 제공한 고유한 외부 ID를 입력해야 합니다.는 CloudTrail 콘솔을 사용하여 통합을 생성할 때 리소스 정책에 파트너의 AWS 계정 IDs를 CloudTrail 자동으로 추가합니다. 정책에 필요한 AWS 계정 번호를 가져오는 방법을 알아보려면 파트너의 설명서를 참조하세요.
-
솔루션 통합의 경우 하나 이상의 AWS 계정 ID를 보안 주체로 지정해야 하며, 선택적으로 외부 ID를 입력하여 혼동된 대리자를 방지할 수 있습니다.
다음은 리소스 기반 정책에 대한 요구 사항입니다.
-
정책에는 하나 이상의 정책 문이 포함됩니다. 정책은 최대 20개의 문을 보유할 수 있습니다.
-
각 문에는 하나 이상의 보안 주체가 포함됩니다. 보안 주체는 계정, 사용자, 역할 또는 페더레이션 사용자입니다. 문에는 최대 50개의 보안 주체가 있을 수 있습니다.
-
정책에 ARN 정의된 리소스는 정책이 연결된 채널ARN과 일치해야 합니다.
-
정책에는
cloudtrail-data:PutAuditEvents
의 한 가지 작업만 포함됩니다.
정책이 리소스PutAuditEvents
API에 대한 소유자 액세스를 거부하지 않는 한 채널 소유자는 채널에서를 호출할 수 있습니다.
예: 보안 주체에 채널 액세스 제공
다음 예제에서는 ARNs arn:aws:iam::111122223333:root
, arn:aws:iam::444455556666:root
및를 사용하여 보안 주체에게 ARN를 사용하여 CloudTrail 채널PutAuditEventsAPI에서를 호출arn:aws:iam::123456789012:root
할 수 있는 권한을 부여합니다arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b" } ] }
예제: 외부 ID를 사용하여 혼동된 대리자 문제 방지
다음 예제에서는 외부 ID를 사용하여 혼동된 대리자 문제를 방지합니다. 혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다.
통합 파트너는 정책에서 사용할 외부 ID를 생성합니다. 그리고 통합 생성의 일부로 외부 ID를 제공합니다. 이 값은 암호 또는 계정 번호와 같은 어떤 고유한 문자열도 가능합니다.
이 예제에서는 ARNs arn:aws:iam::111122223333:root
에 대한 호출에 정책에 정의된 외부 ID 값이 PutAuditEvents
API 포함된 경우 arn:aws:iam::444455556666:root
, 및를 사용하여 CloudTrail 채널 리소스PutAuditEventsAPI에서를 호출할 arn:aws:iam::123456789012:root
수 있는 권한을 보안 주체에게 부여합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "uniquePartnerExternalID" } } } ] }
이벤트 데이터 스토어에 대한 리소스 기반 정책 예제
리소스 기반 정책을 사용하면 이벤트 데이터 스토어에서 작업을 수행할 수 있는 보안 주체를 제어할 수 있습니다.
리소스 기반 정책을 사용하여 선택한 보안 주체가 이벤트 데이터 스토어를 쿼리하고, 쿼리를 나열 및 취소하고, 쿼리 결과를 볼 수 있도록 교차 계정 액세스 권한을 제공할 수 있습니다.
CloudTrail Lake 대시보드의 경우, 리소스 기반 정책은가 대시보드를 새로 고칠 때 이벤트 데이터 스토어에서 쿼리를 CloudTrail 실행하여 대시보드 위젯의 데이터를 채울 수 있도록 허용하는 데 사용됩니다. CloudTrail Lake는 사용자 지정 대시보드를 생성하거나 CloudTrail 콘솔에서 하이라이트 대시보드를 활성화할 때 이벤트 데이터 스토어에 기본 리소스 기반 정책을 연결할 수 있는 옵션을 제공합니다.
다음 작업은 이벤트 데이터 스토어에 대한 리소스 기반 정책에서 지원됩니다.
-
cloudtrail:StartQuery
-
cloudtrail:CancelQuery
-
cloudtrail:ListQueries
-
cloudtrail:DescribeQuery
-
cloudtrail:GetQueryResults
-
cloudtrail:GenerateQuery
-
cloudtrail:GenerateQueryResultsSummary
-
cloudtrail:GetEventDataStore
이벤트 데이터 스토어를 생성 또는 업데이트하거나 CloudTrail 콘솔에서 대시보드를 관리할 때 이벤트 데이터 스토어에 리소스 기반 정책을 추가할 수 있는 옵션이 제공됩니다. put-resource-policy 명령을 실행하여 리소스 기반 정책을 이벤트 데이터 스토어에 연결할 수도 있습니다.
리소스 기반 정책은 하나 이상의 문으로 구성됩니다. 예를 들어가 대시보드에 대한 이벤트 데이터 스토어를 쿼리 CloudTrail 할 수 있는 문 하나와 교차 계정 액세스를 통해 이벤트 데이터 스토어를 쿼리할 수 있는 문 하나를 포함할 수 있습니다. CloudTrail 콘솔의 이벤트 데이터 스토어 세부 정보 페이지에서 기존 이벤트 데이터 스토어의 리소스 기반 정책을 업데이트할 수 있습니다.
조직 이벤트 데이터 스토어의 경우는 위임된 관리자 계정이 조직 이벤트 데이터 스토어에서 수행할 수 있는 작업을 나열하는 기본 리소스 기반 정책을 CloudTrail 생성합니다. 이 정책의 권한은의 위임된 관리자 권한에서 파생됩니다 AWS Organizations. 이 정책은 조직 이벤트 데이터 스토어 또는 조직을 변경한 후 자동으로 업데이트됩니다(예: CloudTrail 위임된 관리자 계정이 등록되거나 제거됨).
예: CloudTrail 가 쿼리를 실행하여 대시보드를 새로 고칠 수 있도록 허용
새로 고침 중에 CloudTrail Lake 대시보드에 데이터를 채우려면가 사용자를 대신하여 쿼리 CloudTrail 를 실행하도록 허용해야 합니다. 이렇게 하려면가 StartQuery
작업을 수행하여 위젯의 데이터를 채울 수 CloudTrail 있는 문이 포함된 대시보드 위젯과 연결된 각 이벤트 데이터 스토어에 리소스 기반 정책을 연결합니다.
다음은 문에 대한 요구 사항입니다.
-
유일한는
Principal
입니다cloudtrail.amazonaws.com
. -
Action
허용되는 유일한는 입니다cloudtrail:StartQuery
. -
에는 대시보드ARN() 및 AWS 계정 ID
Condition
만 포함됩니다. 의 경우 대시보드 배열을 제공할AWS:SourceArn
수 있습니다ARNs.
다음 예제 정책에는가 example-dashboard1
및 라는 두 개의 사용자 지정 대시보드에 대해 이벤트 데이터 스토어에서 쿼리를 CloudTrail 실행할 수 있도록 허용하는 문example-dashboard2
과 계정에 AWSCloudTrail-Highlights
대한 라는 하이라이트 대시보드가 포함되어 있습니다123456789012
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartQuery" ], "Condition": { "StringLike": { "AWS:SourceArn": [ "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard1", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard2", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/AWSCloudTrail-Highlights" ], "AWS:SourceAccount": "123456789012" } } } ] }
예: 다른 계정이 이벤트 데이터 스토어를 쿼리하고 쿼리 결과를 볼 수 있도록 허용
리소스 기반 정책을 사용하여 이벤트 데이터 스토어에 대한 교차 계정 액세스를 제공하여 다른 계정이 이벤트 데이터 스토어에서 쿼리를 실행할 수 있도록 할 수 있습니다.
다음 예제 정책에는 계정 111122223333
, 999999999999
, 및의 루트 사용자가 계정 ID 777777777777
가 소유한 이벤트 데이터 스토어에서 쿼리111111111111
를 실행하고 쿼리 결과를 가져올 수 있도록 허용하는 문이 포함되어 있습니다555555555555
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "policy1", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::777777777777:root", "arn:aws:iam::999999999999:root", "arn:aws:iam::111111111111:root" ] }, "Action": [ "cloudtrail:StartQuery", "cloudtrail:GetEventDataStore", "cloudtrail:GetQueryResults" ], "Resource": "arn:aws:cloudtrail:us-east-1:555555555555:eventdatastore/example80-699f-4045-a7d2-730dbf313ccf" } ] }
대시보드에 대한 리소스 기반 정책 예제
CloudTrail Lake 대시보드에 대한 새로 고침 일정을 설정할 수 있습니다. 그러면 CloudTrail 가 새로 고침 일정을 설정할 때 정의한 간격으로 사용자를 대신하여 대시보드를 새로 고칠 수 있습니다. 이렇게 하려면가 대시보드에서 StartDashboardRefresh
작업을 CloudTrail 수행할 수 있도록 리소스 기반 정책을 대시보드에 연결해야 합니다.
다음은 리소스 기반 정책에 대한 요구 사항입니다.
-
유일한는
Principal
입니다cloudtrail.amazonaws.com
. -
정책에서
Action
허용되는 유일한는 입니다cloudtrail:StartDashboardRefresh
. -
에는 대시보드ARN와 AWS 계정 ID
Condition
만 포함됩니다.
다음 예제 정책은가 계정에 exampleDash
대한 이라는 대시보드를 새로 고칠 CloudTrail 수 있도록 허용합니다123456789012
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartDashboardRefresh" ], "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash", "AWS:SourceAccount":"123456789012" } } } ] }