

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

# Amazon DocumentDB リソースへのアクセス許可の管理
<a name="UsingWithRDS.IAM.AccessControl.Overview"></a>

すべての AWS リソースは によって所有され AWS アカウント、リソースを作成またはアクセスするアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、IAM ID (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチできます。一部のサービス ( など AWS Lambda) では、リソースにアクセス許可ポリシーのアタッチもサポートされています。

**注記**  
アカウント管理者 (または管理者ユーザー) は、管理者アクセス許可を持つユーザーです。詳細については、「*IAM ユーザーガイド*」の「[IAM のベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

**Topics**
+ [Amazon DocumentDB リソースおよびオペレーション](#CreatingIAMPolicies-RDS)
+ [リソース所有権について](#UsingWithRDS.IAM.AccessControl.ResourceOwner)
+ [リソースへのアクセスの管理](#UsingWithRDS.IAM.AccessControl.ManagingAccess)
+ [ポリシー要素の指定 : アクション、効果、リソース、プリンシパル](#SpecifyingIAMPolicyActions-RDS)
+ [ポリシーでの条件の指定](#SpecifyingIAMPolicyConditions-RDS)

## Amazon DocumentDB リソースおよびオペレーション
<a name="CreatingIAMPolicies-RDS"></a>

Amazon DocumentDB では、プライマリリソースは *クラスター* です。Amazon DocumentDB は、*インスタンス*、*パラメータグループ*、*イベントサブスクリプション* などのプライマリリソースで使用できる他のリソースをサポートします。これらのリソースは*サブリソース*と呼ばれます。

これらのリソースとサブリソースには、次の表に示すとおり、一意の Amazon リソースネーム (ARN) が関連付けられています。


| **リソースタイプ**  |  **ARN 形式**  | 
| --- | --- | 
| クラスター | `arn:aws:rds:region:account-id:cluster:db-cluster-name` | 
| クラスターパラメータグループ | `arn:aws:rds:region:account-id:cluster-pg:cluster-parameter-group-name` | 
| クラスタースナップショット | `arn:aws:rds:region:account-id:cluster-snapshot:cluster-snapshot-name` | 
| インスタンス | `arn:aws:rds:region:account-id:db:db-instance-name` | 
| セキュリティグループ | `arn:aws:rds:region:account-id:secgrp:security-group-name` | 
| サブネットグループ | `arn:aws:rds:region:account-id:subgrp:subnet-group-name` | 

Amazon DocumentDB には、Amazon DocumentDB のリソースを操作するための一連のオペレーションが用意されています。可能なオペレーションのリストについては、「[アクション](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_Operations.html)」を参照してください。

## リソース所有権について
<a name="UsingWithRDS.IAM.AccessControl.ResourceOwner"></a>

*リソース所有者*は、リソースを AWS アカウント 作成した です。つまり、リソース所有者は、リソースを作成するリクエスト AWS アカウント を認証する*プリンシパルエンティティ* (ルートアカウント、IAM ユーザー、または IAM ロール) の です。次の例は、この仕組みを示しています。
+ のルートアカウントの認証情報を使用してインスタンスなどの Amazon DocumentDB リソース AWS アカウント を作成する場合、 AWS アカウント は Amazon DocumentDB リソースの所有者です。
+ で IAM ユーザーを作成し AWS アカウント 、そのユーザーに Amazon DocumentDB リソースを作成するアクセス許可を付与すると、そのユーザーは Amazon DocumentDB リソースを作成できます。ただし、ユーザーが属 AWS アカウントする は Amazon DocumentDB リソースを所有しています。
+ Amazon DocumentDB リソースを作成するアクセス許可 AWS アカウント を持つ で IAM ロールを作成する場合、ロールを引き受けることができるすべてのユーザーが Amazon DocumentDB リソースを作成できます。ロールが属 AWS アカウントする は、Amazon DocumentDB リソースを所有します。

## リソースへのアクセスの管理
<a name="UsingWithRDS.IAM.AccessControl.ManagingAccess"></a>

*アクセス権限ポリシー* では、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス許可ポリシーを作成するために使用可能なオプションについて説明します。

**注記**  
このセクションでは、Amazon DocumentDB のコンテキストでの IAM の使用について説明します。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、「*IAM ユーザーガイド*」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。IAM ポリシーの構文の詳細と説明については、*IAM ユーザーガイド* の [AWSIAM IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) を参照してください。

IAM ID にアタッチされているポリシーは、*ID ベース* のポリシー (IAM ポリシー) と呼ばれます。リソースにアタッチされているポリシーは、*リソースベース* のポリシーと呼ばれます。Amazon DocumentDB では、アイデンティティベースのポリシー (IAM ポリシー) のみをサポートしています。

**Topics**
+ [アイデンティティベースのポリシー (IAM ポリシー）](#UsingWithRDS.IAM.AccessControl.ManagingAccess.IdentityBased)
+ [リソースベースのポリシー](#UsingWithRDS.IAM.AccessControl.ManagingAccess.ResourceBased)

### アイデンティティベースのポリシー (IAM ポリシー）
<a name="UsingWithRDS.IAM.AccessControl.ManagingAccess.IdentityBased"></a>

ポリシーを IAM アイデンティティにアタッチできます。例えば、次のオペレーションを実行できます。
+ **アカウントのユーザーまたはグループにアクセス許可ポリシーを付与する** - アカウント管理者は、特定のユーザーに関連付けられているアクセス許可ポリシーを使用して、そのユーザーにインスタンスなどの Amazon DocumentDB リソースを作成するためのアクセス許可を付与できます。
+ **アクセス権限ポリシーをロールにアタッチする (クロスアカウントの許可を付与)** - ID ベースのアクセス権限ポリシーを IAM ロールにアタッチして、クロスアカウントの権限を付与することができます。たとえば、管理者は次のように、別の AWS アカウント または AWS サービスにクロスアカウントアクセス許可を付与するロールを作成できます。

  1. アカウント A の管理者は、IAM ロールを作成して、アカウント A のリソースに許可を付与するロールに許可ポリシーをアタッチします。

  1. アカウント A の管理者は、アカウント B をそのロールを引き受けるプリンシパルとして識別するロールに、信頼ポリシーをアタッチします。

  1. アカウント B の管理者は、アカウント B の任意のユーザーにロールを引き受けるアクセス許可を委任できます。これにより、アカウント B のユーザーはアカウント A のリソースを作成またはアクセスできます。ロールを引き受けるアクセス許可を AWS サービスに付与する場合、信頼ポリシーのプリンシパルは AWS サービスプリンシパルになることもできます。

   IAM を使用した許可の委任の詳細については、「IAM ユーザーガイド」の「[アクセス管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)」を参照してください。

以下は、ID `123456789012` を持つユーザーが AWS アカウントのインスタンスを作成できるようにするポリシーの例です。新しいインスタンスでは、オプショングループと `default` で始まるパラメータグループ、および `default` サブネットグループを使用する必要があります。

------
#### [ 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"
            ]
        }
    ]
}
```

------

Amazon DocumentDB でアイデンティティベースのポリシーを使用する場合の詳細については、[Amazon DocumentDB のアイデンティティベースのポリシー (IAM ポリシー) の使用](UsingWithRDS.IAM.AccessControl.IdentityBased.md) を参照してください。ユーザー、グループ、ロール、許可の詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」の「*アイデンティティ (ユーザー、グループ、ロール)*」を参照してください。

### リソースベースのポリシー
<a name="UsingWithRDS.IAM.AccessControl.ManagingAccess.ResourceBased"></a>

Amazon S3 (Amazon Simple Storage Service) などその他のサービスでは、リソースベースの権限ポリシーがサポートされています。例えば、ポリシーを Amazon S3 バケットにアタッチして、そのバケットに対するアクセス許可を管理できます。Amazon DocumentDB では、リソースベースのポリシーはサポートされていません。

## ポリシー要素の指定 : アクション、効果、リソース、プリンシパル
<a name="SpecifyingIAMPolicyActions-RDS"></a>

Amazon DocumentDB リソースごとに ([Amazon DocumentDB リソースおよびオペレーション](#CreatingIAMPolicies-RDS) を参照)、そのサービスは、API オペレーションの設定を定義します。詳細については、「[アクション](https://docs.aws.amazon.com/redshift/latest/APIReference/API_Operations.html)」を参照してください。これらのAPIオペレーションの権限を付与するために、Amazon DocumentDB はポリシーで指定できる一連のアクションを定義します。1 つの API オペレーションの実行で、複数のアクションのアクセス権限が必要になる場合があります。

以下は、基本的なポリシーの要素です。
+ **リソース** – ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。
+ **[Action]** (アクション) - アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。例えば、`rds:DescribeDBInstances` 権限は、`DescribeDBInstances` オペレーションの実行をユーザーに許可します。
+ **効果** – ユーザーが特定のアクションを要求する際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に付与 (許可) していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。
+ **プリンシパル** - ID ベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限(リソースベースのポリシーにのみ適用)を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。Amazon DocumentDB では、リソースベースのポリシーはサポートされていません。

IAM ポリシーの構文と記述の詳細については、「*IAM ユーザーガイド*」の「[AWS IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

すべての Amazon DocumentDB API アクションとそれらが適用されるリソースを示す表については、[Amazon DocumentDB API のアクセス許可: アクション、リソース、条件リファレンス](UsingWithRDS.IAM.ResourcePermissions.md) を参照してください。

## ポリシーでの条件の指定
<a name="SpecifyingIAMPolicyConditions-RDS"></a>

許可を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「*IAM ユーザーガイド*」の「[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)」を参照してください。

条件を表すには、あらかじめ定義された条件キーを使用します。Amazon DocumentDB には、IAM ポリシーで使用できるサービス固有のコンテキストキーはありません。すべてのサービスで使用できるグローバル条件コンテキストキーのリストについては、*IAM ユーザーガイド* の[条件に使用可能なキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) を参照してください。