로그에 ID 기반 정책 (IAM 정책) 사용 CloudWatch - 아마존 CloudWatch 로그

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

로그에 ID 기반 정책 (IAM 정책) 사용 CloudWatch

이 항목에서는 계정 관리자가 IAM ID(사용자, 그룹, 역할)에 권한 정책을 연결할 수 있는 ID 기반 정책의 예를 제공합니다.

중요

먼저 로그 리소스에 대한 액세스를 관리하는 데 사용할 수 있는 기본 개념과 옵션을 설명하는 소개 주제를 검토하는 것이 좋습니다. CloudWatch 자세한 설명은 CloudWatch Logs 리소스에 대한 액세스 권한 관리 개요 섹션을 참조하세요.

이 주제는 다음을 다룹니다.

다음은 권한 정책의 예제입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }

이 정책에는 로그 그룹 및 로그 스트림을 생성하고 로그 스트림에 로그 이벤트를 업로드하며 로그 스트림에 대한 세부 사항을 나열할 수 있는 권한을 부여하는 명령문이 하나 포함되어 있습니다.

Resource 값 끝에 와일드카드 문자(*)가 있다는 것은 이 정책 명령문이 어떤 로그 그룹에서든 logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEventslogs:DescribeLogStreams 작업에 대한 권한을 허용한다는 의미입니다. 이러한 권한을 특정 로그 그룹으로 제한하려면 리소스 ARN에 있는 와일드카드 문자(*)를 특정 로그 그룹 ARN으로 대체합니다. IAM 정책 설명 내 섹션에 대한 자세한 내용은 IAM 사용 설명서IAM 정책 요소 참조를 참조하세요. 모든 CloudWatch 로그 작업을 보여주는 목록은 을 참조하십시오CloudWatch 로그 권한 참조.

CloudWatch 콘솔 사용에 필요한 권한

사용자가 CloudWatch 콘솔에서 CloudWatch 로그를 사용하려면 해당 사용자에게 AWS 계정의 다른 AWS 리소스를 설명할 수 있는 최소한의 권한이 있어야 합니다. CloudWatch 콘솔에서 CloudWatch 로그를 사용하려면 다음 서비스의 권한이 있어야 합니다.

  • CloudWatch

  • CloudWatch 로그

  • OpenSearch 서비스

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

최소 필수 권한보다 더 제한적인 IAM 정책을 만들면 콘솔은 해당 IAM 정책에 연결된 사용자에 대해 의도대로 작동하지 않습니다. 이러한 사용자가 CloudWatch 콘솔을 계속 사용할 수 있도록 하려면 에 설명된 대로 CloudWatchReadOnlyAccess 관리형 정책도 사용자에게 AWS 로그에 대한 CloudWatch 관리형 (사전 정의된) 정책 연결하세요.

AWS CLI 또는 CloudWatch Logs API만 호출하는 사용자에게 최소 콘솔 권한을 허용할 필요는 없습니다.

콘솔을 사용하여 로그 구독을 관리하지 않는 사용자가 CloudWatch 콘솔을 사용하는 데 필요한 전체 권한은 다음과 같습니다.

  • 클라우드워치: GetMetricData

  • 클라우드워치: ListMetrics

  • 로그: CancelExportTask

  • 로그: CreateExportTask

  • 로그: CreateLogGroup

  • 로그: CreateLogStream

  • 로그: DeleteLogGroup

  • 로그: DeleteLogStream

  • 로그: DeleteMetricFilter

  • 로그: DeleteQueryDefinition

  • 로그: DeleteRetentionPolicy

  • 로그: DeleteSubscriptionFilter

  • 로그: DescribeExportTasks

  • 로그: DescribeLogGroups

  • 로그: DescribeLogStreams

  • 로그: DescribeMetricFilters

  • 로그: DescribeQueryDefinitions

  • 로그: DescribeQueries

  • 로그: DescribeSubscriptionFilters

  • 로그: FilterLogEvents

  • 로그: GetLogEvents

  • 로그: GetLogGroupFields

  • 로그: GetLogRecord

  • 로그: GetQueryResults

  • 로그: PutMetricFilter

  • 로그: PutQueryDefinition

  • 로그: PutRetentionPolicy

  • 로그: StartQuery

  • 로그: StopQuery

  • 로그: PutSubscriptionFilter

  • 로그: TestMetricFilter

