기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon ElastiCache에 대한 자격 증명 기반 정책(IAM 정책) 사용
이 항목에서는 계정 관리자가 IAM 자격 증명(사용자, 그룹, 역할)에 권한 정책을 연결할 수 있는 자격 증명 기반 정책의 예를 제공합니다.
중요
Amazon ElastiCache 리소스 액세스를 관리하기 위한 기본 개념과 옵션을 설명하는 주제를 먼저 읽어 보는 것이 좋습니다. 자세한 내용은 ElastiCache 리소스에 대한 액세스 권한 관리 개요 섹션을 참조하세요.
이 주제의 섹션에서는 다음 내용을 학습합니다.
다음은 권한 정책의 예입니다.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }
이 정책에는 두 명령문이 있습니다:
-
첫 번째 명령문은 Amazon ElastiCache 작업(
elasticache:Create*
,elasticache:Describe*
,elasticache:Modify*
)에 대한 권한을 부여합니다. -
두 번째 명령문은
Resource
값의 끝에 지정된 IAM 역할 이름에서 IAM 작업(iam:PassRole
)에 대한 권한을 부여합니다.
자격 증명 기반 정책에서는 권한을 가질 보안 주체를 지정하지 않으므로 이 정책은 Principal
요소를 지정하지 않습니다. 정책을 사용자에게 연결할 경우, 사용자는 암시적인 보안 주체입니다. IAM 역할에 권한 정책을 연결하면 역할의 신뢰 정책에서 식별된 보안 주체가 권한을 얻습니다.
모든 Amazon ElastiCache API 작업과 해당 작업이 적용되는 리소스를 보여주는 표는 ElastiCache API 권한: 작업, 리소스, 조건 참조 섹션을 참조하세요.
고객 관리형 정책 예제
기본 정책을 사용하지 않고 고객 관리형 정책을 사용할 경우, 두 가지 중 하나가 가능한지 확인해야 합니다. iam:createServiceLinkedRole
을 호출할 수 있는 권한이 있어야 합니다(자세한 내용은 예제 4: 사용자에게 IAM CreateServiceLinkedRole API 호출 허용 섹션을 참조하세요). 또는 ElastiCache 서비스 연결 역할을 생성해야 합니다.
Amazon ElastiCache 콘솔을 사용하는 데 필요한 최소 권한과 함께 이 섹션의 예제 정책을 사용할 경우 추가 권한이 부여됩니다. 예제는 AWS SDK 및 AWS CLI와도 관련이 있습니다.
IAM 사용자 및 그룹을 설정하는 것에 대한 지침은 IAM 사용 설명서의 IAM 사용자와 관리자 그룹 처음 만들기 섹션을 참조하세요.
중요
프로덕션에서 IAM 정책을 사용하기 전에 항상 철저히 테스트하세요. 간단해 보이는 일부 ElastiCache 작업에서 ElastiCache 콘솔을 사용할 때 다른 작업이 해당 작업을 지원해야 할 수도 있습니다. 예를 들어, elasticache:CreateCacheCluster
가 ElastiCache 캐시 클러스터를 생성하기 위한 권한을 부여합니다. 그러나 이 작업을 수행하기 위해 ElastiCache 콘솔에서 여러 Describe
및 List
작업을 사용하여 콘솔 목록을 채웁니다.
예제
예제 1: 사용자에게 ElastiCache 리소스에 대한 읽기 전용 액세스 허용
다음 정책은 사용자에게 리소스를 나열하도록 허용하는 ElastiCache 작업에 대한 권한을 부여합니다. 일반적으로 이 유형의 권한 정책을 관리자 그룹에 연결합니다.
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECReadOnly", "Effect":"Allow", "Action": [ "elasticache:Describe*", "elasticache:List*"], "Resource":"*" } ] }
예제 2: 사용자가 일반 ElastiCache 시스템 관리자 작업을 수행하도록 허용
일반적인 시스템 관리자 작업으로는 리소스 수정이 있습니다. 시스템 관리자가 ElastiCache 이벤트에 대한 정보를 보고 싶어할 수도 있습니다. 다음 정책은 이러한 일반 시스템 관리자 작업을 위한 ElastiCache 작업을 수행할 권한을 사용자에게 부여합니다. 일반적으로 이 유형의 권한 정책을 시스템 관리자 그룹에 연결합니다.
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowMutations", "Effect":"Allow", "Action":[ "elasticache:Modify*", "elasticache:Describe*", "elasticache:ResetCacheParameterGroup" ], "Resource":"*" } ] }
예제 3: 사용자가 모든 ElastiCache API 작업에 액세스하도록 허용
다음 정책은 사용자가 모든 ElastiCache 작업을 호출할 수 있도록 허용합니다. 관리자 사용자에게만 이 유형의 권한 정책을 부여하는 것이 좋습니다.
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowAll", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }
예제 4: 사용자에게 IAM CreateServiceLinkedRole API 호출 허용
다음 정책은 사용자가 IAM CreateServiceLinkedRole
API를 호출하도록 허용합니다. 변화하기 쉬운 ElastiCache 작업을 호출하는 사용자에게 이 유형의 권한 정책을 부여하는 것이 좋습니다.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CreateSLRAllows", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:AWSServiceName":"elasticache.amazonaws.com" } } } ] }