選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

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

焦點模式
設定 IAM 許可權限以進行 RDS for Oracle 與 Amazon S3 的整合 - Amazon Relational Database Service

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

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

若要讓 RDS for Oracle 與 Amazon S3 整合,則您的資料庫執行個體必須具有 Amazon S3 儲存貯體的存取權。您的資料庫執行個體使用的 Amazon VPC 不需要提供存取給 Amazon S3 端點。

RDS for Oracle 支援在一個帳戶中的資料庫執行個體與不同帳戶中的 Amazon S3 儲存貯體之間傳輸檔案。如需採取額外步驟,下列各節中會說明這些步驟。

步驟 1:建立 Amazon RDS 角色的 IAM 政策

在此步驟中,您會建立具有在 Amazon S3 儲存貯體和 RDS 資料庫執行個體之間傳輸檔案所需許可的 AWS Identity and Access Management (IAM) 政策。此步驟假設您已建立 S3 儲存貯體。

在您建立政策之前,請記住下列資訊:

  • 儲存貯體的 Amazon Resource Name (ARN)

  • 如果您的儲存貯體使用 SSE-KMS 或 SSE-S3 加密,則為 AWS KMS 金鑰的 ARN

    注意

    RDS for Oracle 資料庫執行個體無法存取使用 SSE-C 加密的 Amazon S3 儲存貯體。

如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用伺服器端加密保護資料

建立 IAM 政策以允許 Amazon RDS 存取您的 Amazon S3 儲存貯體
  1. 開啟 IAM 管理主控台

  2. Access management (存取管理) 下,請選擇 Policies (政策)。

  3. 選擇 Create Policy (建立政策)。

  4. Visual editor (視覺化編輯器) 標籤中,選擇 Choose a service (選擇服務),然後選擇 S3

  5. Actions (動作) 中,選擇 Expand all (全部展開),然後選擇從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS 所需的儲存貯體許可和物件許可。例如,請執行以下操作:

    • 展開 List (清單),然後選取 ListBucket

    • 展開 Read (讀取),然後選取 GetObject

    • 展開 Write (寫入),然後選取 PutObjectDeleteObject

    • 展開 Permissions management (許可權限管理),然後選取 PutObjectAcl。若您計劃將檔案上傳至另一個帳戶所擁有的儲存貯體,而此帳戶需要儲存貯體內容的完全控制,則需要此許可權限。

    物件許可權限是 Amazon S3 中物件作業的許可權限。您必須授予其儲存貯體中的物件,而非儲存貯體本身。如需詳細資訊,請參閱物件作業的許可權限

  6. 選擇資源,然後執行下列動作:

    1. 選擇特定

    2. 針對儲存貯體,請選擇新增 ARN。輸入您的儲存貯體 ARN。儲存貯體名稱會自動填入。接著選擇 Add (新增)

    3. 如果顯示物件資源,請選擇新增 ARN 以手動新增資源,或選擇任何

      注意

      您可以將 Amazon Resource Name (ARN) 設為更具體的 ARN 值,以允許 Amazon RDS 只能存取 Amazon S3 儲存貯體中的特定檔案或資料夾。如需如何為 Amazon S3 定義存取原則的詳細資訊,請參閱管理 Amazon S3 資源的存取許可

  7. (選用) 選擇 Add additional permissions (新增其他許可),將資源新增至政策。例如,請執行以下操作:

    1. 如果您的儲存貯體使用自訂 KMS 金鑰加密,請為服務選取 KMS

    2. 針對手動動作,請選取下列項目:

      • 加密

      • ReEncrypt fromReEncrypt to

      • 解密

      • DescribeKey

      • GenerateDataKey

    3. 針對資源,請選擇特定

    4. 針對金鑰,請選擇新增 ARN。輸入自訂金鑰的 ARN 作為資源,然後選擇新增

      如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用伺服器端加密與存放於 AWS Key Management Service (SSE-KMS) 中的 KMS 金鑰保護資料

    5. 如果您想要 Amazon RDS 存取其他儲存貯體,請新增這些儲存貯體的 ARN。(選擇性) 您也可以授權存取 Amazon S3 中的所有儲存貯體和物件。

  8. 選擇 Next: Tags (下一步:標籤),然後選擇 Next: Review (下一步:檢閱)

  9. Name (名稱) 輸入您的 IAM 政策名稱,例如 rds-s3-integration-policy。您可使用此項名稱,建立與資料庫叢集相關的 IAM 角色。您也可以新增選用的 Description (描述) 值。

  10. 選擇 Create policy (建立政策)。

