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

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

Amazon RDS は、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 DB 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 a DB instance すると Amazon RDS で自動的に作成されます。

重要

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

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

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

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

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

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

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

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 ロールを削除する場合、最初にすべての DB インスタンス を削除する必要があります。

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

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

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

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

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

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

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

  5. [最終スナップショットを作成しますか?] とプロンプトされたら、[はい] あるいは [いいえ] を選択します。

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

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

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

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

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

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

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