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

Amazon RDS で IAM を使用する方法

IAM を使用して、Amazon RDS へのアクセスを管理するには、Amazon RDS で使用できる IAM の機能を理解しておく必要があります。IAM と連携する Amazon RDS や他の AWS サービスの動作の概要については、IAM ユーザーガイド の「IAM と連携する AWS のサービス 」を参照してください。

Amazon RDS アイデンティティベースのポリシー

IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。Amazon RDS は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、IAM ユーザーガイド の「IAM JSON ポリシーエレメントのリファレンス」を参照してください 。

アクション

IAM アイデンティティベースのポリシーの Action エレメントは、そのポリシーにより許可または拒否される特定のアクションについて説明します。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Amazon RDS のポリシーアクションは、アクションの前にプレフィックス rds: を使用します。たとえば、Amazon RDS DescribeDBInstances API オペレーションを使用して DB インスタンスを指定するアクセス許可を付与するには、ポリシーに rds:DescribeDBInstances アクションを含めます。ポリシーステートメントには、Action 要素または NotAction 要素を含める必要があります。Amazon RDS は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。

単一のステートメントに複数のアクションを指定するには、次のようにコンマで区切ります。

"Action": [ "rds:action1", "rds:action2"

ワイルドカード (*) を使用して複数のアクションを指定することができます。たとえば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "rds:Describe*"

Amazon RDS のアクションの一覧を表示するには、IAM ユーザーガイド の「Amazon RDS で定義したアクション」を参照してください。

リソース

Resource エレメントは、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource エレメントを含める必要があります。ARN を使用して、またはステートメントがすべてのリソースに適用されることを示すワイルドカード (*) を使用して、リソースを指定します。

DB インスタンスリソースには次のような ARN があります。

arn:${Partition}:rds:${Region}:${Account}:{ResourceType}/${Resource}

ARN の形式の詳細については、「Amazon リソースネーム (ARN) と AWS サービスの名前空間」を参照してください。

たとえば、ステートメントで dbtest DB インスタンスを指定するには、次の ARN を使用します。

"Resource": "arn:aws:rds:us-west-2:123456789012:db:dbtest"

特定のアカウントに属するすべての DB インスタンスを指定するには、ワイルドカード (*) を使用します。

"Resource": "arn:aws:ec2:us-east-1:123456789012:db:*"

リソースの作成など、一部の RDS API アクションは、特定のリソースで実行できません。このような場合は、ワイルドカード (*) を使用する必要があります。

"Resource": "*"

Amazon RDS API アクションの多くが複数のリソースと関連します。たとえば、CreateDBInstance では、DB インスタンスが作成されます。DB インスタンス作成時に特定のセキュリティグループおよびパラメータグループを使用するように IAM ユーザーに義務付けることができます。複数のリソースを単一のステートメントで指定するには、ARN をカンマで区切ります。

"Resource": [ "resource1", "resource2"

Amazon RDS リソースタイプおよびその ARN のリストを表示するには、IAM ユーザーガイド の「Amazon RDS で定義したリソース」を参照してください。どのアクションで、各リソースの ARN を指定することができるかについては、「Amazon RDS で定義したアクション」を参照してください。

条件キー

Condition エレメント (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Conditionエレメントはオプションです。イコールや以下などの条件演算子を使用する条件式を構築して、リクエスト内に値のあるポリシーの条件に一致させることができます。

1 つのステートメントに複数の Condition エレメントを指定する場合、または 1 つの Condition エレメントに複数のキーを指定する場合、AWS が論理 AND 演算を使用してそれらを評価します。単一の条件キーに複数の値を指定する場合、AWS が論理 OR 演算を使用して条件を評価します。ステートメントのアクセス許可が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。たとえば、IAM ユーザー名でタグ付けされている場合のみ、リソースにアクセスする IAM ユーザーアクセス許可を付与できます。詳細については、IAM ユーザーガイド の「IAM ポリシーエレメント: 変数およびタグ」を参照してください。

Amazon RDS は独自の条件キーを定義し、一部のグローバル条件キーの使用をサポートしています。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイド の「AWS グローバル条件コンテキストキー」を参照してください 。

すべての RDS API アクションは、aws:RequestedRegion 条件キーをサポートします。

Amazon RDS 条件キーのリストを表示するには、IAM ユーザーガイド の「Amazon RDS の条件キー」を参照してください。どのアクションおよびリソースと条件キーを使用できるかについては、「Amazon RDS で定義したアクション」を参照してください。

Amazon RDS アイデンティティベースのポリシーの例を表示するには、「Amazon RDS アイデンティティベースのポリシーの例」を参照してください。

Amazon RDS リソースベースのポリシー

Amazon RDS では、リソースベースのポリシーはサポートされていません。

Amazon RDS タグに基づいた承認

タグを Amazon RDS リソースにアタッチするか、Amazon RDS へのリクエストでタグを渡すことができます。タグに基づいてアクセスを制御するには、rds:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。Amazon RDS リソースのタグ付けの詳細については、「条件の指定: カスタムタグの使用」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースのポリシーの例を表示するには、「特定のタグが 2 つの異なる値に設定されたリソースに対するアクションのためのアクセス許可を付与する」を参照してください。

Amazon RDSIAM ロール

IAM ロールは、特定のアクセス許可を持つ、AWS アカウント内のエンティティです。

Amazon RDS を使用した一時的な認証情報の使用

一時的な認証情報を使用して、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、AssumeRole または GetFederationToken などの AWS STS API オペレーションを呼び出します。

Amazon RDS では、一時認証情報の使用をサポートしています。

サービスにリンクされたロール

サービスにリンクされたロールによって、AWS サービスが他のサービスのリソースにアクセスして自動的にアクションを完了できます。サービスにリンクされたロールは、IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

Amazon RDS はサービスにリンクされたロールをサポートします。Amazon RDS サービスにリンクされたロールの作成または管理の詳細については、「Amazon RDS のサービスにリンクされたロールの使用」を参照してください。

サービスロール

この機能では、サービスのロールをユーザーに代わって引き受けることをサービスに許可します。このロールにより、サービスはユーザーに代わって他のサービスのリソースにアクセスし、アクションを実行できます。サービスロールは、IAM アカウントに表示され、サービスによって所有されます。つまり、IAM 管理者は、このロールのアクセス許可を変更できます。ただし、これを行うことにより、サービスの機能が損なわれる場合があります。

Amazon RDS ではサービスロールがサポートされています。