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

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

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

サービスにリンクされたロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、Amazon Aurora の使用が簡単になります。サービスにリンクされたロールのアクセス許可は、Amazon Aurora により定義されます。特に指定されている場合を除き、Amazon Aurora のみがそのロールを引き受けることができます。定義される許可は、信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

ロールを削除するには、まず関連リソースを削除します。これにより、リソースへの意図しないアクセスによるアクセス許可の削除が防止され、Amazon Aurora リソースは保護されます。

サービスにリンクされたロールをサポートするその他のサービスについては、IAM と連携する AWS サービスを参照の上、[Service-Linked Role] (サービスにリンクされたロール) の欄が [Yes] (はい) になっているサービスを検索してください。そのサービスに関するサービスにリンクされたロールのドキュメントを表示するには、リンクが設定されている [はい] を選択します。

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

Amazon Auroraでは、AWSServiceRoleForRDS と呼ばれるサービスにリンクされたロールを使用します。これにより Amazon RDS は DB クラスターに代わって AWS サービスを呼び出せるようになります。

サービスにリンクされたロール AWSServiceRoleForRDS では、以下のサービスを信頼してロールを引き受けます。

  • rds.amazonaws.com

このサービスにリンクされたロールには、アカウントで操作するためのアクセス許可を付与する AmazonRDSServiceRolePolicy というアクセス許可ポリシーがアタッチされています。ロールのアクセス許可ポリシーは、指定したリソースに対して以下のアクションを実行することを Amazon Aurora に許可します。

JSON ポリシードキュメントを含むこのポリシーの詳細については、AWS マネージドポリシーリファレンスガイドの「AmazonRDSServiceRolePolicy」を参照してください。

注記

サービスにリンクされたロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、許可を設定する必要があります。次のエラーメッセージが表示された場合は、以下のように対応します。

リソースを作成できません。サービスにリンクされたロールを作成するために必要なアクセス許可があることを確認します。それ以外の場合は、時間をおいてからもう一度お試しください。

次のアクセス許可が有効であることを確認します。

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS", "Condition": { "StringLike": { "iam:AWSServiceName":"rds.amazonaws.com" } } }

詳細については、IAM ユーザーガイド の「サービスにリンクされたロールのアクセス許可」を参照してください。

Amazon Aurora のサービスにリンクされたロールの作成

サービスにリンクされたロールを手動で作成する必要はありません。DB クラスターを作成する際、Amazon Aurora がサービスにリンクされたロールを作成します。

重要

サービスにリンクされたロールのサポートが開始された 2017 年 12 月 1 日より前に Amazon Aurora サービスを使用している場合、その時点で Amazon Aurora が、ご使用のアカウント内に AWSServiceRoleForRDS ロールを作成しています。詳細については、「AWS アカウントに新しいロールが表示される」を参照してください。

このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。DB クラスターを作成する際、Amazon Aurora がサービスにリンクされたロールを再度作成します。

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

Amazon Aurora では、サービスにリンクされたロール AWSServiceRoleForRDS を編集できません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの編集」を参照してください。

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

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

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

IAM を使用してサービスにリンクされたロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。

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

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

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

  4. [Access Advisor] タブで、サービスにリンクされたロールの最新のアクティビティを確認します。

    注記

    Amazon Aurora が AWSServiceRoleForRDS ロールを使用しているかどうか不明な場合は、ロールを削除してみてください。サービスでロールが使用されている場合、削除は失敗し、ロールが使用されている AWS リージョンが表示されます。ロールが使用されている場合は、ロールを削除する前にセッションが終了するのを待つ必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

AWSServiceRoleForRDS ロールを削除する場合、初期にすべての DB クラスターを削除する必要があります。

すべてのクラスターの削除

以下のいずれかの手順を使用して、単一のクラスターを削除します。クラスターごとに手順を繰り返します。

クラスターを削除するには (コンソール)
  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [データベース] リストで、削除するクラスターを選択します。

  3. [クラスターアクション] で、[削除] を選択します。

  4. [Delete] (削除) をクリックします。

クラスターを削除するには (CLI)

AWS CLI コマンドリファレンス の「delete-db-cluster」を参照してください。

クラスターを削除するには (API)

Amazon RDS API Reference の「DeleteDBCluster」を参照してください。

IAM コンソール、IAM CLI、または IAM API を使用して、AWSServiceRoleForRDS サービスにリンクされたロールを削除します。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの削除」を参照してください。