

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

# 針對 Amazon DocumentDB 使用身分型政策 (IAM 政策）
<a name="UsingWithRDS.IAM.AccessControl.IdentityBased"></a>

**重要**  
對於某些管理功能，Amazon DocumentDB 使用與 Amazon RDS 共用的操作技術。Amazon DocumentDB 主控台 AWS CLI和 API 呼叫會記錄為對 Amazon RDS API 發出的呼叫。  
建議您先檢閱簡介主題，說明可用於管理 Amazon DocumentDB 資源存取權的基本概念和選項。如需詳細資訊，請參閱[管理 Amazon DocumentDB 資源的存取許可](UsingWithRDS.IAM.AccessControl.Overview.md)。

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

以下是 IAM 政策的範例。

------
#### [ JSON ]

****  

```
{
    "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](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) 動作建立執行個體 （這也適用於 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI 操作和 AWS 管理主控台)。
+ `Resource` 元素指定使用者可對資源或搭配資源執行動作。您可以使用 Amazon Resource Name (ARN) 來指定資源。此 ARN 包含資源所屬的服務名稱 (`rds`)、 AWS 區域 (`*` 表示此範例中的任何區域）、使用者帳戶號碼 (`123456789012` 是此範例中的使用者 ID)，以及資源類型。

  範例中的 `Resource` 元素對使用者的資源指定下列政策限制：
  + 新執行個體的執行個體識別碼必須以 `test` 開頭 (例如，`testCustomerData1`、`test-region2-data`)。
  + 新執行個體的參數群組必須以 `default` 開頭。
  + 新執行個體的子網路群組必須是 `default` 子網路群組。

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

 如需顯示所有 Amazon DocumentDB API 操作及其適用的資源的資料表，請參閱 [Amazon DocumentDB API 許可：動作、資源和條件參考](UsingWithRDS.IAM.ResourcePermissions.md)。

## 使用 Amazon DocumentDB 主控台所需的許可
<a name="UsingWithRDS.IAM.RequiredPermissions.Console"></a>

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

如果您建立比最基本必要許可更嚴格的 IAM 政策，則對於採取該 IAM 政策的使用者而言，主控台就無法如預期運作。為了確保這些使用者仍然可以使用 Amazon DocumentDB 主控台，也請將 `AmazonDocDBConsoleFullAccess`受管政策連接至使用者，如中所述[AWS Amazon DocumentDB 的 受管政策](docdb-managed-policies.md)。

對於僅呼叫 AWS CLI 或 Amazon DocumentDB API 的使用者，您不需要允許最低主控台許可。

## 客戶管理政策範例
<a name="IAMPolicyExamples-RDS"></a>

在本節中，您可以找到授予各種 Amazon DocumentDB 動作許可的使用者政策範例。當您使用 Amazon DocumentDB API 動作、 AWS SDKs或 時，這些政策即可運作 AWS CLI。當您使用主控台時，需要授予主控台特定的額外許可，這會在「[使用 Amazon DocumentDB 主控台所需的許可](#UsingWithRDS.IAM.RequiredPermissions.Console)」中予以討論。

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

**注意**  
所有範例都使用美國東部 （維吉尼亞北部） 區域 (`us-east-1`)，並包含虛構的帳戶 IDs。

**Topics**
+ [範例 1：允許使用者對任何 Amazon DocumentDB 資源執行任何描述動作](#IAMPolicyExamples-RDS-perform-describe-action)
+ [範例 2：防止使用者刪除執行個體](#IAMPolicyExamples-RDS-prevent-db-deletion)
+ [範例 3：除非啟用儲存加密，否則防止使用者建立叢集](#IAMPolicyExamples-Prevent-Cluster)

### 範例 1：允許使用者對任何 Amazon DocumentDB 資源執行任何描述動作
<a name="IAMPolicyExamples-RDS-perform-describe-action"></a>

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

------
#### [ JSON ]

****  

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

------

### 範例 2：防止使用者刪除執行個體
<a name="IAMPolicyExamples-RDS-prevent-db-deletion"></a>

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

------
#### [ JSON ]

****  

```
{
   "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：除非啟用儲存加密，否則防止使用者建立叢集
<a name="IAMPolicyExamples-Prevent-Cluster"></a>

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

------
#### [ JSON ]

****  

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

------