

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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)」を参照して、**サービスにリンクされたロール**列が**はい**になっているサービスを見つけてください。サービスにリンクされた役割に関するドキュメントをサービスで表示するには[**はい**] リンクを選択してください。

**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 マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで **[ロール]** をクリックします。次に、**新しいロールの作成**を選択します。

1. **信頼されたエンティティの種類を選択** の下で、**AWS Service** (サービス) を選択します。

1. **[またはサービスを選択してそのユースケースを表示する]** で、**[MemoryDB]** を選択します。

1. **次: 許可** を選択します。

1. **ポリシー名** の下で、`MemoryDBServiceRolePolicy` はこのロールに必要であることに注意してください。**次: タグ** を選択します。

1. タグは、サービスにリンクされたロールではサポートされないことに注意してください。**次: レビュー** を選択します。

1. 「オプショナル」**ロールの説明** で、サービスにリンクされた新しいロールの説明を編集します。

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 コンソールのナビゲーションペインで **[ロール]** をクリックします。

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 マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで **[ロール]** をクリックします。次に、AWSServiceRoleForMemoryDB ロールの名前 (チェックボックスではありません) を選択します。

1. 選択したロールの **概要** ページで、**アクセスアドバイザー** タブを選択します。

1. **アクセスアドバイザー** タブで、サービスにリンクされたロールの最新のアクティビティを確認します。

**AWSServiceRoleForMemoryDB を必要とする MemoryDB リソースを削除するには (コンソール)**
+ クラスターを削除するには、以下を参照してください。
  + [の使用 AWS マネジメントコンソール](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 マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで **[ロール]** をクリックします。ロール名または行そのものではなく、削除するロール名の横にあるチェックボックスをオンにします。

1. ページ上部にある **ロールのアクション** で **ロールの削除** を選択します。

1. 確認ページで、サービスの最終アクセス時間データを確認します。このデータには、選択した各ロールが最後に AWS サービスにアクセスした日時が表示されます。これは、そのロールが現在アクティブであるかどうかを確認するのに役立ちます。先に進む場合は、**[Yes, Delete]** (はい、削除する) を選択し、削除するサービスにリンクされたロールを送信します。

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` となります｡ 削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。