MemoryDB でのサービスリンクロールの使用 - Amazon MemoryDB

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

MemoryDB でのサービスリンクロールの使用

MemoryDB は AWS Identity and Access Management (IAM) サービスにリンクされたロール を使用します。サービスにリンクされたロールは、MemoryDB などの AWS サービスに直接リンクされる一意のタイプのIAMロールです。MemoryDB サービスにリンクされたロールはMemoryDBによって事前定義されています。それらには、サービスがユーザーのクラスターに代わって AWS のサービスを呼び出すために必要なすべてのアクセス許可が含まれます。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、MemoryDB の設定が簡単になります。ロールは AWS アカウント内に既に存在しますが、MemoryDB ユースケースにリンクされており、事前定義されたアクセス許可があります。これらのロールを引き受けることができるのは MemoryDB のみであり、これらのロールのみが事前定義されたアクセス許可ポリシーを使用できます。ロールを削除するには、まず関連リソースを削除します。これにより、リソースにアクセスするために必要なアクセス許可を誤って削除できないため、MemoryDB リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、「 AWS と連携するサービスIAM」を参照してください。また、「サービスにリンクされたロール」列で「はい」のサービスを探します。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[Yes] (はい) リンクを選択します。

MemoryDB のサービスにリンクされたロールのアクセス許可

MemoryDB は、 AWSServiceRoleForMemoryDB という名前のサービスにリンクされたロールを使用します。このポリシーにより、MemoryDB はクラスターの管理に必要な AWS リソースをユーザーに代わって管理できます。

AWSServiceRoleForMemoryDB サービスにリンクされたロールのアクセス許可ポリシーにより、MemoryDB は指定されたリソースに対して次のアクションを実行できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonMemoryDBManaged" ] } } }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:ResourceTag/AmazonMemoryDBManaged": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws: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」を参照してください。

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)

IAM コンソール、、または を使用してCLI、サービスにリンクされたロールを作成できますAPI。

サービスにリンクされたロールの作成 (IAM コンソール)

IAM コンソールを使用して、サービスにリンクされたロールを作成できます。

サービスにリンクされたロールを作成するには (コンソール)
  1. にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. IAM コンソールの左側のナビゲーションペインで、ロール を選択します。次に、新しいロールの作成を選択します。

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

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

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

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

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

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

  9. ロール情報を確認し、ロールの作成 を選択します。

サービスにリンクされたロールの作成 (IAM CLI)

からIAMオペレーションを使用して AWS Command Line Interface 、サービスにリンクされたロールを作成できます。このロールには、ロールを引き受けるためにサービスで必要な信頼ポリシーやインラインポリシーを含めることができます。

サービスにリンクされたロールを作成するには (CLI)

次のオペレーションを使用してください。

$ aws iam create-service-linked-role --aws-service-name memorydb.amazonaws.com

サービスにリンクされたロールの作成 (IAM API)

を使用してIAMAPI、サービスにリンクされたロールを作成できます。このロールには、ロールを引き受けるためにサービスで必要な信頼ポリシーやインラインポリシーを含めることができます。

サービスにリンクされたロールを作成するには (API)

を使用する CreateServiceLinkedRole API を呼び出します。リクエストで、サービス名memorydb.amazonaws.comを指定します。

MemoryDB のサービスにリンクされたロールの説明の編集

MemoryDB では、 AWSServiceRoleForMemoryDB サービスにリンクされたロールを編集することはできません。サービスリンクロールを作成した後は、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、 を使用してロールの説明を編集できますIAM。

サービスにリンクされたロールの説明の編集 (IAM コンソール)

IAM コンソールを使用して、サービスにリンクされたロールの説明を編集できます。

サービスにリンクされたロールの説明を編集するには (コンソール)
  1. IAM コンソールの左側のナビゲーションペインで、ロール を選択します。

  2. 変更するロールの名前を選択します。

  3. ロールの説明の右端にある編集を選択します。

  4. ボックスに新しい説明を入力し、保存を選択します。

サービスにリンクされたロールの説明の編集 (IAM CLI)

からIAMオペレーションを使用して AWS Command Line Interface 、サービスにリンクされたロールの説明を編集できます。

