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 インスタンスの削除を拒否することができます。
リソースへのすべてのアクセスを拒否する
リソースへのアクセスを明示的に拒否できます。拒否ポリシーは許可ポリシーよりも優先されます。以下のポリシーは、リソースを管理する機能をユーザーに明示的に拒否します。