主控台

建立 IAM 政策以允許 Amazon RDS 存取您的 Amazon S3 儲存貯體
  1. 開啟 IAM 管理主控台

  2. Access management (存取管理) 下,請選擇 Policies (政策)。

  3. 選擇 Create Policy (建立政策)。

  4. Visual editor (視覺化編輯器) 標籤中,選擇 Choose a service (選擇服務),然後選擇 S3

  5. Actions (動作) 中,選擇 Expand all (全部展開),然後選擇從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS 所需的儲存貯體許可和物件許可。例如,請執行以下操作:

    • 展開 List (清單),然後選取 ListBucket

    • 展開 Read (讀取),然後選取 GetObject

    • 展開 Write (寫入),然後選取 PutObjectDeleteObject

    • 展開 Permissions management (許可權限管理),然後選取 PutObjectAcl。若您計劃將檔案上傳至另一個帳戶所擁有的儲存貯體,而此帳戶需要儲存貯體內容的完全控制,則需要此許可權限。

    物件許可權限是 Amazon S3 中物件作業的許可權限。您必須授予其儲存貯體中的物件,而非儲存貯體本身。如需詳細資訊,請參閱物件作業的許可權限

  6. 選擇資源,然後執行下列動作:

    1. 選擇特定

    2. 針對儲存貯體,請選擇新增 ARN。輸入您的儲存貯體 ARN。儲存貯體名稱會自動填入。接著選擇 Add (新增)

    3. 如果顯示物件資源,請選擇新增 ARN 以手動新增資源,或選擇任何

      注意

      您可以將 Amazon Resource Name (ARN) 設為更具體的 ARN 值,以允許 Amazon RDS 只能存取 Amazon S3 儲存貯體中的特定檔案或資料夾。如需如何為 Amazon S3 定義存取原則的詳細資訊,請參閱管理 Amazon S3 資源的存取許可

  7. (選用) 選擇 Add additional permissions (新增其他許可),將資源新增至政策。例如,請執行以下操作:

    1. 如果您的儲存貯體使用自訂 KMS 金鑰加密,請為服務選取 KMS

    2. 針對手動動作,請選取下列項目:

      • 加密

      • ReEncrypt fromReEncrypt to

      • 解密

      • DescribeKey

      • GenerateDataKey

    3. 針對資源,請選擇特定

    4. 針對金鑰,請選擇新增 ARN。輸入自訂金鑰的 ARN 作為資源,然後選擇新增

      如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用伺服器端加密與存放於 AWS Key Management Service (SSE-KMS) 中的 KMS 金鑰保護資料

    5. 如果您想要 Amazon RDS 存取其他儲存貯體,請新增這些儲存貯體的 ARN。(選擇性) 您也可以授權存取 Amazon S3 中的所有儲存貯體和物件。

  8. 選擇 Next: Tags (下一步:標籤),然後選擇 Next: Review (下一步:檢閱)

  9. Name (名稱) 輸入您的 IAM 政策名稱,例如 rds-s3-integration-policy。您可使用此項名稱,建立與資料庫叢集相關的 IAM 角色。您也可以新增選用的 Description (描述) 值。

  10. 選擇 Create policy (建立政策)。

建立 AWS Identity and Access Management (IAM) 政策,授予 Amazon RDS 對 Amazon S3 儲存貯體的存取權。在您建立政策後,請記下政策的 ARN。您需要 ARN 才能進行後續步驟。

依據所需的存取類型,在政策中納入適當動作:

  • GetObject – 必須從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS。

  • ListBucket – 必須從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS。

  • PutObject – 必須由 Amazon RDS 傳輸檔案至 Amazon S3 儲存貯體。

下列 AWS CLI 命令會建立名為 rds-s3-integration-policy的 IAM 政策,並具有這些選項。其中將授予存取至名為 amzn-s3-demo-bucket 的儲存貯體。

範例