サービスにリンクされたロールの説明を変更するには (CLI)
  1. (オプション) ロールの現在の説明を表示するには、 IAMオペレーション AWS CLI に を使用しますget-role

    $ aws iam get-role --role-name AWSServiceRoleForMemoryDB

    CLI オペレーションでロールを参照するにはARN、 ではなくロール名を使用します。例えば、ロールにARN次の がある場合arn:aws:iam::123456789012:role/myrole、ロールを と参照しますmyrole

  2. サービスにリンクされたロールの説明を更新するには、 IAMオペレーション AWS CLI に を使用しますupdate-role-description

    Linux、macOS、Unix の場合:

    $ aws iam update-role-description \ --role-name AWSServiceRoleForMemoryDB \ --description "new description"

    Windows の場合:

    $ aws iam update-role-description ^ --role-name AWSServiceRoleForMemoryDB ^ --description "new description"

サービスにリンクされたロールの説明の編集 (IAM API)

を使用してIAMAPI、サービスにリンクされたロールの説明を編集できます。

サービスにリンクされたロールの説明を変更するには (API)
  1. (オプション) ロールの現在の説明を表示するには、 IAMAPIオペレーションを使用します。GetRole.

    https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AWSServiceRoleForMemoryDB &Version=2010-05-08 &AUTHPARAMS
  2. ロールの説明を更新するには、 IAMAPIオペレーションを使用します。UpdateRoleDescription.

    https://iam.amazonaws.com/ ?Action=UpdateRoleDescription &RoleName=AWSServiceRoleForMemoryDB &Version=2010-05-08 &Description="New description"

MemoryDB のサービスリンクロールの削除

サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。ただし、削除する前に、サービスにリンクされた役割をクリーンアップする必要があります。

MemoryDB は、サービスにリンクされたロールを削除しません。

サービスにリンクされたロールのクリーンアップ

IAM を使用してサービスにリンクされたロールを削除する前に、まずロールにリソース (クラスター) が関連付けられていないことを確認します。

サービスにリンクされたロールにIAMコンソールでアクティブなセッションがあるかどうかを確認するには
  1. にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. IAM コンソールの左側のナビゲーションペインで、ロール を選択します。次に、 AWSServiceRoleForMemoryDB ロールの名前 (チェックボックスではない) を選択します。

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

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

を必要とする MemoryDB リソースを削除するには AWSServiceRoleForMemoryDB (コンソール)

サービスにリンクされたロールの削除 (IAM コンソール)

IAM コンソールを使用して、サービスにリンクされたロールを削除できます。

サービスにリンクされたロールを削除するには (コンソール)
  1. にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

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

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

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

  5. IAM コンソールの通知を見て、サービスにリンクされたロールの削除の進行状況をモニタリングします。IAM サービスにリンクされたロールの削除は非同期であるため、削除のためにロールを送信すると、削除タスクが成功または失敗する可能性があります。タスクが失敗した場合は、通知から View details] (詳細を表示) または View Resources] (リソースを表示) を選択して、削除が失敗した理由を知ることができます。

サービスにリンクされたロールの削除 (IAM CLI)

から IAM オペレーションを使用して AWS Command Line Interface 、サービスにリンクされたロールを削除できます。

サービスにリンクされたロールを削除するには (CLI)
  1. 削除するサービスにリンクされたロールの名前が分からない場合、以下のコマンドを入力します。このコマンドは、アカウントのロールとその Amazon リソースネーム (ARNs) を一覧表示します。

    $ aws iam get-role --role-name role-name

    CLI オペレーションでロールを参照するにはARN、 ではなくロール名を使用します。例えば、ロールに ARN がある場合arn:aws:iam::123456789012:role/myrole、ロールを と呼びますmyrole

  2. サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから deletion-task-id を取得して、削除タスクのステータスを確認する必要があります。サービスにリンクされたロールの削除リクエストを送信するには、以下を入力します。

    $ aws iam delete-service-linked-role --role-name role-name
  3. 削除タスクのステータスを確認するには、以下を入力します。

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    削除タスクのステータスは、NOT_STARTEDIN_PROGRESSSUCCEEDED、または FAILED となります。削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。

サービスにリンクされたロールの削除 (IAM API)

を使用してIAMAPI、サービスにリンクされたロールを削除できます。

サービスにリンクされたロールを削除するには (API)
  1. サービスにリンクされたロールの削除リクエストを送信するには、 を呼び出します。DeleteServiceLinkedRole。 リクエストで、ロール名を指定します。

    サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから DeletionTaskId を取得して、削除タスクのステータスを確認する必要があります。

  2. 削除のステータスを確認するには、 を呼び出します。GetServiceLinkedRoleDeletionStatus。 リクエストで、 を指定しますDeletionTaskId

    削除タスクのステータスは、NOT_STARTEDIN_PROGRESSSUCCEEDED、または FAILED となります。削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。