

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon DocumentDB のアイデンティティベースのポリシー (IAM ポリシー) の使用
<a name="UsingWithRDS.IAM.AccessControl.IdentityBased"></a>

**重要**  
特定の管理機能について、Amazon DocumentDB は Amazon RDS と共有されるオペレーショナルテクノロジーを使用します。Amazon DocumentDB コンソール、、および API コールは AWS CLI、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 リソースネーム (ARN) を使用してリソースを指定します。この ARN には、リソースが属するサービスの名前 (`rds`)、 AWS リージョン (`*` はこの例の任意のリージョンを示します）、ユーザーアカウント番号 (`123456789012` はこの例のユーザー ID です）、およびリソースのタイプが含まれます。

  例の `Resource` 要素は、ユーザーのリソースで、以下のポリシーの制約を指定します。
  + 新しいインスタンスのインスタンス識別子は、`test` で始まる必要があります (例: `testCustomerData1`、`test-region2-data`)。
  + 新しいインスタンスのクラスターパラメータグループは、`default` で始まる必要があります。
  + 新しいインスタンスのサブネットグループは、`default` サブネットグループである必要があります。

ID ベースのポリシーでアクセス許可を得るプリンシパルを指定していないため、ポリシーでは `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`) を使用し、架空のアカウント ID を使用しています。

**Topics**
+ [例 1: ユーザーが任意の Amazon DocumentDB リソースに対して任意の Describe アクションを実行できるようにする](#IAMPolicyExamples-RDS-perform-describe-action)
+ [例 2: ユーザーによるインスタンスの削除を禁止する](#IAMPolicyExamples-RDS-prevent-db-deletion)
+ [例 3: ストレージ暗号化が有効になっている場合を除き、ユーザーがクラスターを作成できないようにする](#IAMPolicyExamples-Prevent-Cluster)

### 例 1: ユーザーが任意の Amazon DocumentDB リソースに対して任意の Describe アクションを実行できるようにする
<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": "*"
      }
   ]
}
```

------