MemoryDB에 대한 ID 기반 정책 (IAM 정책) 사용 - Amazon MemoryDB

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

MemoryDB에 대한 ID 기반 정책 (IAM 정책) 사용

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

중요

MemoryDB 리소스에 대한 액세스를 관리하기 위한 기본 개념과 옵션을 설명하는 항목을 먼저 읽어 보는 것이 좋습니다. 자세한 정보는 MemoryDB 리소스에 대한 액세스 권한 관리 개요을 참조하세요.

이 주제의 섹션에서는 다음 내용을 학습합니다.

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

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "memorydb:CreateCluster", "memorydb:DescribeClusters", "memorydb:UpdateCluster"], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }

이 정책에는 두 명령문이 있습니다:

  • 첫 번째 명령문은 계정이 소유한 모든 클러스터의 MemoryDB 작업 (memorydb:CreateClustermemorydb:DescribeClusters, 및memorydb:UpdateCluster) 에 대한 권한을 부여합니다.

  • 두 번째 명령문은 Resource 값의 끝에 지정된 IAM 역할 이름에서 IAM 작업(iam:PassRole)에 대한 권한을 부여합니다.

자격 증명 기반 정책에서는 권한을 가질 보안 주체를 지정하지 않으므로 이 정책은 Principal 요소를 지정하지 않습니다. 정책을 사용자에게 연결할 경우, 사용자는 암시적인 보안 주체입니다. IAM 역할에 권한 정책을 연결하면 역할의 신뢰 정책에서 식별된 보안 주체가 권한을 얻습니다.

모든 MemoryDB API 작업과 해당 작업이 적용되는 리소스를 보여주는 표는 을 참조하십시오. MemoryDB API 권한: 작업, 리소스 및 조건 참조

MemoryDB 콘솔을 사용하는 데 필요한 권한

권한 참조 표에는 MemoryDB API 작업이 나열되어 있으며 각 작업에 필요한 권한이 나와 있습니다. MemoryDB API 작업에 대한 자세한 내용은 MemoryDB API 권한: 작업, 리소스 및 조건 참조 단원을 참조하세요.

MemoryDB 콘솔을 사용하려면 먼저 다음 권한 정책에 표시된 대로 추가 작업에 대한 권한을 부여하십시오.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "MinPermsForMemDBConsole", "Effect": "Allow", "Action": [ "memorydb:Describe*", "memorydb:List*", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSecurityGroups", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "s3:ListAllMyBuckets", "sns:ListTopics", "sns:ListSubscriptions" ], "Resource": "*" } ] }

MemoryDB 콘솔에 이러한 추가 권한이 필요한 이유는 다음과 같습니다.

  • MemoryDB 작업 권한이 있으면 콘솔에서 계정의 MemoryDB 리소스를 표시할 수 있습니다.

  • 콘솔에 Amazon EC2 쿼리를 위한 ec2 작업 권한이 있어야 합니다. 그래야 가용 영역, VPC, 보안 그룹 및 계정 속성을 표시할 수 있습니다.

  • cloudwatch작업 권한을 통해 콘솔은 Amazon CloudWatch 지표와 경보를 검색하고 콘솔에 표시할 수 있습니다.

  • sns 작업에 대한 권한이 있으면 콘솔에서 Amazon Simple Notification Service(Amazon SNS) 주제와 구독을 검색하고 콘솔에 표시할 수 있습니다.

고객 관리형 정책 예제

기본 정책을 사용하지 않고 고객 관리형 정책을 사용할 경우, 두 가지 중 하나가 가능한지 확인해야 합니다. iam:createServiceLinkedRole을 호출할 수 있는 권한이 있어야 합니다(자세한 내용은 예 4: 사용자가 IAM CreateServiceLinkedRole API를 호출하도록 허용 섹션을 참조하세요). 또는 MemoryDB 서비스 연결 역할을 생성해야 합니다.

MemoryDB 콘솔 사용에 필요한 최소 권한과 결합하면 이 섹션의 예제 정책이 추가 권한을 부여합니다. 이 예제는 SDK 및 AWS SDK와도 관련이 있습니다. AWS CLI MemoryDB 콘솔을 사용하는 데 필요한 권한에 대한 자세한 내용은 MemoryDB 콘솔을 사용하는 데 필요한 권한 단원을 참조하세요.

IAM 사용자 및 그룹을 설정하는 것에 대한 지침은 IAM 사용 설명서IAM 사용자와 관리자 그룹 처음 만들기 섹션을 참조하세요.

중요

프로덕션에서 IAM 정책을 사용하기 전에 항상 철저히 테스트하세요. 나타나는 일부 MemoryDB 작업을 MemoryDB 콘솔을 사용할 때 다른 작업이 해당 작업을 지원해야 할 수도 있습니다. 예를 들어, memorydb:CreateCluster이(가) MemoryDB 클러스터를 생성하기 위한 권한을 부여합니다. 그러나 이 작업을 수행하기 위해 MemoryDB 콘솔에서 여러 DescribeList 작업을 사용하여 콘솔 목록을 채웁니다.

예제 1: 사용자에게 MemoryDB 리소스에 대한 읽기 전용 액세스 허용

다음 정책은 사용자에게 리소스를 나열하도록 허용하는 MemoryDB 작업에 대한 권한을 부여합니다. 일반적으로 이 유형의 권한 정책을 관리자 그룹에 연결합니다.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "MemDBUnrestricted", "Effect":"Allow", "Action": [ "memorydb:Describe*", "memorydb:List*"], "Resource":"*" } ] }

예제 2: 사용자가 일반 MemoryDB 시스템 관리자 작업을 수행하도록 허용

일반 시스템 관리자 작업에는 클러스터, 파라미터 및 파라미터 그룹 수정이 포함됩니다. 시스템 관리자가 MemoryDB 이벤트에 대한 정보를 보고 싶어할 수도 있습니다. 다음 정책은 이러한 일반 시스템 관리자 작업을 위한 MemoryDB 작업을 수행할 권한을 사용자에게 부여합니다. 일반적으로 이 유형의 권한 정책을 시스템 관리자 그룹에 연결합니다.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "MDBAllowSpecific", "Effect":"Allow", "Action":[ "memorydb:UpdateCluster", "memorydb:DescribeClusters", "memorydb:DescribeEvents", "memorydb:UpdateParameterGroup", "memorydb:DescribeParameterGroups", "memorydb:DescribeParameters", "memorydb:ResetParameterGroup",], "Resource":"*" } ] }

예제 3: 사용자가 모든 MemoryDB API 작업에 액세스하도록 허용

다음 정책은 사용자가 모든 MemoryDB 작업을 호출할 수 있도록 허용합니다. 관리자 사용자에게만 이 유형의 권한 정책을 부여하는 것이 좋습니다.

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

예 4: 사용자가 IAM CreateServiceLinkedRole API를 호출하도록 허용

다음 정책은 사용자가 IAM CreateServiceLinkedRole API를 호출하도록 허용합니다. 변화하기 쉬운 MemoryDB 작업을 간접적으로 호출하는 사용자에게 이 유형의 권한 정책을 부여하는 것이 좋습니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CreateSLRAllows", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:AWS ServiceName":"memorydb.amazonaws.com" } } } ] }