對於 Linux、 macOS或 Unix:

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

下列範例包含自訂 KMS 金鑰的許可。

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

在 Windows 中:

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

下列範例包含自訂 KMS 金鑰的許可。

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

建立 AWS Identity and Access Management (IAM) 政策,授予 Amazon RDS 對 Amazon S3 儲存貯體的存取權。在您建立政策後,請記下政策的 ARN。您需要 ARN 才能進行後續步驟。

依據所需的存取類型,在政策中納入適當動作:

  • GetObject – 必須從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS。

  • ListBucket – 必須從 Amazon S3 儲存貯體傳輸檔案至 Amazon RDS。

  • PutObject – 必須由 Amazon RDS 傳輸檔案至 Amazon S3 儲存貯體。

下列 AWS CLI 命令會建立名為 rds-s3-integration-policy的 IAM 政策,並具有這些選項。其中將授予存取至名為 amzn-s3-demo-bucket 的儲存貯體。

範例

對於 Linux、 macOS或 Unix:

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

下列範例包含自訂 KMS 金鑰的許可。

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

在 Windows 中:

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

下列範例包含自訂 KMS 金鑰的許可。

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

步驟 2:(選用) 建立 Amazon S3 儲存貯體的 IAM 政策

只有在下列情況中才需要此步驟:

  • 您計劃從一個帳戶 (帳戶 A) 將檔案上傳至 Amazon S3 儲存貯體,然後從另一個帳戶 (帳戶 B) 進行存取。

  • 帳戶 B 擁有儲存貯體。

  • 帳戶 B 需要載入儲存貯體中物件的完整控制。

若上述條件不適用於您,請跳到 步驟 3:建立您的資料庫執行個體的 IAM 角色並附加政策

如要建立儲存貯體政策,請確定您具有下列項目:

  • 帳戶 A 的帳戶 ID

  • 帳户 A 的使用者名稱

  • 帳戶 B 中 Amazon S3 儲存貯體的 ARN 值

建立或編輯儲存貯體政策
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. Buckets (儲存貯體) 清單中,選擇要建立儲存貯體政策的儲存貯體名稱,或您想編輯之儲存貯體政策的儲存貯體名稱。

  3. 選擇 Permissions (許可)。

  4. Bucket policy (儲存貯體政策) 下方,選擇 Edit (編輯)。這會開啟「編輯儲存貯體政策」頁面。

  5. Edit bucket policy (編輯儲存貯體政策) 頁面,瀏覽《Amazon S3 使用者指南》中的 Policy examples (政策範例)、選擇 Policy generator (政策產生器) 以自動產生政策,或在 Policy (政策) 區段編輯 JSON。

    如果您選擇政策產生器, AWS 政策產生器會在新視窗中開啟:

    1. AWS Policy Generator ( 政策產生器) 頁面上,在 Select Type of Policy (選取政策類型) 中選擇 S3 Bucket Policy (S3 儲存貯體政策)。

    2. 在提供的欄位中輸入資訊,以新增陳述式,然後選擇 Add Statement (新增陳述式)。針對您想要新增的任意數量陳述式重複此動作。如需這些欄位的詳細資訊,請參閱《IAM 使用者指南》中的 IAM JSON 政策元素參考

      注意

      為方便起見,Edit bucket policy (編輯儲存貯體政策) 頁面會在 Policy (政策) 文字欄位上方顯示目前儲存貯體的 Bucket ARN (Amazon Resource Name) (儲存貯體 ARN (Amazon 資源名稱))。您可以複製此 ARN,以在 AWS Policy Generator ( 政策產生器) 頁面上的陳述式中使用。

    3. 完成新增陳述式後,選擇 Generate Policy (產生政策)。

    4. 複製產生的政策文字,選擇 Close (關閉),然後退回 Amazon S3 主控台中的 Edit bucket policy (編輯儲存貯體政策) 頁面。

  6. Policy (政策) 方塊中,編輯現有政策,或從政策產生器貼上儲存貯體政策。請務必先處理安全性警告、錯誤、一般警告,以及建議,然後再儲存政策。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-A-ID:account-A-user" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }
  7. 選擇 Save changes (儲存變更),此選項會跳至儲存貯體許可頁面。

主控台