사용자가 콘솔을 사용하여 로그 구독도 관리할 경우 다음 권한도 필요합니다.

  • 예: DescribeElasticsearchDomain

  • 예: ListDomainNames

  • 목표: AttachRolePolicy

  • 목표: CreateRole

  • 목표: GetPolicy

  • 목표: GetPolicyVersion

  • 목표: GetRole

  • 목표: ListAttachedRolePolicies

  • 목표: ListRoles

  • 키네시스: DescribeStreams

  • 키네시스: ListStreams

  • 람다: AddPermission

  • 람다: CreateFunction

  • 람다: GetFunctionConfiguration

  • 람다: ListAliases

  • 람다: ListFunctions

  • 람다: ListVersionsByFunction

  • 람다: RemovePermission

  • s3: ListBuckets

AWS 로그에 대한 CloudWatch 관리형 (사전 정의된) 정책

AWS 에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반적인 사용 사례를 해결합니다. AWS관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 IAM 사용 설명서AWS 관리형 정책을 참조하세요.

계정의 사용자 및 역할에 연결할 수 있는 다음과 같은 AWS 관리형 정책은 로그에만 해당됩니다. CloudWatch

  • CloudWatchLogsFullAccess— CloudWatch 로그에 대한 전체 액세스 권한을 부여합니다.

  • CloudWatchLogsReadOnlyAccess— CloudWatch 로그에 대한 읽기 전용 액세스 권한을 부여합니다.

CloudWatchLogsFullAccess

CloudWatchLogsFullAccess정책은 CloudWatch 로그에 대한 전체 액세스 권한을 부여합니다. 내용은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*" } ] }

CloudWatchLogsReadOnlyAccess

CloudWatchLogsReadOnlyAccess정책은 CloudWatch 로그에 대한 읽기 전용 액세스 권한을 부여합니다. 내용은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "logs:StartLiveTail", "logs:StopLiveTail" ], "Resource": "*" } ] }

CloudWatchLogsCrossAccountSharingConfiguration

CloudWatchLogsCrossAccountSharingConfiguration정책은 계정 간에 CloudWatch 로그 리소스를 공유하기 위한 Observability Access Manager 링크를 만들고, 관리하고, 볼 수 있는 액세스 권한을 부여합니다. 자세한 내용은 CloudWatch 계정 간 옵저버빌리티를 참조하십시오.

내용은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:Link", "oam:ListLinks" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oam:DeleteLink", "oam:GetLink", "oam:TagResource" ], "Resource": "arn:aws:oam:*:*:link/*" }, { "Effect": "Allow", "Action": [ "oam:CreateLink", "oam:UpdateLink" ], "Resource": [ "arn:aws:oam:*:*:link/*", "arn:aws:oam:*:*:sink/*" ] } ] }

CloudWatch 관리형 정책에 대한 업데이트를 기록합니다. AWS

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후 CloudWatch Logs의 AWS 관리형 정책 업데이트에 대한 세부 정보를 볼 수 있습니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 CloudWatch 로그 문서 기록 페이지에서 RSS 피드를 구독하십시오.

변경 사항 설명 날짜

CloudWatchLogsReadOnlyAccess - 기존 정책에 대한 업데이트

CloudWatch 로그에 CloudWatchLogsReadOnlyAccess권한이 추가되었습니다.

이 정책을 사용하는 사용자가 콘솔을 사용하여 CloudWatch Logs live tail 세션을 시작 및 중지할 수 있도록 및 logs:StopLiveTail 권한이 추가되었습니다. logs:StartLiveTail 자세한 내용은 Live Tail을 사용하여 거의 실시간으로 로그 보기를 참조하세요.

2023년 6월 6일

CloudWatchLogsCrossAccountSharingConfiguration - 새 정책

CloudWatch 로그에는 로그 로그 그룹을 공유하는 CloudWatch CloudWatch 계정 간 가시성 링크를 관리할 수 있는 새 정책이 추가되었습니다.

자세한 내용은 계정 간 옵저버빌리티를 참조하십시오CloudWatch .

2022년 11월 27일

CloudWatchLogsFullAccess-기존 정책 업데이트

CloudWatch 로그에 추가된 권한. CloudWatchLogsFullAccess

oam:ListSinksoam:ListAttachedLinks 권한이 추가되었으므로 이 정책을 사용하는 사용자가 콘솔을 사용하여 계정 CloudWatch 간 관찰 가능성에서 소스 계정에서 공유된 데이터를 볼 수 있습니다.

