CloudWatch Logs에 대한 자격 증명 기반 정책(IAM 정책) 사용 - Amazon CloudWatch Logs

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

CloudWatch Logs에 대한 자격 증명 기반 정책(IAM 정책) 사용

이 섹션에서는 계정 관리자가 IAM 자격 증명(즉 사용자, 그룹, 역할)에 권한 정책을 연결할 수 있는 자격 증명 기반 정책의 예를 제시합니다.

중요

CloudWatch Logs 리소스에 대한 액세스 관리를 위해 제공되는 기본 개념과 옵션 설명에 대한 소개 주제 부분을 우선 읽어 보는 것이 좋습니다. 자세한 정보는 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 Logs 작업들을 보여주는 목록은 CloudWatch Logs 권한 참조 문서 단원을 참조하십시오.

CloudWatch 콘솔 사용에 필요한 권한

사용자가 CloudWatch 콘솔에서 CloudWatch Logs를 사용하려면 AWS 계정에서 다른 AWS 리소스를 설명할 수 있는 최소한의 권한 세트가 사용자에게 필요합니다. CloudWatch 콘솔에서 CloudWatch Logs을 사용하려면 다음 서비스에서도 권한이 있어야 합니다.

  • CloudWatch

  • CloudWatch Logs

  • Amazon ES

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

최소 필수 권한보다 더 제한적인 IAM 정책을 만들면 콘솔에서는 해당 IAM 정책에 연결된 사용자에 대해 의도대로 작동하지 않습니다. 이 사용자가 CloudWatch 콘솔을 사용할 수 있도록 하려면 CloudWatchReadOnlyAccess 관리형 정책을 사용자에게 연결합니다(CloudWatch Logs에 대한 AWS 관리형(미리 정의된) 정책 참조).

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

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

  • cloudwatch:getMetricData

  • cloudwatch:listMetrics

  • logs:cancelExportTask

  • logs:createExportTask

  • logs:createLogGroup

  • logs:createLogStream

  • logs:deleteLogGroup

  • logs:deleteLogStream

  • logs:deleteMetricFilter

  • logs:deleteQueryDefinition

  • logs:deleteRetentionPolicy

  • logs:deleteSubscriptionFilter

  • logs:describeExportTasks

  • logs:describeLogGroups

  • logs:describeLogStreams

  • logs:describeMetricFilters

  • logs:describeQueryDefinitions

  • logs:describeSubscriptionFilters

  • logs:filterLogEvents

  • logs:getLogEvents

  • logs:putMetricFilter

  • logs:putQueryDefinition

  • logs:putRetentionPolicy

  • logs:putSubscriptionFilter

  • logs:testMetricFilter

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

  • es:describeElasticsearchDomain

  • es:listDomainNames

  • iam:attachRolePolicy

  • iam:createRole

  • iam:getPolicy

  • iam:getPolicyVersion

  • iam:getRole

  • iam:listAttachedRolePolicies

  • iam:listRoles

  • kinesis:describeStreams

  • kinesis:listStreams

  • lambda:addPermission

  • lambda:createFunction

  • lambda:getFunctionConfiguration

  • lambda:listAliases

  • lambda:listFunctions

  • lambda:listVersionsByFunction

  • lambda:removePermission

  • s3:listBuckets

CloudWatch Logs에 대한 AWS 관리형(미리 정의된) 정책

AWS는 AWS에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반 사용 사례를 처리합니다. 관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 정보는 IAM 사용 설명서의 AWS 관리형 정책 단원을 참조하십시오.https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 CloudWatch Logs에 대해 고유합니다.

  • CloudWatchLogsFullAccess – CloudWatch Logs에 대한 전체 액세스 권한을 부여합니다.

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

참고

IAM 콘솔에 로그인하고 이 콘솔에서 특정 정책을 검색하여 이러한 권한 정책을 검토할 수 있습니다.

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

고객 관리형 정책 예

이 단원에서는 다양한 CloudWatch Logs 작업에 대한 권한을 부여하는 사용자 정책의 예를 제공합니다. 이러한 정책은 CloudWatch Logs API, AWS SDK 또는 AWS CLI를 사용하는 경우에 적용됩니다.

예 1 전체 액세스 허용 CloudWatch Logs

다음 정책은 사용자가 모든 CloudWatch Logs 작업을 호출할 수 있도록 허용합니다.

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

예 2 읽기 전용 액세스 허용 CloudWatch Logs

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

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

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

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

{ "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 정책을 사용하십시오.

로그 그룹의 태깅에 대한 자세한 내용은 Amazon CloudWatch Logs에서 로그 그룹에 태그 지정 단원을 참조하십시오.

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

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

사용 방법에 대한 자세한 내용은 IAM 정책문, 참조 정책을 사용하여 액세스 제어 에서 IAM 사용 설명서.