建立或編輯儲存貯體政策
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. Buckets (儲存貯體) 清單中,選擇要建立儲存貯體政策的儲存貯體名稱,或您想編輯之儲存貯體政策的儲存貯體名稱。

  3. 選擇 Permissions (許可)。

  4. Bucket policy (儲存貯體政策) 下方,選擇 Edit (編輯)。這會開啟「編輯儲存貯體政策」頁面。

  5. Edit bucket policy (編輯儲存貯體政策) 頁面,瀏覽《Amazon S3 使用者指南》中的 Policy examples (政策範例)、選擇 Policy generator (政策產生器) 以自動產生政策,或在 Policy (政策) 區段編輯 JSON。

    如果您選擇政策產生器, AWS 政策產生器會在新視窗中開啟:

    1. AWS Policy Generator ( 政策產生器) 頁面上,在 Select Type of Policy (選取政策類型) 中選擇 S3 Bucket Policy (S3 儲存貯體政策)。

    2. 在提供的欄位中輸入資訊,以新增陳述式,然後選擇 Add Statement (新增陳述式)。針對您想要新增的任意數量陳述式重複此動作。如需這些欄位的詳細資訊,請參閱《IAM 使用者指南》中的 IAM JSON 政策元素參考

      注意

      為方便起見,Edit bucket policy (編輯儲存貯體政策) 頁面會在 Policy (政策) 文字欄位上方顯示目前儲存貯體的 Bucket ARN (Amazon Resource Name) (儲存貯體 ARN (Amazon 資源名稱))。您可以複製此 ARN,以在 AWS Policy Generator ( 政策產生器) 頁面上的陳述式中使用。

    3. 完成新增陳述式後,選擇 Generate Policy (產生政策)。

    4. 複製產生的政策文字,選擇 Close (關閉),然後退回 Amazon S3 主控台中的 Edit bucket policy (編輯儲存貯體政策) 頁面。

  6. Policy (政策) 方塊中,編輯現有政策,或從政策產生器貼上儲存貯體政策。請務必先處理安全性警告、錯誤、一般警告,以及建議,然後再儲存政策。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-A-ID:account-A-user" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }
  7. 選擇 Save changes (儲存變更),此選項會跳至儲存貯體許可頁面。

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

此步驟會假設您已於 步驟 1:建立 Amazon RDS 角色的 IAM 政策 中建立了 IAM 政策。於此步驟中,您會建立 RDS for Oracle 資料庫執行個體的角色,然後將政策附加至角色。

建立 IAM 角色以允許 Amazon RDS 存取 Amazon S3 儲存貯體
  1. 開啟 IAM 管理主控台

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

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

  4. 選擇 AWS 服務

  5. 對於其他 AWS 服務的使用案例:,選擇 RDS,然後選擇 RDS – 將角色新增至資料庫。然後選擇下一步

  6. 請在許可政策之下的搜尋輸入您在 步驟 1:建立 Amazon RDS 角色的 IAM 政策 建立的 IAM 政策名稱,然後於政策出現在清單時加以選取。然後選擇下一步

  7. 角色名稱中輸入 IAM 角色名稱,例如 rds-s3-integration-role。您也可以新增選用的 Description (描述) 值。

  8. 選擇建立角色

主控台

建立 IAM 角色以允許 Amazon RDS 存取 Amazon S3 儲存貯體
  1. 開啟 IAM 管理主控台

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

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

  4. 選擇 AWS 服務

  5. 對於其他 AWS 服務的使用案例:,選擇 RDS,然後選擇 RDS – 將角色新增至資料庫。然後選擇下一步

  6. 請在許可政策之下的搜尋輸入您在 步驟 1:建立 Amazon RDS 角色的 IAM 政策 建立的 IAM 政策名稱,然後於政策出現在清單時加以選取。然後選擇下一步

  7. 角色名稱中輸入 IAM 角色名稱,例如 rds-s3-integration-role。您也可以新增選用的 Description (描述) 值。

  8. 選擇建立角色

