

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

# MemoryDB 리소스에 대한 액세스 권한 관리 개요
<a name="iam.overview"></a>

모든 AWS 리소스는 AWS 계정이 소유하며, 리소스를 생성하거나 액세스할 수 있는 권한은 권한 정책에 의해 관리됩니다. 계정 관리자는 IAM ID(사용자, 그룹 및 역할)에 권한 정책을 연결할 수 있습니다. 또한 MemoryDB에서는 리소스에 권한 정책 연결을 지원합니다.

**참고**  
*계정 관리자* 또는 관리자 사용자는 관리자 권한이 있는 사용자입니다. 자세한 설명은 *IAM 사용자 가이드*의 [IAM 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) 섹션을 참조하십시오.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요.
+ 의 사용자 및 그룹 AWS IAM Identity Center:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 제공업체를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용자 설명서*의 [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용자 설명서*에서 [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)의 지침을 따릅니다.
  + (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. *IAM 사용 설명서*에서 [사용자(콘솔)에 권한 추가](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)의 지침을 따릅니다.

**Topics**
+ [MemoryDB 리소스 및 작업](#iam.overview.resourcesandoperations)
+ [리소스 소유권 이해](#access-control-resource-ownership)
+ [리소스 액세스 관리](#iam.overview.managingaccess)
+ [MemoryDB에 대한 ID 기반 정책(IAM 정책) 사용](iam.identitybasedpolicies.md)
+ [리소스 수준 권한](iam.resourcelevelpermissions.md)
+ [MemoryDB에 대한 서비스 연결 역할 사용](using-service-linked-roles.md)
+ [AWS MemoryDB에 대한 관리형 정책](security-iam-awsmanpol.md)
+ [MemoryDB API 권한: 작업, 리소스 및 조건 참조](iam.APIReference.md)

## MemoryDB 리소스 및 작업
<a name="iam.overview.resourcesandoperations"></a>

MemoryDB의 기본 리소스는 *클러스터*입니다.

다음에 나와 있는 것처럼 이러한 리소스에는 고유한 Amazon 리소스 이름(ARN)이 연결됩니다.

**참고**  
리소스 수준 권한이 유효하려면 ARN 문자열의 리소스 이름이 소문자여야 합니다.


****  

| 리소스 유형 | ARN 형식 | 
| --- | --- | 
| User  | arn:aws:memorydb:*us-east-1:123456789012*:user/user1 | 
| 액세스 제어 목록(ACL)  | arn:aws:memorydb:*us-east-1:123456789012*:acl/myacl | 
| Cluster  | arn:aws:memorydb:*us-east-1:123456789012*:cluster/my-cluster | 
| 스냅샷  | arn:aws:memorydb:*us-east-1:123456789012*:snapshot/my-snapshot | 
| 파라미터 그룹  | arn:aws:memorydb:*us-east-1:123456789012*:parametergroup/my-parameter-group | 
| 서브넷 그룹  | arn:aws:memorydb:*us-east-1:123456789012*:subnetgroup/my-subnet-group | 

MemoryDB는 MemoryDB 리소스를 처리하기 위한 일련의 작업을 제공합니다. 사용 가능한 작업 목록은 MemoryDB [작업](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_Operations.html)을 참조하세요.

## 리소스 소유권 이해
<a name="access-control-resource-ownership"></a>

*리소스 소유자*는 리소스를 생성한 AWS 계정입니다. 즉, 리소스 소유자는 리소스를 생성하는 요청을 인증하는 보안 주체 엔터티의 AWS 계정입니다. *보안주체 엔터티*는 루트 계정, IAM 사용자 또는 IAM 역할일 수 있습니다. 다음 예제에서는 이러한 작동 방법을 설명합니다.
+  AWS 계정의 루트 계정 자격 증명을 사용하여 클러스터를 생성한다고 가정해 보겠습니다. 이 경우 AWS 계정은 리소스의 소유자입니다. MemoryDB에서 리소스는 클러스터입니다.
+  AWS 계정에서 IAM 사용자를 생성하고 해당 사용자에게 클러스터를 생성할 수 있는 권한을 부여한다고 가정해 보겠습니다. 이러한 경우, 이 사용자가 클러스터를 생성할 수 있습니다. 하지만 사용자가 속한 AWS 계정이 클러스터 리소스를 소유합니다.
+  AWS 계정에서 클러스터를 생성할 권한이 있는 IAM 역할을 생성한다고 가정해 보겠습니다. 이러한 경우, 이 역할을 수임할 사람은 클러스터를 생성할 수 있습니다. 역할이 속한 AWS 계정이 클러스터 리소스를 소유합니다.

## 리소스 액세스 관리
<a name="iam.overview.managingaccess"></a>

*권한 정책*은 누가 무엇에 액세스 할 수 있는지를 나타냅니다. 다음 섹션에서는 권한 정책을 만드는 데 사용 가능한 옵션에 대해 설명합니다.

**참고**  
이 섹션에서는 MemoryDB의 맥락에서 IAM을 사용하는 방법을 설명하며, IAM 서비스에 대한 자세한 내용은 다루지 않습니다. IAM 설명서의 전체 내용은 *IAM 사용자 안내서*의 [IAM이란?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)을 참조하세요. IAM 정책 구문과 설명에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS IAM 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 섹션을 참조하세요.

IAM 보안 인증에 연결된 정책을 *보안 인증 기반* 정책(IAM 정책)이라고 합니다. 리소스에 연결된 정책을 *리소스 기반* 정책이라고 합니다.

**Topics**
+ [자격 증명 기반 정책(IAM 정책)](#iam.overview.managingaccess.identitybasedpolicies)
+ [정책 요소 지정: 작업, 효과, 리소스, 보안 주체](#iam.overview.policyelements)
+ [정책에서 조건 지정](#iam.specifyconditions)

### 자격 증명 기반 정책(IAM 정책)
<a name="iam.overview.managingaccess.identitybasedpolicies"></a>

정책을 IAM 보안 인증에 연결할 수 있습니다. 예를 들면, 다음을 수행할 수 있습니다.
+ **계정 내 사용자 또는 그룹에 권한 정책 연결** - 계정 관리자는 권한을 부여하기 위해 특정 사용자에 연결된 권한 정책을 사용할 수 있습니다. 이 경우, 해당 사용자는 클러스터, 파라미터 그룹 또는 보안 그룹과 같은 MemoryDB 리소스를 생성할 수 있습니다.
+ **역할에 권한 정책 연결(교차 계정 권한 부여)** - 자격 증명 기반 권한 정책을 IAM 역할에 연결하여 교차 계정 권한을 부여할 수 있습니다. 예를 들어 계정 A의 관리자는 다음과 같이 다른 AWS 계정(예: 계정 B) 또는 AWS 서비스에 교차 계정 권한을 부여하는 역할을 생성할 수 있습니다.

  1. 계정 A 관리자는 IAM 역할을 생성하고 계정 A의 리소스에 대한 권한을 부여하는 역할에 권한 정책을 연결합니다.

  1. 계정 A 관리자는 계정 B를 역할을 수임할 보안 주체로 식별하는 역할에 신뢰 정책을 연결합니다.

  1. 그런 다음 계정 B 관리자는 계정 B의 모든 사용자에게 역할을 수임할 권한을 위임할 수 있습니다. 이렇게 하면 계정 B의 사용자가 계정 A의 리소스를 생성하거나 액세스할 수 있습니다. 경우에 따라 역할을 수임할 수 있는 AWS 서비스 권한을 부여할 수 있습니다. 이러한 접근 방식을 지원하려면, 신뢰 정책의 보안 주체는 AWS 서비스 보안 주체일 수도 있습니다.

  IAM을 사용하여 권한을 위임하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [액세스 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) 섹션을 참조하세요.

다음은 사용자가 AWS 계정에 대해 `DescribeClusters` 작업을 수행하도록 허용하는 정책의 예입니다. 또한 MemoryDB는 API 작업에 대한 리소스 ARN을 사용하여 특정 리소스를 식별할 수 있도록 지원합니다. (이러한 접근 방식을 리소스 수준 권한이라고도 합니다.) 

MemoryDB에서 보안 인증 기반 정책을 사용하는 방법에 대한 자세한 내용은 [MemoryDB에 대한 ID 기반 정책(IAM 정책) 사용](iam.identitybasedpolicies.md) 단원을 참조하세요. 사용자, 그룹, 역할 및 권한에 대한 자세한 내용은 *IAM 사용 설명서*의 [자격 증명(사용자, 그룹 및 역할)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)을 참조하세요.

### 정책 요소 지정: 작업, 효과, 리소스, 보안 주체
<a name="iam.overview.policyelements"></a>

각 MemoryDB 리소스([MemoryDB 리소스 및 작업](#iam.overview.resourcesandoperations) 참조)에 대해 서비스는 일련의 API 작업([작업](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_Operations.html) 참조)을 정의합니다. 이러한 API 작업에 대한 권한을 부여하기 위해 MemoryDB에서는 정책에서 지정할 수 있는 작업을 정의합니다. 예를 들어 MemoryDB 클러스터 리소스에 대해 `CreateCluster`, `DeleteCluster` 및 `DescribeClusters` 작업을 정의합니다. API 작업을 실시하려면 둘 이상의 작업에 대한 권한이 필요할 수 있습니다.

다음은 가장 기본적인 정책 요소입니다.
+ **리소스** – 정책에서 Amazon 리소스 이름(ARN)을 사용하여 정책을 적용할 리소스를 식별합니다. 자세한 내용은 [MemoryDB 리소스 및 작업](#iam.overview.resourcesandoperations) 단원을 참조하십시오.
+ **작업** – 작업 키워드를 사용하여 허용 또는 거부할 리소스 작업을 식별합니다. 예를 들면, 지정된 `Effect`에 따라 `memorydb:CreateCluster` 권한은 MemoryDB `CreateCluster` 작업을 수행할 수 있는 사용자 권한을 허용하거나 거부합니다.
+ **결과** – 사용자가 특정 작업을 요청하는 경우의 결과를 지정합니다. 이는 허용 또는 거부 중에 하나가 될 수 있습니다. 명시적으로 리소스에 대한 액세스 권한을 부여(허용)하지 않는 경우, 액세스는 묵시적으로 거부됩니다. 리소스에 대한 액세스를 명시적으로 거부할 수도 있습니다. 예를 들어, 다른 정책에서 액세스 권한을 부여하더라도 사용자가 해당 리소스에 액세스할 수 없도록 하려고 할 때 이러한 작업을 수행할 수 있습니다.
+ **보안 주체** – 자격 증명 기반 정책(IAM 정책)에서 정책이 연결되는 사용자는 암시적인 보안 주체입니다. 리소스 기반 정책의 경우, 사용자, 계정, 서비스 또는 권한의 수신자인 기타 개체를 지정합니다(리소스 기반 정책에만 해당).

IAM 정책 구문과 설명에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS IAM 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 섹션을 참조하세요.

모든 MemoryDB API 작업을 보여 주는 표는 [MemoryDB API 권한: 작업, 리소스 및 조건 참조](iam.APIReference.md) 섹션을 참조하세요.

### 정책에서 조건 지정
<a name="iam.specifyconditions"></a>

권한을 부여할 때 IAM 정책 언어를 사용하여 정책이 적용되는 조건을 지정할 수 있습니다. 예를 들어, 특정 날짜 이후에만 정책을 적용할 수 있습니다. 정책 언어에서의 조건 지정에 관한 자세한 내용은 *IAM 사용자 안내서*의 [조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)을 참조하세요.



# MemoryDB에 대한 ID 기반 정책(IAM 정책) 사용
<a name="iam.identitybasedpolicies"></a>

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

**중요**  
MemoryDB 리소스 액세스를 관리하기 위한 기본 개념과 옵션을 설명하는 주제를 먼저 읽어보는 것이 좋습니다. 자세한 내용은 [MemoryDB 리소스에 대한 액세스 권한 관리 개요](iam.overview.md) 단원을 참조하십시오.

이 주제의 섹션에서는 다음 내용을 학습합니다.
+ [MemoryDB 콘솔 사용에 필요한 권한](#iam.identitybasedpolicies.minconpolicies)
+ [MemoryDB에 대한AWS관리형 (사전 정의된) 정책](security-iam-awsmanpol.md#iam.identitybasedpolicies.predefinedpolicies)
+ [고객 관리형 정책 예제](#iam.identitybasedpolicies.customermanagedpolicies)

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

------
#### [ JSON ]

****  

```
{
   "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:CreateCluster`, `memorydb:DescribeClusters`, 및 `memorydb:UpdateCluster`)에 대한 권한을 부여합니다.
+ 두 번째 명령문은 `Resource` 값의 끝에 지정된 IAM 역할 이름에서 IAM 작업(`iam:PassRole`)에 대한 권한을 부여합니다.

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

모든 MemoryDB API 작업과 해당 작업이 적용되는 리소스를 보여주는 표는 [MemoryDB API 권한: 작업, 리소스 및 조건 참조](iam.APIReference.md) 섹션을 참조하세요.

## MemoryDB 콘솔 사용에 필요한 권한
<a name="iam.identitybasedpolicies.minconpolicies"></a>

권한 참조 표에 MemoryDB API 작업과 각 작업에 필요한 권한이 나열되어 있습니다. MemoryDB API 작업에 대한 자세한 내용은 [MemoryDB API 권한: 작업, 리소스 및 조건 참조](iam.APIReference.md) 단원을 참조하세요.

 MemoryDB 콘솔을 사용하려면 먼저 다음 권한 정책과 같이 추가 작업에 대한 권한을 부여해야 합니다.

------
#### [ JSON ]

****  

```
{
    "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) 주제와 구독을 검색하고 콘솔에 표시할 수 있습니다.

## 고객 관리형 정책 예제
<a name="iam.identitybasedpolicies.customermanagedpolicies"></a>

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

MemoryDB 콘솔을 사용하는 데 필요한 최소 권한과 함께 이 섹션의 예제 정책을 사용할 경우 추가 권한이 부여됩니다. 이 예제는 AWS SDKs AWS CLI. MemoryDB 콘솔을 사용하는 데 필요한 권한에 대한 자세한 내용은 [MemoryDB 콘솔 사용에 필요한 권한](#iam.identitybasedpolicies.minconpolicies) 단원을 참조하세요.

IAM 사용자 및 그룹을 설정하는 것에 대한 지침은 *IAM 사용 설명서*의 [IAM 사용자와 관리자 그룹 처음 만들기](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) 섹션을 참조하세요.

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

**Topics**
+ [예제 1: 사용자에게 MemoryDB 리소스에 대한 읽기 전용 액세스 허용](#example-allow-list-current-memorydb-resources)
+ [예제 2: 사용자가 일반 MemoryDB 시스템 관리자 작업을 수행하도록 허용](#example-allow-specific-memorydb-actions)
+ [예제 3: 사용자가 모든 MemoryDB API 작업에 액세스하도록 허용](#allow-unrestricted-access)
+ [예제 4: 사용자에게 IAM CreateServiceLinkedRole API 호출 허용](#create-service-linked-role-policy)

### 예제 1: 사용자에게 MemoryDB 리소스에 대한 읽기 전용 액세스 허용
<a name="example-allow-list-current-memorydb-resources"></a>

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

------
#### [ JSON ]

****  

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

------

### 예제 2: 사용자가 일반 MemoryDB 시스템 관리자 작업을 수행하도록 허용
<a name="example-allow-specific-memorydb-actions"></a>

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

------
#### [ JSON ]

****  

```
{
    "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 작업에 액세스하도록 허용
<a name="allow-unrestricted-access"></a>

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

------
#### [ JSON ]

****  

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

------

### 예제 4: 사용자에게 IAM CreateServiceLinkedRole API 호출 허용
<a name="create-service-linked-role-policy"></a>

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

------
#### [ JSON ]

****  

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

------

# 리소스 수준 권한
<a name="iam.resourcelevelpermissions"></a>

IAM 정책에 리소스를 지정하여 권한의 범위를 제한할 수 있습니다. 많은 AWS CLI API 작업은 작업의 동작에 따라 달라지는 리소스 유형을 지원합니다. 각 IAM 정책 구문은 리소스에 대해 수행되는 작업에 대한 권한을 부여합니다. 지명된 리소스에서 이루어지는 작업이 아니거나 모든 리소스에 대해 그 작업을 수행할 수 있도록 권한을 부여하는 경우, 정책에서 해당 리소스의 값은 와일드카드(\$1)가 됩니다. 대부분의 API 작업에서는 리소스의 Amazon 리소스 이름(ARN) 또는 복수의 리소스에 맞는 ARN 패턴을 지정함으로써 사용자 수정이 가능한 리소스를 제한할 수 있습니다. 리소스별 권한을 제한하려면 ARN으로 리소스를 지정하세요.

**MemoryDB 리소스 ARN 포맷**

**참고**  
리소스 수준 권한이 유효하려면 ARN 문자열의 리소스 이름이 소문자여야 합니다.
+ *사용자 - arn:aws:memorydb:us-east-1:123456789012*:user/user1
+ ACL – arn:aws:memorydb:*us-east-1:123456789012*:acl/my-acl
+ 클러스터 – arn:aws:memorydb:*us-east-1:123456789012*:cluster/my-cluster
+ 스냅샷 – arn:aws:memorydb:*us-east-1:123456789012*:snapshot/my-snapshot
+ *파라미터 그룹 - arn:aws:memorydb:us-east-1:123456789012*:parametergroup/my-parameter-group
+ *서브넷 그룹 - arn:aws:memorydb:us-east-1:123456789012*:subnetgroup/my-subnet-group

**Topics**
+ [예제 1: 사용자에게 특정 MemoryDB 리소스 유형에 대한 모든 액세스 권한 허용](#example-allow-list-current-memorydb-resources-resource)
+ [예 2: 클러스터에 대한 사용자 액세스 거부](#example-allow-specific-memorydb-actions-resource)

## 예제 1: 사용자에게 특정 MemoryDB 리소스 유형에 대한 모든 액세스 권한 허용
<a name="example-allow-list-current-memorydb-resources-resource"></a>

다음 정책은 서브넷 그룹, 보안 그룹 및 클러스터 유형의 모든 리소스에 대해 지정된 `account-id` 전체 액세스를 명시적으로 허용합니다.

```
{
        "Sid": "Example1",
        "Effect": "Allow",
        "Action": "memorydb:*",
        "Resource": [
             "arn:aws:memorydb:us-east-1:account-id:subnetgroup/*",
             "arn:aws:memorydb:us-east-1:account-id:securitygroup/*",
             "arn:aws:memorydb:us-east-1:account-id:cluster/*"
        ]
}
```

## 예 2: 클러스터에 대한 사용자 액세스 거부
<a name="example-allow-specific-memorydb-actions-resource"></a>

다음 예제에서는 특정 클러스터에 대한 지정된 `account-id` 액세스를 명시적으로 거부합니다.

```
{
        "Sid": "Example2",
        "Effect": "Deny",
        "Action": "memorydb:*",
        "Resource": [
                "arn:aws:memorydb:us-east-1:account-id:cluster/name"
        ]
}
```

# MemoryDB에 대한 서비스 연결 역할 사용
<a name="using-service-linked-roles"></a>

MemoryDB는 AWS Identity and Access Management (IAM) [서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 MemoryDB와 같은 AWS 서비스에 직접 연결된 고유한 유형의 IAM 역할입니다. MemoryDB 서비스 연결 역할은 MemoryDB에 의해 사전 정의됩니다. 서비스에서 클러스터를 대신하여 AWS 서비스를 호출하기 위해 필요한 모든 권한을 포함합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 MemoryDB를 더 쉽게 설정할 수 있습니다. 역할은 이미 AWS 계정 내에 존재하지만 MemoryDB 사용 사례에 연결되며 사전 정의된 권한이 있습니다. MemoryDB만 이러한 역할을 맡을 수 있고 이러한 역할만 사전 정의된 권한 정책을 사용할 수 있습니다. 먼저 역할의 관련 리소스를 삭제해야만 역할을 삭제할 수 있습니다. 이렇게 하면 MemoryDB 리소스에 대한 필수 액세스 권한을 부주의로 삭제할 수 없기 때문에 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 [IAM으로 작업하는AWS 서비스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)를 참조해 **서비스 연결 역할** 열이 **예(Yes)**인 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예(Yes)** 링크를 선택합니다.

**Contents**
+ [서비스 연결 역할 권한](#service-linked-role-permissions)
+ [서비스 연결 역할 생성(IAM)](#create-service-linked-role-iam)
  + [IAM 콘솔 사용](#create-service-linked-role-iam-console)
  + [IAM CLI 사용](#create-service-linked-role-iam-cli)
  + [IAM API 사용](#create-service-linked-role-iam-api)
+ [서비스 연결 역할 설명 편집](#edit-service-linked-role)
  + [IAM 콘솔 사용](#edit-service-linked-role-iam-console)
  + [IAM CLI 사용](#edit-service-linked-role-iam-cli)
  + [IAM API 사용](#edit-service-linked-role-iam-api)
+ [MemoryDB에 대한 서비스 연결 역할 삭제](#delete-service-linked-role)
  + [서비스 연결 역할 정리](#service-linked-role-review-before-delete)
  + [서비스 연결 역할 삭제(IAM 콘솔)](#delete-service-linked-role-iam-console)
  + [서비스 연결 역할 삭제(IAM CLI)](#delete-service-linked-role-iam-cli)
  + [서비스 연결 역할 삭제(IAM API)](#delete-service-linked-role-iam-api)

## MemoryDB에 대한 서비스 연결 역할 권한
<a name="service-linked-role-permissions"></a>

MemoryDB는 **AWSServiceRoleForMemoryDB**라는 서비스 연결 역할을 사용합니다.이 정책은 MemoryDB가 클러스터 관리에 필요한 대로 사용자를 대신하여 AWS 리소스를 관리할 수 있도록 허용합니다.

AWSServiceRoleForMemoryDB 서비스 연결 역할의 권한 정책은 MemoryDB가 지정된 리소스에 대해 다음 작업을 수행하도록 허용합니다.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateTags"
			],
			"Resource": "arn:aws-cn:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": "CreateNetworkInterface"
				},
				"ForAllValues:StringEquals": {
					"aws:TagKeys": [
						"AmazonMemoryDBManaged"
					]
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws-cn:ec2:*:*:network-interface/*",
				"arn:aws-cn:ec2:*:*:subnet/*",
				"arn:aws-cn:ec2:*:*:security-group/*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DeleteNetworkInterface",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "arn:aws-cn:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:ResourceTag/AmazonMemoryDBManaged": "true"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DeleteNetworkInterface",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "arn:aws-cn:ec2:*:*:security-group/*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeSecurityGroups",
				"ec2:DescribeNetworkInterfaces",
				"ec2:DescribeAvailabilityZones",
				"ec2:DescribeSubnets",
				"ec2:DescribeVpcs"
			],
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"cloudwatch:PutMetricData"
			],
			"Resource": "*",
			"Condition": {
				"StringEquals": {
					"cloudwatch:namespace": "AWS/MemoryDB"
				}
			}
		}
	]
}
```

------

자세한 내용은 [AWS 관리형 정책: MemoryDBServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-memorydbServiceRolePolicy) 단원을 참조하십시오.

**IAM 엔터티가 AWSServiceRoleForMemoryDB 서비스 연결 역할을 생성하도록 허용**

IAM 개체에 대한 권한에 다음 정책 설명을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*",
    "Condition": {"StringLike": {"iam:AWS ServiceName": "memorydb.amazonaws.com"}}
}
```

**IAM 엔터티가 AWSServiceRoleForMemoryDB 서비스 연결 역할을 삭제하도록 허용**

IAM 개체에 대한 권한에 다음 정책 설명을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*",
    "Condition": {"StringLike": {"iam:AWS ServiceName": "memorydb.amazonaws.com"}}
}
```

또는 AWS 관리형 정책을 사용하여 MemoryDB에 대한 전체 액세스를 제공할 수 있습니다.

## 서비스 연결 역할 생성(IAM)
<a name="create-service-linked-role-iam"></a>

IAM 콘솔, CLI 또는 API를 사용하여 서비스 연결 역할을 생성할 수 있습니다.

### 서비스 연결 역할 생성(IAM 콘솔)
<a name="create-service-linked-role-iam-console"></a>

IAM 콘솔을 사용하여 서비스 연결 역할을 생성할 수 있습니다.

**서비스 연결 역할을 만드는 방법(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. IAM 콘솔의 왼쪽 탐색 창에서 **역할(Roles)**을 선택합니다. 그런 다음 **새 역할 생성(Create new role)**을 선택합니다.

1. **신뢰할 수 있는 유형의 엔터티 선택** 아래에서 **AWS 서비스**를 선택합니다.

1. **또는 사용 사례를 표시하도록 서비스 선택(Or select a service to view its use cases)**에서 **MemoryDB**를 선택합니다.

1. **다음: 권한**을 선택합니다.

1. **정책 이름**에서 이 역할에 `MemoryDBServiceRolePolicy`가 있는지 확인합니다. **다음: 태그**를 선택합니다.

1. 서비스 연결 역할에는 태그가 지원되지 않습니다. **다음: 검토**를 선택합니다.

1. (선택 사항) **역할 설명(Role description)**에서 새로운 서비스 연결 역할에 대한 설명을 편집합니다.

1. 역할을 검토한 다음 **역할 생성**을 선택합니다.

### 서비스 연결 역할 생성(IAM CLI)
<a name="create-service-linked-role-iam-cli"></a>

에서 IAM 작업을 사용하여 서비스 연결 역할을 AWS Command Line Interface 생성할 수 있습니다. 이 역할에는 서비스가 역할을 수임하는 데 필요한 신뢰 정책 및 인라인 정책이 포함될 수 있습니다.

**서비스 연결 역할을 만드는 방법(CLI)**

다음 작업을 사용합니다.

```
$ aws iam [create-service-linked-role](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) --aws-service-name memorydb.amazonaws.com
```

### 서비스 연결 역할 생성(IAM API)
<a name="create-service-linked-role-iam-api"></a>

IAM API를 사용하여 서비스 연결 역할을 생성할 수 있습니다. 이 역할에는 서비스가 역할을 수임하는 데 필요한 신뢰 정책 및 인라인 정책이 포함될 수 있습니다.

**서비스 연결 역할을 만드는 방법(API 사용)**

[CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) API 호출을 사용합니다. 요청 시 `memorydb.amazonaws.com` 서비스 이름을 지정합니다.

## MemoryDB에 대한 서비스 연결 역할의 설명 편집
<a name="edit-service-linked-role"></a>

MemoryDB는 AWSServiceRoleForMemoryDB 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다.

### 서비스 연결 역할 설명 편집(IAM 콘솔)
<a name="edit-service-linked-role-iam-console"></a>

IAM 콘솔을 사용하여 서비스 연결 역할의 설명을 편집할 수 있습니다.

**서비스 연결 역할의 설명을 편집하는 방법(콘솔)**

1. IAM 콘솔의 왼쪽 탐색 창에서 **역할(Roles)**을 선택합니다.

1. 변경할 역할 이름을 선택합니다.

1. **역할 설명**의 맨 오른쪽에서 **편집**을 선택합니다.

1. 상자에 새 설명을 입력하고 **저장**을 선택합니다.

### 서비스 연결 역할 설명 편집(IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

에서 IAM 작업을 사용하여 서비스 연결 역할 설명을 AWS Command Line Interface 편집할 수 있습니다.

**서비스 연결 역할의 설명을 변경하는 방법(CLI)**

1. (선택 사항) 역할에 대한 현재 설명을 보려면 IAM 작업 AWS CLI 용를 사용합니다`[get-role](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)`.  
**Example**  

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) --role-name AWSServiceRoleForMemoryDB
   ```

   CLI 작업에서 역할을 참조하려면 ARN이 아니라 역할 이름을 사용해야 합니다. 예를 들어 어떤 역할의 ARN이 `arn:aws:iam::123456789012:role/myrole`인 경우 참조할 역할은 **myrole**입니다.

1. 서비스 연결 역할의 설명을 업데이트하려면 IAM 작업 AWS CLI 용를 사용합니다`[update-role-description](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)`.

   Linux, macOS, Unix의 경우:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html) \
       --role-name AWSServiceRoleForMemoryDB \
       --description "new description"
   ```

   Windows의 경우:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html) ^
       --role-name AWSServiceRoleForMemoryDB ^
       --description "new description"
   ```

### 서비스 연결 역할 설명 편집(IAM API)
<a name="edit-service-linked-role-iam-api"></a>

IAM API를 사용하여 서비스 연결 역할의 설명을 편집할 수 있습니다.

**서비스 연결 역할의 설명을 변경하는 방법(API)**

1. (선택 사항) 역할의 현재 설명을 보려면 IAM API 작업 [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)을 사용하세요.  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)
      &RoleName=AWSServiceRoleForMemoryDB
      &Version=2010-05-08
      &AUTHPARAMS
   ```

1. 역할 설명을 업데이트하려면 IAM API 작업 [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)을 사용하세요.  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)
      &RoleName=AWSServiceRoleForMemoryDB
      &Version=2010-05-08
      &Description="New description"
   ```

## MemoryDB에 대한 서비스 연결 역할 삭제
<a name="delete-service-linked-role"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 삭제 전에 서비스 연결 역할을 정리해야 합니다.

MemoryDB에서는 서비스 연결 역할을 자동으로 삭제하지 않습니다.

### 서비스 연결 역할 정리
<a name="service-linked-role-review-before-delete"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에 해당 역할과 연결된 리소스(클러스터)가 없는지 확인합니다.

**IAM 콘솔에서 서비스 연결 역할에 활성 세션이 있는지 확인하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. IAM 콘솔의 왼쪽 탐색 창에서 **역할(Roles)**을 선택합니다. 그런 다음 AWSServiceRoleForMemoryDB 역할의 이름(확인란 아님)을 선택합니다.

1. 선택한 역할의 **요약** 페이지에서 **Access Advisor** 탭을 선택합니다.

1. **Access Advisor** 탭에서 서비스 연결 역할의 최근 활동을 검토합니다.

**AWSServiceRoleForMemoryDB가 필요한 MemoryDB 리소스를 삭제하려면(콘솔)**
+ 클러스터를 삭제하려면 다음을 참조하세요.
  + [사용 AWS Management Console](getting-started.md#clusters.deleteclusters.viewdetails)
  + [사용 AWS CLI](getting-started.md#clusters.delete.cli)
  + [MemoryDB API 사용](getting-started.md#clusters.delete.api)

### 서비스 연결 역할 삭제(IAM 콘솔)
<a name="delete-service-linked-role-iam-console"></a>

IAM 콘솔을 사용하여 서비스 연결 역할을 삭제할 수 있습니다.

**서비스 연결 역할을 삭제하는 방법(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. IAM 콘솔의 왼쪽 탐색 창에서 **역할(Roles)**을 선택합니다. 그런 다음 삭제할 역할의 이름이나 행이 아닌 이름 옆에 있는 확인란을 선택합니다.

1. 페이지 상단의 **역할** 작업에서 **역할 삭제**를 선택합니다.

1. 확인 페이지에서 서비스에서 마지막으로 액세스한 데이터를 검토합니다. 그러면 선택한 각 역할이 AWS 서비스에 마지막으로 액세스한 시기가 표시됩니다. 이를 통해 역할이 현재 활동 중인지를 확인할 수 있습니다. 계속 진행하려면 **예, 삭제합니다**를 선택하여 삭제할 서비스 연결 역할을 제출합니다.

1. IAM 콘솔 알림을 보고 서비스 연결 역할 삭제 진행 상황을 모니터링합니다. IAM 서비스 연결 역할 삭제는 비동기이므로 삭제할 역할을 제출한 후에 삭제 태스크가 성공하거나 실패할 수 있습니다. 태스크에 실패할 경우 알림의 **세부 정보 보기** 또는 **리소스 보기**를 선택하면 삭제 실패 이유를 확인할 수 있습니다.

### 서비스 연결 역할 삭제(IAM CLI)
<a name="delete-service-linked-role-iam-cli"></a>

에서 IAM 작업을 사용하여 서비스 연결 역할을 AWS Command Line Interface 삭제할 수 있습니다.

**서비스 연결 역할을 삭제하는 방법(CLI)**

1. 삭제할 서비스 연결 역할의 이름을 모르는 경우 다음 명령을 입력합니다. 이 명령은 계정의 역할과 해당 Amazon 리소스 이름(ARN)을 나열합니다.

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) --role-name role-name
   ```

   CLI 작업에서 역할을 참조하려면 ARN이 아니라 역할 이름을 사용해야 합니다. 예를 들어 역할의 ARN이 `arn:aws:iam::123456789012:role/myrole`인 경우 해당 역할을 **myrole**으로 참조합니다.

1. 서비스 연결 역할이 사용되지 않거나 연결된 리소스가 없는 경우에는 서비스 연결 역할을 삭제할 수 없으므로 삭제 요청을 제출해야 합니다. 이러한 조건이 충족되지 않으면 요청이 거부될 수 있습니다. 삭제 태스크 상태를 확인하려면 응답의 `deletion-task-id`(을)를 캡처해야 합니다. 다음을 입력하여 서비스 연결 역할 삭제 요청을 제출합니다.

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) --role-name role-name
   ```

1. 다음을 입력하여 삭제 작업의 상태를 확인합니다.

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html) --deletion-task-id deletion-task-id
   ```

   삭제 태스크는 `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` 또는 `FAILED` 상태일 수 있습니다. 삭제에 실패할 경우 문제를 해결할 수 있도록 실패 이유가 호출에 반환됩니다.

### 서비스 연결 역할 삭제(IAM API)
<a name="delete-service-linked-role-iam-api"></a>

IAM API를 사용하여 서비스 연결 역할을 삭제할 수 있습니다.

**서비스 연결 역할(API)을 삭제하는 방법**

1. 서비스 연결 역할 삭제 요청을 제출하려면 [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html)을 호출합니다. 요청에 역할 이름을 지정합니다.

   서비스 연결 역할이 사용되지 않거나 연결된 리소스가 없는 경우에는 서비스 연결 역할을 삭제할 수 없으므로 삭제 요청을 제출해야 합니다. 이러한 조건이 충족되지 않으면 요청이 거부될 수 있습니다. 삭제 태스크 상태를 확인하려면 응답의 `DeletionTaskId`(을)를 캡처해야 합니다.

1. 삭제 상태를 확인하려면 [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html)을 호출합니다. 요청에 `DeletionTaskId`(을)를 지정합니다.

   삭제 태스크는 `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` 또는 `FAILED` 상태일 수 있습니다. 삭제에 실패할 경우 문제를 해결할 수 있도록 실패 이유가 호출에 반환됩니다.

# AWS MemoryDB에 대한 관리형 정책
<a name="security-iam-awsmanpol"></a>







사용자, 그룹 및 역할에 권한을 추가하려면 직접 정책을 작성하는 것보다 AWS 관리형 정책을 사용하는 것이 더 쉽습니다. 팀에 필요한 권한만 제공하는 [IAM 고객 관리형 정책을 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)하기 위해서는 시간과 전문 지식이 필요합니다. 빠르게 시작하려면 AWS 관리형 정책을 사용할 수 있습니다. 이러한 정책은 일반적인 사용 사례를 다루며 AWS 계정에서 사용할 수 있습니다. AWS 관리형 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) 참조하세요.

AWS 서비스는 AWS 관리형 정책을 유지 관리하고 업데이트합니다. AWS 관리형 정책에서는 권한을 변경할 수 없습니다. 서비스에서 때때로 추가 권한을 AWS 관리형 정책에 추가하여 새로운 기능을 지원합니다. 이 유형의 업데이트는 정책이 연결된 모든 ID(사용자, 그룹 및 역할)에 적용됩니다. 서비스는 새로운 기능이 시작되거나 새 작업을 사용할 수 있을 때 AWS 관리형 정책에 업데이트됩니다. 서비스는 AWS 관리형 정책에서 권한을 제거하지 않으므로 정책 업데이트로 인해 기존 권한이 손상되지 않습니다.

또한 여러 서비스에 걸쳐 있는 직무에 대한 관리형 정책을 AWS 지원합니다. 예를 들어 **ReadOnlyAccess** AWS 관리형 정책은 모든 AWS 서비스 및 리소스에 대한 읽기 전용 액세스를 제공합니다. 서비스가 새 기능을 시작하면는 새 작업 및 리소스에 대한 읽기 전용 권한을 AWS 추가합니다. 직무 정책의 목록과 설명은 *IAM 사용 설명서*의 [직무에 관한AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)을 참조하세요.









## AWS 관리형 정책: MemoryDBServiceRolePolicy
<a name="security-iam-awsmanpol-memorydbServiceRolePolicy"></a>







MemoryDBServiceRolePolicy AWS 관리형 정책을 계정의 자격 증명에 연결할 수 없습니다. 이 정책은 AWS MemoryDB 서비스 연결 역할의 일부입니다. 이 역할을 통해 서비스는 계정의 네트워크 인터페이스와 보안 그룹을 관리할 수 있습니다.



MemoryDB는 이 정책의 권한을 사용하여 EC2 보안 그룹 및 네트워크 인터페이스를 관리합니다. 이는 MemoryDB 클러스터를 관리하는 데 필요합니다.



**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.



------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateTags"
			],
			"Resource": "arn:aws-cn:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": "CreateNetworkInterface"
				},
				"ForAllValues:StringEquals": {
					"aws:TagKeys": [
						"AmazonMemoryDBManaged"
					]
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws-cn:ec2:*:*:network-interface/*",
				"arn:aws-cn:ec2:*:*:subnet/*",
				"arn:aws-cn:ec2:*:*:security-group/*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DeleteNetworkInterface",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "arn:aws-cn:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:ResourceTag/AmazonMemoryDBManaged": "true"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DeleteNetworkInterface",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "arn:aws-cn:ec2:*:*:security-group/*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeSecurityGroups",
				"ec2:DescribeNetworkInterfaces",
				"ec2:DescribeAvailabilityZones",
				"ec2:DescribeSubnets",
				"ec2:DescribeVpcs"
			],
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"cloudwatch:PutMetricData"
			],
			"Resource": "*",
			"Condition": {
				"StringEquals": {
					"cloudwatch:namespace": "AWS/MemoryDB"
				}
			}
		}
	]
}
```

------

## MemoryDB에 대한AWS관리형 (사전 정의된) 정책
<a name="iam.identitybasedpolicies.predefinedpolicies"></a>

AWS 는에서 생성하고 관리하는 독립 실행형 IAM 정책을 제공하여 많은 일반적인 사용 사례를 처리합니다 AWS. 관리형 정책은 필요한 권한을 사용자가 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 *IAM 사용자 안내서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.

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

### AmazonMemoryDBReadOnlyAccess
<a name="iam.identitybasedpolicies.predefinedpolicies-readonly"></a>

`AmazonMemoryDBReadOnlyAccess` 정책을 IAM ID에 연결할 수 있습니다. 이 정책은 모든 MemoryDB 리소스에 대한 읽기 전용 액세스를 허용하는 관리 권한을 부여합니다.

**AmazonMemoryDBReadOnlyAccess** - MemoryDB 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.

------
#### [ JSON ]

****  

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

------

### AmazonMemoryDBFullAccess
<a name="iam.identitybasedpolicies.predefinedpolicies-fullaccess"></a>

`AmazonMemoryDBFullAccess` 정책을 IAM ID에 연결할 수 있습니다. 이 정책은 모든 MemoryDB 리소스에 대한 전체 액세스를 허용하는 관리 권한을 부여합니다.

**AmazonMemoryDBFullAccess** - 계정의 모든 MemoryDB 리소스에 대한 전체 액세스 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
			"Effect": "Allow",
			"Action": "memorydb:*",
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": "iam:CreateServiceLinkedRole",
			"Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB",
			"Condition": {
				"StringLike": {
					"iam:AWSServiceName": "memorydb.amazonaws.com"
				}
			}
		}
	]
}
```

------

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
			"Effect": "Allow",
			"Action": "memorydb:*",
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": "iam:CreateServiceLinkedRole",
			"Resource": "arn:aws-cn:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB",
			"Condition": {
				"StringLike": {
					"iam:AWSServiceName": "memorydb.amazonaws.com"
				}
			}
		}
	]
}
```

------

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





## AWS 관리형 정책에 대한 MemoryDB 업데이트
<a name="security-iam-awsmanpol-updates"></a>



이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 MemoryDB의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 MemoryDB 문서 기록 페이지에서 RSS 피드를 구독하세요.




| 변경 | 설명 | Date | 
| --- | --- | --- | 
|  [AWS 관리형 정책: MemoryDBServiceRolePolicy](#security-iam-awsmanpol-memorydbServiceRolePolicy) – 정책 추가   |  MemoryDBServiceRolePolicy가 memorydb:ReplicateMultiRegionClusterData에 대한 권한을 추가했습니다. 이 권한을 통해 서비스 연결 역할은 MemoryDB Multi-Region 클러스터에 대한 데이터를 복제할 수 있습니다.  | 12/01/2024 | 
|  [AmazonMemoryDBFullAccess](#iam.identitybasedpolicies.predefinedpolicies-fullaccess) – 정책 추가  |  MemoryDB는 지원되는 리소스를 기술하고 나열하는 새 권한을 추가했습니다. 이러한 권한은 MemoryDB가 계정에서 지원되는 모든 리소스를 쿼리하는 데 필요합니다.  | 10/07/2021 | 
|  [AmazonMemoryDBReadOnlyAccess](#iam.identitybasedpolicies.predefinedpolicies-readonly) – 정책 추가  |  MemoryDB는 지원되는 리소스를 기술하고 나열하는 새 권한을 추가했습니다. 이러한 권한은 MemoryDB가 계정에서 지원되는 모든 리소스를 쿼리하여 계정 기반 애플리케이션을 생성하는 데 필요합니다.  | 10/07/2021 | 
|  MemoryDB가 변경 사항 추적 시작  |  서비스 시작  | 8/19/2021 | 

# MemoryDB API 권한: 작업, 리소스 및 조건 참조
<a name="iam.APIReference"></a>

IAM 정책(보안 인증 기반 또는 리소스 기반)에 연결할 [액세스 제어](iam.md#iam.accesscontrol) 및 쓰기 권한 정책을 설정할 때 다음 표를 참조로 사용하세요. 표에는 각 MemoryDB API 작업과 이 작업을 수행할 수 있는 권한을 부여할 수 있는 작업이 나와 있습니다. 정책의 `Action` 필드에서 작업을 지정하고, 정책의 `Resource` 필드에서 리소스 값을 지정합니다. 달리 명시되지 않는 한, 리소스는 필수입니다. 일부 필드에는 필수 리소스와 선택적 리소스가 모두 포함됩니다. 리소스 ARN이 없는 경우, 정책의 리소스는 와일드카드(\$1)입니다.

**참고**  
작업을 지정하려면 `memorydb:` 접두사 다음에 API 작업 명칭을 사용합니다(예: `memorydb:DescribeClusters`).

스크롤 막대를 사용하여 표의 나머지 부분을 확인합니다.


**MemoryDB API 및 작업에 필요한 권한**  

| MemoryDB API 작업 | 필요한 권한(API 작업) | 리소스  | 
| --- | --- | --- | 
|  [BatchUpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_BatchUpdateCluster.html) | `memorydb:BatchUpdateCluster` | Cluster | 
|  [CopySnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CopySnapshot.html) |  `memorydb:CopySnapshot` `memorydb:TagResource` `s3:GetBucketLocation` `s3:ListAllMyBuckets` |  스냅샷(소스, 타겟) \$1 \$1 | 
|  [CreateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateCluster.html) |  `memorydb:CreateCluster` `memorydb:TagResource` `s3:GetObject`  `SnapshotArns` 파라미터를 사용하는 경우, `SnapshotArns` 목록의 각 멤버에 `s3` ARN이 리소스인 자체 `s3:GetObject` 권한이 필요합니다.  |  파라미터 그룹. (선택 사항) 클러스터, 스냅샷, 보안 그룹 ID 및 서브넷 그룹 `arn:aws:s3:::my_bucket/snapshot1.rdb` 여기서 *my\$1bucket*/*snapshot1*dms 클러스터를 생성할 S3 버킷 및 스냅샷입니다. | 
|  [CreateParameterGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateParameterGroup.html) | `memorydb:CreateParameterGroup` `memorydb:TagResource` | 파라미터 그룹 | 
|  [CreateSubnetGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateSubnetGroup.html) | `memorydb:CreateSubnetGroup` `memorydb:TagResource` | 서브넷 그룹 | \$1 | 
|  [CreateSnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateSnapshot.html) | `memorydb:CreateSnapshot` `memorydb:TagResource` | 스냅샷, 클러스터 | 
|  [CreateUser](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateUser.html)  | `memorydb:CreateUser` `memorydb:TagResource` | User | 
|  [CreateACL](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateACL.html)  | `memorydb:CreateACL` `memorydb:TagResource` | 액세스 제어 목록(ACL) | 
|  [UpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html) | `memorydb:UpdateCluster` | Cluster | 
|  [DeleteCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteCluster.html) | `memorydb:DeleteCluster` | 클러스터. (선택 사항) 스냅샷 | 
|  [DeleteParameterGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteParameterGroup.html) | `memorydb:DeleteParameterGroup` | 파라미터 그룹 | 
|  [DeleteSubnetGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteSubnetGroup.html) | `memorydb:DeleteSubnetGroup` | 서브넷 그룹 | 
|  [DeleteSnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteSnapshot.html) | `memorydb:DeleteSnapshot` | 스냅샷 | 
|  [DeleteUser](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteUser.html)  | `memorydb:DeleteUser` | User | 
|  [DeleteACL](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteACL.html)  | `memorydb:DeleteACL` | ACL | 
|  [DescribeClusters](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeClusters.html) | `memorydb:DescribeClusters` | Cluster | 
|  [DescribeEngineVersions](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeEngineVersions.html) | `memorydb:DescribeEngineVersions` | 리소스 ARN 없음: \$1 | 
|  [DescribeParameterGroups](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameterGroups.html) | `memorydb:DescribeParameterGroups` | 파라미터 그룹 | 
|  [DescribeParameters](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameters.html) | `memorydb:DescribeParameters` | 파라미터 그룹 | 
|  [DescribeSubnetGroups](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeSubnetGroups.html) | `memorydb:DescribeSubnetGroups` | 서브넷 그룹 | \$1 | 
|  [DescribeEvents](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeEvents.html) | `memorydb:DescribeEvents` | 리소스 ARN 없음: \$1 | 
|  [DescribeClusters](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeClusters.html) | `memorydb:DescribeClusters` | Cluster | 
|  [DescribeServiceUpdates](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeServiceUpdates.html) | `memorydb:DescribeServiceUpdates` | 리소스 ARN 없음: \$1 | 
|  [DescribeSnapshots](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeSnapshots.html) | `memorydb:DescribeSnapshots` | 스냅샷 | 
|  [DescribeUsers](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeUsers.html)  | `memorydb:DescribeUsers` | User | 
|  [DescribeACLs](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeACLs.html)  | `memorydb:DescribeACLs` | ACL | 
|  [ListAllowedNodeTypeUpdates](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_ListAllowedNodeTypeUpdates.html) | `memorydb:ListAllowedNodeTypeUpdates` | Cluster | 
|  [ListTags](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_ListTags.html) | `memorydb:ListTags` | (선택 사항) 클러스터, 스냅샷 | 
|  [UpdateParameterGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateParameterGroup.html) | `memorydb:UpdateParameterGroup` | 파라미터 그룹 | 
|  [UpdateSubnetGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateSubnetGroup.html) | `memorydb:UpdateSubnetGroup` | 서브넷 그룹 | 
|  [UpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html) | `memorydb:UpdateCluster` | 클러스터. (선택 사항) 파라미터 그룹, 보안 그룹 | 
|  [UpdateUser](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateUser.html)  | `memorydb:UpdateUser` | User | 
|  [UpdateACL](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateACL.html)  | `memorydb:UpdateACL` | ACL | 
|  [UntagResource](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UntagResource.html) | `memorydb:UntagResource` | (선택 사항) 클러스터, 스냅샷 | 
|  [ResetParameterGroup](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_ResetParameterGroup.html) | `memorydb:ResetParameterGroup` | 파라미터 그룹 | 
|  [FailoverShard](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_FailoverShard.html) | `memorydb:FailoverShard` | 클러스터, 샤드 | 