設定 IAM 許可以進行 RDS for Oracle 與 Amazon EFS 的整合 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 IAM 許可以進行 RDS for Oracle 與 Amazon EFS 的整合

根據預設,Amazon EFS 整合功能不使用 IAM 角色:USE_IAM_ROLE選項設定為 FALSE。若要將 RDS for Oracle 與 Amazon EFS 和 IAM 角色整合,您的資料庫執行個體必須具有存取 Amazon EFS 檔案系統的 IAM 許可。

步驟 1:針對您的資料庫執行個體建立 IAM 角色並附加您的政策

在此步驟中,您會針對 RDS for Oracle 資料庫執行個體建立一個角色,允許 Amazon RDS 存取您的 EFS 檔案系統。

建立 IAM 角色以允許 Amazon RDS 存取 EFS 檔案系統
  1. 開啟 IAM 管理主控台

  2. 在導覽窗格中,選擇 Roles (角色)。

  3. 選擇 Create Role (建立角色)。

  4. 針對 AWS 服務,請選擇 RDS

  5. 針對 Select your use case (選擇使用案例) 選擇 RDS – Add Role to Database (新增角色至資料庫)

  6. 選擇下一步

  7. 請不要新增任何許可政策。選擇下一步

  8. Role Name (角色名稱) 設為您的 IAM 角色名稱,例如 rds-efs-integration-role。您也可以新增選用的 Description (描述) 值。

  9. 選擇建立角色

若要將服務的許可限制為特定資源,建議您在資源型信任關係中使用 aws:SourceArnaws:SourceAccount 全域條件內容金鑰。這是防止混淆代理人問題最有效的方式。

您可以同時使用全域條件內容索引鍵和包含帳號 ID 的 aws:SourceArn 值。在此情況下,當在相同陳述式中使用 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 檔案系統政策
  1. 開啟 EFS 管理主控台

  2. 選擇 File Systems (檔案系統)

  3. File systems (檔案系統) 頁面上,選擇您要編輯或針對其建立檔案系統政策的檔案系統。即會顯示該檔案系統的詳細資訊頁面。

  4. 選擇 File system policy (檔案系統政策) 索引標籤。

    如果政策空白,表示正在使用預設 EFS 檔案系統政策。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的預設 EFS 檔案系統政策

  5. 選擇編輯File system policy (檔案系統政策) 頁面隨即顯示。

  6. Policy editor (原則編輯器) 中,輸入如下的政策,然後選擇 Save (儲存)。

    JSON
    { "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 資料庫執行個體建立關聯

在此步驟中,您會將 IAM 角色與資料庫執行個體建立關聯。請注意下列需求:

  • 您必須有權存取必要 Amazon EFS 許可政策附加至其中的 IAM 角色。

  • 您一次只能將一個 IAM 角色與 RDS for Oracle 資料庫執行個體建立關聯。

  • 執行個體的狀態必須為 Available (可用)。

如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的適用於 Amazon EFS 的 Identity and Access Management

如要建立 IAM 角色與 RDS for Oracle 資料庫執行個體的關聯
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 選擇 Databases (資料庫)。

  3. 如果您的資料庫執行個體無法使用,請選擇 Actions (動作),然後選擇 Start (開始)。當執行個體狀態顯示 Started (已啟動) 時,請移至下一個步驟。

  4. 選擇 Oracle 資料庫執行個體名稱以顯示其詳細資訊。

  5. Connectivity & security (連線和安全) 索引標籤上,向下捲動至頁面底部的 Manage IAM roles (管理 IAM 角色) 區段。

  6. Add IAM roles to this instance (新增 IAM 角色到此執行個體) 區段中選擇要新增的角色。

  7. 針對 Feature (功能),選擇 EFS_INTEGRATION

  8. 選擇 Add role (新增角色)

下列 AWS CLI 命令會將 角色新增至名為 的 Oracle 資料庫執行個體mydbinstance

範例

對於 Linux、 macOS或 Unix:

aws rds add-role-to-db-instance \ --db-instance-identifier mydbinstance \ --feature-name EFS_INTEGRATION \ --role-arn your-role-arn

在 Windows 中:

aws rds add-role-to-db-instance ^ --db-instance-identifier mydbinstance ^ --feature-name EFS_INTEGRATION ^ --role-arn your-role-arn

your-role-arn 替換為您前個步驟記下的角色 ARN。EFS_INTEGRATION 必須在 --feature-name 選項中指定。