如要建立角色並將政策附加至該角色
  1. 建立 IAM 角色,讓 Amazon RDS 可代表您存取您的 Amazon S3 儲存貯體。

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

    您可以同時使用全域條件內容索引鍵和包含帳號 ID 的 aws:SourceArn 值。在此情況下,當在相同陳述式中使用 aws:SourceAccount 值和 aws:SourceArn 裡的帳户時,兩者必須使用同樣的帳户 ID。

    • 如果您想要跨服務存取單一資源,請使用 aws:SourceArn

    • 如果您想要允許該帳戶中的任何資源與跨服務使用相關聯,請使用 aws:SourceAccount

    在信任關係中,請務必使用 aws:SourceArn 全域條件內容索引鍵,其中包含存取角色的資源之完整 Amazon 資源名稱 (ARN)。

    下列 AWS CLI 命令會rds-s3-integration-role為此目的建立名為 的角色。

    範例

    對於 Linux、 macOS或 Unix:

    aws iam create-role \ --role-name rds-s3-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-s3-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. 角色建立後,請記下角色的 ARN。您需要 ARN 才能進行後續步驟。

  3. 請將您建立的政策連接到您建立的角色。

    下列 AWS CLI 命令會將政策連接至名為 的角色rds-s3-integration-role

    範例

    對於 Linux、 macOS或 Unix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-integration-role

    在 Windows 中:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-integration-role

    your-policy-arn 替換為您前個步驟記下的政策 ARN。

如要建立角色並將政策附加至該角色
  1. 建立 IAM 角色,讓 Amazon RDS 可代表您存取您的 Amazon S3 儲存貯體。

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

    您可以同時使用全域條件內容索引鍵和包含帳號 ID 的 aws:SourceArn 值。在此情況下,當在相同陳述式中使用 aws:SourceAccount 值和 aws:SourceArn 裡的帳户時,兩者必須使用同樣的帳户 ID。

    • 如果您想要跨服務存取單一資源,請使用 aws:SourceArn

    • 如果您想要允許該帳戶中的任何資源與跨服務使用相關聯,請使用 aws:SourceAccount

    在信任關係中,請務必使用 aws:SourceArn 全域條件內容索引鍵,其中包含存取角色的資源之完整 Amazon 資源名稱 (ARN)。

    下列 AWS CLI 命令會rds-s3-integration-role為此目的建立名為 的角色。

    範例

    對於 Linux、 macOS或 Unix:

    aws iam create-role \ --role-name rds-s3-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-s3-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. 角色建立後,請記下角色的 ARN。您需要 ARN 才能進行後續步驟。

  3. 請將您建立的政策連接到您建立的角色。

    下列 AWS CLI 命令會將政策連接至名為 的角色rds-s3-integration-role

    範例

    對於 Linux、 macOS或 Unix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-integration-role

    在 Windows 中:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-integration-role

    your-policy-arn 替換為您前個步驟記下的政策 ARN。

步驟 4:建立 IAM 角色與 RDS for Oracle 資料庫執行個體的關聯

設定 Amazon S3 整合許可的最後一個步驟是將您的 IAM 角色與資料庫執行個體建立關聯。請注意以下要求:

  • 您必須能存取連接了必要 Amazon S3 許可政策的角色。

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

  • 您的資料庫執行個體必須處於可用狀態。

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

  2. 在導覽窗格中,選擇 Databases (資料庫)。

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

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

  5. 對於新增 IAM 角色到此執行個體,請選擇您在 步驟 3:建立您的資料庫執行個體的 IAM 角色並附加政策 中建立的角色。

  6. 針對 Feature (功能) 選擇 S3_INTEGRATION

    新增 S3_INTEGRATION 角色
  7. 選擇 Add role (新增角色)

主控台

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

  2. 在導覽窗格中,選擇 Databases (資料庫)。

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

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

  5. 對於新增 IAM 角色到此執行個體,請選擇您在 步驟 3:建立您的資料庫執行個體的 IAM 角色並附加政策 中建立的角色。

  6. 針對 Feature (功能) 選擇 S3_INTEGRATION

    新增 S3_INTEGRATION 角色
  7. 選擇 Add role (新增角色)

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

範例

對於 Linux、 macOS或 Unix:

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

在 Windows 中:

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

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

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

範例

對於 Linux、 macOS或 Unix:

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

在 Windows 中:

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

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

下一個主題:

新增選項

上一個主題:

Amazon S3 整合
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。