QLDB 中的分錄匯出權限 - Amazon Quantum Ledger Database (Amazon QLDB)

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

QLDB 中的分錄匯出權限

在 Amazon QLDB 中提交日誌匯出請求之前,您必須在指定的 Amazon S3 儲存貯體中提供具有寫入許可的 QLDB。如果您選擇受管的客戶 AWS KMS key 做為 Amazon S3 儲存貯體的物件加密類型,您還必須向 QLDB 提供使用指定對稱加密金鑰的許可。Amazon S3 不支援非對稱 KMS 金鑰

若要為您的匯出任務提供必要的許可,您可以讓 QLDB 擔任具有適當許可政策的 IAM 服務角色。服務角色是服務擔任的 IAM 角色,可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊,請參閱《IAM 使用者指南》中的建立角色以委派許可給 AWS 服務服務

注意

若要在請求日誌匯出時將角色傳遞給 QLDB,您必須擁有對 IAM 角色資源執行iam:PassRole動作的權限。這是 QLDB 分類帳資源的qldb:ExportJournalToS3權限之外。

要了解如何使用 IAM 控制對 QLDB 的存取,請參閱。Amazon QLDB 如何與 IAM 合作如需 QLDB 原則範例,請參閱。Amazon QLDB 以身分識別為基礎的政策範例

在此範例中,您建立了一個角色,讓 QLDB 代表您將物件寫入 Amazon S3 儲存貯體。如需詳細資訊,請參閱《IAM 使用者指南》中的建立角色以委派許可給 AWS 服務服務

如果您是第一次將 QLDB 日誌匯出到您 AWS 帳戶 的,您必須先執行下列動作以建立具有適當政策的 IAM 角色。或者,您可以使用 QLDB 主控台自動為您建立角色。否則,您可以選擇先前建立的角色。

建立許可政策

請完成下列步驟,為 QLDB 日誌匯出工作建立權限原則。此範例顯示授與 QLDB 許可以將物件寫入指定儲存貯體的 Amazon S3 儲存貯體政策。如果適用,此範例也會顯示允許 QLDB 使用對稱加密 KMS 金鑰的金鑰原則。

如需 Amazon S3 儲存貯體政策的詳細資訊,請參閱 Amazon 簡單儲存體服務使用者指南中的使用儲存貯體政策和使用者政策。若要進一步了解關 AWS KMS 鍵原則,請參閱AWS Key Management Service 開發人員指南 AWS KMS中的使用金鑰政策

注意

您的 Amazon S3 儲存貯體和 KMS 金鑰必須與 QLDB 分類帳位於 AWS 區域 相同。

若要使用 JSON 政策編輯器來建立政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

  2. 在左側的導覽欄中,選擇 Policies (政策)。

    如果這是您第一次選擇 Policies (政策),將會顯示 Welcome to Managed Policies (歡迎使用受管政策) 頁面。選擇 Get Started (開始使用)

  3. 在頁面頂端,選擇 Create policy (建立政策)

  4. 選擇 JSON 標籤。

  5. 輸入 JSON 政策文件。

    • 如果您使用客戶受管 KMS 金鑰進行 Amazon S3 物件加密,請使用下列範例政策文件。若要使用此原則,請在範例中使用您自己的資訊取代文件範例值區我們東部 112345678 9012 和 1234 英寸

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportS3Permission", "Action": [ "s3:PutObjectAcl", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "QLDBJournalExportKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • 對於其他加密類型,請使用下列範例原則文件。若要使用此政策,請使用您自己的 Amazon S3 儲存貯體名稱取代範例中的文件範例儲存貯體。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportS3Permission", "Action": [ "s3:PutObjectAcl", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
  6. 選擇檢閱政策

    注意

    您可以隨時切換 Visual editor (視覺化編輯器) 與 JSON 標籤。不過,如果您進行更改或在 Visual editor (視覺編輯工具) 索引標籤中選擇 Review policy (檢閱政策),IAM 可能會調整您的政策結構以針對視覺編輯工具進行最佳化。如需詳細資訊,請參閱 IAM 使用者指南中的調整政策結構

  7. Review policy (檢閱政策) 頁面上,為您正在建立的政策輸入選用的 Name (名稱) 與 Description (描述)。檢閱政策 Summary (摘要) 來查看您的政策所授予的許可。然後選擇 Create policy (建立政策) 來儲存您的工作。

建立 IAM 角色

為 QLDB 日誌匯出工作建立許可政策後,您可以建立 IAM 角色並將政策附加到該角色。

若要建立 QLDB (IAM 主控台) 的服務角色
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

  2. 在 IAM 主控台的導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)。

  3. 對於 Trusted entity type (信任的實體類型),請選擇 AWS 服務

  4. 對於服務或使用案例,請選擇 QLDB,然後選擇 QL DB 使用案例。

  5. 選擇下一步

  6. 選取您在先前步驟中建立的原則旁邊的方塊。

  7. (選用) 設定許可界限。這是進階功能,可用於服務角色,而不是服務連結的角色。

    1. 開啟 [設定權限界限] 區段,然後選擇 [使用權限界限] 控制最大角色權限

      IAM 在您的帳戶中包含受 AWS 管政策和客戶管理政策的清單。

    2. 選取用於許可界限的政策。

  8. 選擇下一步

  9. 輸入角色名稱或角色名稱尾碼,以協助您識別角色的用途。

    重要

    命名角色時,請注意下列事項:

    • 角色名稱在您的內部必須是唯一的 AWS 帳戶,並且不能根據大小寫使用唯一。

      例如,請勿建立同時命名為PRODROLE和的角色prodrole。當角色名稱用於策略中或作為 ARN 的一部分時,角色名稱會區分大小寫,但是當主控台中的客戶 (例如在登入程序期間) 顯示角色名稱時,角色名稱不區分大小寫。

    • 您無法在建立角色之後編輯該角色的名稱,因為其他實體可能會參照該角色。

  10. (選擇性) 在說明中,輸入角色的說明。

  11. (選擇性) 若要編輯角色的使用案例和權限,請在步驟 1:選取信任的實體步驟 2:新增權限區段中,選擇編輯

  12. (選擇性) 若要協助識別、組織或搜尋角色,請將標籤新增為鍵值配對。如需有關在 IAM 中使用標籤的詳細資訊,請參閱《IAM 使用者指南》中的標記 IAM 資源

  13. 檢閱角色,然後選擇 Create role (建立角色)。

下列 JSON 文件是信任政策的範例,該政策允許 QLDB 假設具有附加特定許可的 IAM 角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
注意

此信任原則範例顯示如何使用aws:SourceArnaws:SourceAccount全域條件內容索引鍵來防止混淆的副問題。透過此信任原則,QLDB 只能擔任帳號中任何 QLDB 資源的角色。123456789012

如需詳細資訊,請參閱 預防跨服務混淆代理人

建立 IAM 角色後,返回 QLDB 主控台並重新整理 [建立匯出任務] 頁面,以便找到您的新角色。