Amazon EFS と RDS for Oracle を統合する IAM アクセス許可の設定
デフォルトでは、Amazon EFS 統合機能は IAM ロールを使用しません。USE_IAM_ROLE
オプション設定は FALSE
です。RDS for Oracle と Amazon EFS および IAM ロールを統合するには、DB インスタンスが Amazon EFS ファイルシステムにアクセスするために IAM アクセス許可を持っている必要があります。
トピック
ステップ 1: DB インスタンスの IAM ロールを作成し、ポリシーをアタッチする
このステップでは、RDS for Oracle DB インスタンスのロールを作成し、Amazon RDS が EFS ファイルシステムにアクセスできるようにします。
Amazon RDS が EFS ファイルシステムへのアクセスを許可する IAM ロールを作成するには
-
IAM マネジメントコンソール
を開きます。 -
ナビゲーションペインで [Roles (ロール) ] を選択します。
-
[Create role] を選択します。
-
[AWS のサービス] で、[RDS] を選択します。
-
[ユースケースの選択] で、[RDS - Add Role to Database (ロールをデータベースに追加する)] を選択します。
-
[Next] を選択します。
-
アクセス許可ポリシーを追加しないでください。[Next] を選択します。
-
[ロール名] を IAM ロールの名前 (例:
rds-efs-integration-role
) に設定します。オプションで [Description] 値を追加することもできます。 -
[ロールの作成] を選択します。
サービスのアクセス許可を特定のリソースに限定するには、リソースベースの信頼関係で aws:SourceArn
および aws:SourceAccount
のグローバル条件コンテキストキーを使用することをお勧めします。これは、混乱した使節の問題に対する最も効果的な保護方法です。
両方のグローバル条件コンテキストキーを使用し、aws:SourceArn
値にアカウント ID を含めます。この場合は、aws:SourceAccount
値と aws:SourceArn
値のアカウントは、同じステートメントで使用する場合、同じアカウント ID を使用する必要があります。
-
単一リソースに対するクロスサービスアクセスが必要な場合は
aws:SourceArn
を使用します。 -
そのアカウント内の任意のリソースをクロスサービス使用に関連付けることを許可する場合、
aws:SourceAccount
を使用します。
信頼関係では、aws:SourceArn
グローバル条件コンテキストキーに、必ず、ロールにアクセスするリソースの完全な Amazon リソースネーム (ARN) を使用します。
次の AWS CLI コマンドでは、この目的で
という名前のロールを作成します。rds-efs-integration-role
例
Linux、macOS、Unix の場合:
aws iam create-role \ --role-name
rds-efs-integration-role
\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount":my_account_ID
, "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'
Windows の場合:
aws iam create-role ^ --role-name
rds-efs-integration-role
^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount":my_account_ID
, "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'
詳細については、IAM ユーザーガイドの「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。
ステップ 2: Amazon EFS ファイルシステムのファイルシステムポリシーを作成します。
このステップでは、EFS ファイルシステムのファイルシステムポリシーを作成します。
EFS ファイルシステムポリシーを作成または編集するには
-
EFS 管理コンソール
を開きます。 -
[File Systems (ファイルシステム)] を選択します。
-
[File systems (ファイルシステム)] ページで、ファイルシステムポリシーを編集または作成する対象のファイルシステムを選択します。そのファイルシステムの詳細ページが表示されます。
-
[File system policy] (ファイルシステムポリシー) タブを選択します。
ポリシーが空の場合は、デフォルトの EFS ファイルシステムポリシーが使用されます。詳細については、Amazon Elastic File System ユーザーガイドの「EFS ファイルシステムポリシー」を参照してください。
-
[編集] を選択します。[File system policy (ファイルシステムポリシー)] ページが表示されます。
-
[Policy editor] (ポリシーエディタ) で次のようなポリシーを入力し、[Save] (保存) を選択します。
{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:role/rds-efs-integration-role" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ], "Resource": "arn:aws:elasticfilesystem:us-east-1
:123456789012
:file-system/fs-1234567890abcdef0
" } ] }
ステップ 3: IAM ロールを RDS for Oracle DB インスタンスに関連付ける
このステップでは、IAM ロールを DB インスタンスに関連付けます。以下の要件に注意してください。
-
必須の Amazon EFS アクセス許可ポリシーがアタッチされた IAM ロールへのアクセスが許可されている必要があります。
-
RDS for Oracle DB インスタンスには、一度に 1 つの IAM ロールのみを関連付けることができます。
-
インスタンスのステータスは [Available] (使用可能) である必要があります。
詳細については、Amazon Elastic File System ユーザーガイドの「Amazon EFS の ID とアクセス管理」を参照してください。
IAM ロールを RDS for Oracle DB インスタンスに関連付けるには
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
[データベース] をクリックします。
-
データベースインスタンスが使用できない場合は、[Actions (アクション)]、[Start (スタート)] の順に選択します。インスタンスのステータスに [Started (スタート済み)] と表示されたら、次のステップに進みます。
-
詳細を表示する Oracle DB インスタンスの名前を選択します。
-
「接続性とセキュリティ」 タブで、ページ下部のIAM ロールを管理する セクションまでスクロールダウンします。
-
IAM ロールをこのインスタンスに追加するセクションに追加するロールを選択します。
-
[Feature] (機能) で、[EFS_INTEGRATION] (EFS 統合) を選択します。
-
[Add role] を選択します。
以下の AWS CLI コマンドでは、
という名前の Oracle DB インスタンスにこのロールを追加します。mydbinstance
例
Linux、macOS、Unix の場合:
aws rds add-role-to-db-instance \ --db-instance-identifier
mydbinstance
\ --feature-name EFS_INTEGRATION \ --role-arnyour-role-arn
Windows の場合:
aws rds add-role-to-db-instance ^ --db-instance-identifier
mydbinstance
^ --feature-name EFS_INTEGRATION ^ --role-arnyour-role-arn
を、以前のステップで書き留めたロール ARN に置き換えます。your-role-arn
EFS_INTEGRATION
オプションには --feature-name
が指定されている必要があります。