メニュー
Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

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

Amazon Relational Database Service では、AWS Identity and Access Management (IAM) の「サービスにリンクされたロール」を使用します。サービスにリンクされたロールは、Amazon RDS に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、Amazon RDS によって事前定義されており、お客様の代わりにサービスから他の AWS サービスを呼び出す必要のあるアクセス権限がすべて含まれています。

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

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

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

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

Amazon RDS では、サービスにリンクされたロール (AWSServiceRoleForRDS) – to allow Amazon RDS to call AWS services on behalf of your database instances を使用します。

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

  • rds.amazonaws.com

ロールのアクセス許可ポリシーは、Amazon RDS が次のアクションを指定されたリソースで完了することを許可します。

  • ec2 でのアクション:

    • AssignPrivateIpAddresses

    • AuthorizeSecurityGroupIngress

    • CreateNetworkInterface

    • CreateSecurityGroup

    • DeleteNetworkInterface

    • DeleteSecurityGroup

    • DescribeAvailabilityZones

    • DescribeInternetGateways

    • DescribeSecurityGroups

    • DescribeSubnets

    • DescribeVpcAttribute

    • DescribeVpcs

    • ModifyNetworkInterfaceAttribute

    • RevokeSecurityGroupIngress

    • UnassignPrivateIpAddresses

  • sns でのアクション:

    • ListTopic

    • Publish

  • cloudwatch でのアクション:

    • PutMetricData

    • GetMetricData

    • CreateLogStream

    • PullLogEvents

    • DescribeLogStreams

    • CreateLogGroup

注記

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 RDS のサービスにリンクされたロールの作成

サービスにリンクされたロールを手動で作成する必要はありません。create an instance or a cluster を実行すると、Amazon RDS はサービスにリンクされたロールをユーザーに作成します。

重要

December 1, 2017 以前に Amazon RDS サービスを使用していた場合は、サービスにリンクされたロールのサポートを開始すると、Amazon RDS によって、AWSServiceRoleForRDS ロールがアカウントに作成されます。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。

サービスにリンクされたこのロールを削除したが、再作成する必要がある場合は、同じプロセスで、アカウントにロールを再作成することができます。create an instance or a cluster を実行すると、サービスにリンクされたロールが Amazon RDS によって再作成されます。

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

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

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

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

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

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

サービスにリンクされたロールが IAM コンソールでアクティブなセッションを持っているかどうかを確認するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

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

  3. 選択したロールの [Summary] ページで、[Access Advisor] タブを選択します。

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

    注記

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

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

すべてのインスタンスの削除

以下のいずれかの手順を使用して、インスタンスをそれぞれ削除します。

インスタンスを削除するには (コンソール)

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. [Instances] リストで、削除するインスタンスを選択します。

  4. [Instance actions] を選択し、[Delete] を選択します。

  5. [Create final Snapshot?] というメッセージが表示された場合は、[Yes] または [No] を選択します。

  6. 前のステップで [Yes] を選択した場合は、[Final snapshot name] に最終スナップショットの名前を入力します。

  7. [Delete] を選択します。

インスタンスを削除するには (CLI)

AWS CLI Command Referenceの「delete-db-instance」を参照してください。

インスタンスを削除するには (API)

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

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

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

クラスターを削除するには (コンソール)

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

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

  3. [Cluster Actions] を選択してから、[Delete] を選択します。

  4. [Delete] を選択します。

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

AWS CLI Command Referenceの「delete-db-cluster」を参照してください。

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

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

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