對 Amazon DocumentDB 使用基於身份的政策 (IAM 政策) - Amazon DocumentDB

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

對 Amazon DocumentDB 使用基於身份的政策 (IAM 政策)

重要

對於某些管理功能,Amazon DocumentDB 會使用與 Amazon RDS 共用的操作技術。Amazon DocumentDB 主控 AWS CLI台和 API 呼叫會記錄為對 Amazon RDS API 的呼叫。

我們建議您先檢閱介紹性主題,其中說明可用於管理 Amazon DocumentDB 資源存取權的基本概念和選項。如需詳細資訊,請參閱 管理您的 Amazon DocumentDB 資源的訪問許可

這個主題提供以身分為基礎的政策範例,在該政策中帳戶管理員可以將許可政策連接至 IAM 身分 (即使用者、群組和角色)。

以下是 IAM 政策的範例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:pg:cluster-pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ] } ] }

政策包括單一陳述式,指定 IAM 使用者的下列許可:

  • 此政策允許 IAM 使用者使用 CreateDbInstance 動作建立執行個體 (這也適用於create-db-instance AWS CLI 作業和)。 AWS Management Console

  • Resource 元素指定使用者可對資源或搭配資源執行動作。您可以使用 Amazon Resource Name (ARN) 來指定資源。此 ARN 包括資源所屬的服務名稱 (rds)、(在此範例中*表示任何區域)、使用者帳號 (在此範例中123456789012為使用者 ID) 以及資源類型。 AWS 區域

    範例中的 Resource 元素對使用者的資源指定下列政策限制:

    • 新執行個體的執行個體識別碼必須以 test 開頭 (例如,testCustomerData1test-region2-data)。

    • 新執行個體的參數群組必須以 default 開頭。

    • 新執行個體的子網路群組必須是 default 子網路群組。

此政策不指定 Principal 元素,因為您不會在以身分為基礎的政策中,指定取得許可的主體。當您將政策連接至使用者時,這名使用者即為隱含主體。當您將許可政策連接至 IAM 角色,該角色的信任政策中所識別的委託人即取得許可。

如需顯示所有 Amazon DocumentDB API 操作及其適用資源的表格,請參閱。Amazon DocumentDB API 許可:動作、資源和條件參考

使用 Amazon DocumentDB 主控台所需的許可

若要讓使用者使用 Amazon DocumentDB 主控台,該使用者必須擁有一組最低限度的許可。這些許可允許使用者描述他們的 Amazon DocumentDB 資源, AWS 帳戶 並提供其他相關資訊,包括 Amazon EC2 安全性和網路資訊。

如果您建立比最基本必要許可更嚴格的 IAM 政策,則對於採取該 IAM 政策的使用者而言, 主控台就無法如預期運作。為確保這些使用者仍然可以使用 Amazon DocumentDB 主控台,請同時將AmazonDocDBConsoleFullAccess受管政策附加到使用者,如中所述。AWS Amazon DocumentDB 的受管政策

您不需要為只對 AWS CLI 或 Amazon DocumentDB API 進行呼叫的使用者允許最低主控台許可。

客戶受管政策範例

在本節中,您可以找到授與各種 Amazon DocumentDB 動作許可的範例使用者政策。當您使用 Amazon DocumentDB API 動作、 AWS 開發套件或. AWS CLI 當您使用主控台時,需要授予主控台特定的額外許可,這會在「使用 Amazon DocumentDB 主控台所需的許可」中予以討論。

對於某些管理功能,Amazon DocumentDB 會使用與 Amazon Relational Database Service 服務 (Amazon RDS) 和亞馬 Amazon Neptune 共用的操作技術。

注意

所有範例均使用美國東部 (維吉尼亞北部) 區域 (us-east-1),並包含虛擬帳戶 ID。

範例 1:允許使用者對任何 Amazon 文件資源執行任何描述動作

下列許可政策會授予使用者執行開頭為 Describe 之所有動作的許可。這些動作會顯示 Amazon DocumentDB 資源 (例如執行個體) 的相關資訊。元素中的萬用字Resource元 (*) 表示該帳戶擁有的所有 Amazon DocumentDB 資源都允許執行這些動作。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowRDSDescribe", "Effect":"Allow", "Action":"rds:Describe*", "Resource":"*" } ] }

範例 2:防止使用者刪除執行個體

以下許可政策授予許可,以防止使用者刪除特定的執行個體。例如,您可能想拒絕給予任何非管理員的使用者刪除生產執行個體的能力。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyDelete1", "Effect":"Deny", "Action":"rds:DeleteDBInstance", "Resource":"arn:aws:rds:us-east-1:123456789012:db:my-db-instance" } ] }

範例 3:除非已啟用儲存區加密,否則防止使用者建立叢集

除非啟用儲存加密,否則下列許可政策會拒絕使用者建立 Amazon DocumentDB 叢集的許可。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PreventUnencryptedDocumentDB", "Effect": "Deny", "Action": "RDS:CreateDBCluster", "Condition": { "Bool": { "rds:StorageEncrypted": "false" }, "StringEquals": { "rds:DatabaseEngine": "docdb" } }, "Resource": "*" } ] }