2022년 11월 27일

CloudWatchLogsReadOnlyAccess-기존 정책 업데이트

CloudWatch 로그에 권한이 추가되었습니다. CloudWatchLogsReadOnlyAccess

oam:ListSinksoam:ListAttachedLinks 권한이 추가되었으므로 이 정책을 사용하는 사용자가 콘솔을 사용하여 계정 CloudWatch 간 관찰 가능성에서 소스 계정에서 공유된 데이터를 볼 수 있습니다.

2022년 11월 27일

고객 관리형 정책 예

사용자 지정 IAM 정책을 생성하여 CloudWatch Logs 작업 및 리소스에 대한 권한을 허용할 수 있습니다. 해당 권한이 필요한 사용자 또는 그룹에 이러한 사용자 지정 정책을 연결할 수 있습니다.

이 섹션에서는 다양한 CloudWatch 로그 작업에 대한 권한을 부여하는 예제 사용자 정책을 확인할 수 있습니다. 이러한 정책은 CloudWatch Logs API, AWS SDK 또는 를 사용할 때 작동합니다. AWS CLI

예 1: 로그에 CloudWatch 대한 전체 액세스 허용

다음 정책은 사용자가 모든 CloudWatch 로그 작업에 액세스할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*" } ] }

예 2: 로그에 CloudWatch 대한 읽기 전용 액세스 허용

AWS CloudWatch 로그 데이터에 대한 읽기 전용 액세스를 허용하는 CloudWatchLogsReadOnlyAccess정책을 제공합니다. 이 정책에는 다음 권한이 포함되어 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "logs:StartLiveTail", "logs:StopLiveTail" ], "Effect": "Allow", "Resource": "*" } ] }

예제 3: 로그 그룹 하나에 대한 액세스 허용

다음 정책에서는 사용자가 지정된 로그 그룹 하나에서 로그 이벤트를 읽고 쓸 수 있게 허용합니다.

중요

Resource 라인의 로그 그룹 이름 끝에 있는 :* 기호가 있어야 정책이 이 로그 그룹의 모든 로그 스트림에 적용됨을 나타냅니다. :* 기호를 생략하는 경우 정책이 시행되지 않습니다.

{ "Version":"2012-10-17", "Statement":[ { "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Effect": "Allow", "Resource": "arn:aws:logs:us-west-2:123456789012:log-group:SampleLogGroupName:*" } ] }

로그 그룹 수준의 제어를 위한 태깅 및 IAM 정책 사용

사용자에게 특정 로그 그룹에 대한 액세스 권한을 부여함과 동시에 다른 로그 그룹에 대한 액세스를 방지할 수 있습니다. 이렇게 하려면 로그 그룹에 태그를 지정하고 해당 태그를 참조하는 IAM 정책을 사용하세요. 로그 그룹에 태그를 적용하려면 logs:TagResource 또는 logs:TagLogGroup 권한이 있어야 합니다. 이는 로그 그룹을 생성할 때 로그 그룹에 태그를 할당하거나 나중에 할당하는 경우 모두에 적용됩니다.

로그 그룹의 태깅에 대한 자세한 내용은 Amazon Logs의 태그 CloudWatch 로그 그룹 섹션을 참조하세요.

로그 그룹에 태그를 지정할 때 특정 태그가 있는 로그 그룹에만 액세스를 허용할 수 있도록 사용자에게 IAM 정책에 대한 권한을 부여할 수 있습니다. 예를 들어, 다음 정책 명령문은 태그 키 Team에 대한 값이 Green인 로그 그룹에만 액세스하도록 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/Team": "Green" } } } ] }

StopQueryStopLiveTailAPI 작업은 전통적인 의미에서는 AWS 리소스와 상호 작용하지 않습니다. 즉, 어떤 식으로든 데이터를 반환하거나 데이터를 넣거나 리소스를 수정하지 않습니다. 대신 리소스로 분류되지 않는 지정된 라이브 테일 세션 또는 지정된 CloudWatch Logs Insights 쿼리에서만 작동합니다. 따라서 이러한 작업에 대해 IAM 정책에서 Resource 필드를 지정하는 경우 다음 예제와 같이 Resource 필드 값을 *로 설정해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StopQuery", "logs:StopLiveTail" ], "Resource": "*" } ] }

IAM 정책에 자세한 내용은 IAM 사용 설명서에서 정책을 사용하여 액세스 제어를 참조하세요.