Amazon RDS でリソースを作成、変更、削除するアクセス許可ポリシー
以下のセクションでは、リソースへのアクセスを許可および制限するアクセス許可ポリシーの例を示します。
AWS アカウントでの DB インスタンスの作成をユーザーに許可する
以下は、123456789012
アカウントで ID が AWS のアカウントが DB インスタンスを作成できるようにするポリシーの例です。ポリシーは、test
で始める新しい DB インスタンスの名前である必要があります。また、新しい DB インスタンスは、MySQL データベースエンジンと DB インスタンスの db.t2.micro
クラスを使用する必要があります。さらに、新しい DB インスタンスでは、オプショングループと default
で始まる DB パラメータグループ、および default
サブネットグループを使用する必要があります。
ポリシーには、 ユーザー用の以下のアクセス許可を指定する単一のステートメントが含まれます。
ポリシーを使用すると、アカウントは CreateDBInstance API オペレーションを使用して DB インスタンスを作成できます (これは create-db-instance AWS CLI コマンドと AWS Management Console にも適用されます)。
Resource
要素では、ユーザーがリソースでアクションを実行できることを指定できます。Amazon Resources Name (ARN) を使用してリソースを指定します。この ARN には、リソースが属しているサービスの名前 (rds
)、AWS リージョン (*
はこの例のリージョンを示します)、AWS アカウント番号 (123456789012
はこの例のアカウント番号です)、およびリソースのタイプが含まれます。ARN の作成の詳細については、「Amazon RDS の Amazon リソースネーム (ARN)」を参照してください。例の
Resource
要素は、ユーザーのリソースで、以下のポリシーの制約を指定します。新しい DB インスタンスの DB インスタンス識別子は、
test
で始まる必要があります (例:testCustomerData1
、test-region2-data
)。新しい DB インスタンスのオプショングループは、
default
で始まる必要があります。新しい DB インスタンスの DB パラメータグループは、
default
で始まる必要があります。新しい DB インスタンスのサブネットグループは、
default
サブネットグループである必要があります。
Condition
要素は、DB エンジンが MySQL で、DB インスタンスクラスがdb.t2.micro
である必要があることを指定します。Condition
要素は、ポリシーが有効になる条件を指定します。Condition
要素を使用して、アクセス許可または制約を追加できます。条件を指定する方法については、「Amazon RDS のポリシー条件キー」を参照してください。この例では、rds:DatabaseEngine
およびrds:DatabaseClass
を条件として指定します。rds:DatabaseEngine
の有効な条件値については、CreateDBInstance のEngine
パラメータのリストを参照してください。rds:DatabaseClass
の有効な条件値については、「DB インスタンスクラスでサポートされている DB エンジン」を参照してください。
アイデンティティベースのポリシーでアクセス権限を得るプリンシパルを指定していないため、ポリシーでは Principal
要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。
Amazon RDS アクションのリストを確認するには、「サービス認可リファレンス」の「Amazon RDS によって定義されるアクション」を参照してください。
RDS リソースに対する Describe アクションの実行をユーザーに許可する
以下のアクセス権限ポリシーは、Describe
で始まるすべてのアクションを実行するためのアクセス権限をユーザーに付与します。これらのアクションは、DB インスタンスなど RDS リソースに関する情報を表示します。Resource
要素内のワイルドカード文字 (*) は、アカウントによって所有されるすべての Amazon RDS リソースに対してそれらのアクションが許可されることを示します。
指定した DB パラメータグループとサブネットグループを使用する DB インスタンスの作成をユーザーに許可する
以下の許可ポリシーは、mydbpg
DB パラメータグループと mydbsubnetgroup
DB サブネットグループを使用する必要のある DB インスタンスを作成することのみをユーザーに許可するための許可を付与します。
2 つの異なる値を持つタグが付いたリソースに対するアクションにアクセス許可を付与する
アイデンティティベースのポリシーの条件を使用して、タグに基づいて Amazon RDS リソースへのアクセスを制御できます。次のポリシーでは、stage
タグが development
または test
に設定された DB インスタンスに対して CreateDBSnapshot
API オペレーションを実行するためのアクセス許可が付与されます。
次のポリシーでは、stage
タグが development
または test
に設定された DB インスタンスに対して ModifyDBInstance
API オペレーションを実行するためのアクセス許可が付与されます。
ユーザーによる DB インスタンスの削除を禁止する
以下のアクセス権限ポリシーは、特定の DB インスタンスを削除することをユーザーに禁止するためのアクセス権限を付与します。例えば、管理者以外のすべてのユーザーに対して、本稼働 DB インスタンスの削除を拒否することができます。
リソースへのすべてのアクセスを拒否する
リソースへのアクセスを明示的に拒否できます。拒否ポリシーは許可ポリシーよりも優先されます。以下のポリシーは、リソースを管理する機能をユーザーに明示的に拒否します。