Amazon ElastiCache でのサービスにリンクされたロールの使用 - Amazon ElastiCache for Redis

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

Amazon ElastiCache でのサービスにリンクされたロールの使用

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

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

サービスリンクロールをサポートする他のサービスについては、IAM と連携する AWS のサービスを参照して、[Service-linked role] (サービスにリンクされたロール) 列が [Yes] (はい) になっているサービスを見つけてください。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[Yes] (はい) リンクを選択します。

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

サービスリンクロールを作成するためのアクセス許可

IAM エンティティが AWS ServiceRoleForElastiCache サービスリンクロールを作成することを許可するには

以下のポリシーステートメントを IAM エンティティのアクセス許可に追加します。

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*", "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}} }

IAM エンティティが AWS ServiceRoleForElastiCache サービスリンクロールを削除することを許可するには

以下のポリシーステートメントを IAM エンティティのアクセス許可に追加します。

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*", "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}} }

または AWS 管理ポリシーを使用して、Amazon ElastiCache へのフルアクセスを許可することもできます。

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

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

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

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

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

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

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

  4. [Or select a service to view its use cases] (またはサービスを選択してそのユースケースを表示) で、[ElastiCache] を選択します。

  5. [Next: Permissions] (次のステップ: アクセス許可) を選択します。

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

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

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

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

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

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

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

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

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

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

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

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

CreateServiceLinkedRole API コールを使用します。リクエストで、サービス名elasticache.amazonaws.comを指定します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Linux、macOS、Unix の場合:

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

    Windows の場合:

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

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

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

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

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

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

Amazon ElastiCache でのサービスにリンクされたロールの削除

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

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

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

IAM を使用してサービスにリンクされたロールを削除するには、まずそれに関連付けられているリソース (クラスターまたはレプリケーショングループ) がないことを確認する必要があります。

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

  2. IAM コンソールのナビゲーションペインで [ロール] を選択します。AWSServiceRoleForElastiCache ロールのチェックボックスではなく、ロールの名前を選択します。

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

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

AWSServiceRoleForElastiCache が必要な Amazon ElastiCache リソースを削除するには

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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