

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

# IAM ポリシーを使用した Amazon Neptune データベースへのアクセスの管理
<a name="security-iam-access-manage"></a>

[IAM ポリシーは](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)、アクションとリソースを使用するアクセス許可を定義する JSON オブジェクトです。

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

## アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

## AWS 組織でのサービスコントロールポリシー (SCP) の使用
<a name="security_iam_access-manage-scp"></a>

サービスコントロールポリシー (SCPs) は、 の組織または組織単位 (OU) の最大アクセス許可を指定する JSON ポリシー[AWS Organizations](https://aws.amazon.com/organizations/)です。 AWS Organizations は、ビジネスが所有する複数の AWS アカウントをグループ化して一元管理するためのサービスです。組織内のすべての機能を有効にすると、サービスコントロールポリシー (SCP) を一部またはすべてのアカウントに適用できます。SCP は、各アカウントのルートユーザーを含む、メンバー AWS アカウントのエンティティのアクセス許可を制限します。Organizations と SCPs[SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html)」を参照してください。 AWS Organizations 

Amazon Neptune を AWS 組織内の AWS アカウントにデプロイするお客様はSCPs を活用して、Neptune を使用できるアカウントを制御できます。メンバーアカウント内の Neptune へのアクセスを確保するには、次の点に注意してください。
+  Neptune データベースオペレーションの `rds:*` および `neptune-db:*` へのアクセスを許可します。Neptune データベースに対して Amazon RDS のアクセス許可が必要な理由の詳細については、「[Neptune データベースを使用するために Amazon RDS のアクセス許可とリソースが必要な理由](https://aws.amazon.com/neptune/faqs/)」を参照してください。
+  Neptune Analytics オペレーションの `neptune-graph:*` へのアクセスを許可します。

## Amazon Neptune コンソールを使用するために必要なアクセス許可
<a name="security-iam-access-manage-console"></a>

Amazon Neptune コンソールを使用するユーザーには、最小限のアクセス権限のセットが必要です。これらのアクセス許可により、ユーザーは AWS アカウントの Neptune リソースを記述し、Amazon EC2 セキュリティやネットワーク情報など、その他の関連情報を提供できます。

これらの最小限必要なアクセス許可よりも制限された IAM ポリシーを作成している場合、その IAM ポリシーを使用するユーザーに対してコンソールは意図したとおりには機能しません。それらのユーザーが Neptune コンソールを引き続き使用するためには、`NeptuneReadOnlyAccess` で説明しているように、[AWS マネージドポリシーを使用した Amazon Neptune データベースへのアクセス](security-iam-access-managed-policies.md) 管理ポリシーをユーザーにもアタッチします。

 AWS CLI または Amazon Neptune API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。

## IAM ポリシーを IAM ユーザーにアタッチする
<a name="iam-auth-policy-attaching"></a>

管理ポリシーまたはカスタムポリシーを適用するには、IAM ユーザーにアタッチします。このトピックに関するチュートリアルについては、*IAM ユーザーガイド*の[はじめてのカスタマー管理ポリシーの作成とアタッチ](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html)を参照してください。

チュートリアルを進める際に、このセクションに記載されているいずれかのポリシー例をスタート点として使用し、ニーズに合わせて調整することができます。チュートリアルを完了すると、`neptune-db:*` アクションの使用を許可するポリシーが IAM ユーザーにアタッチされます。

**重要**  
IAM ポリシーへの変更は、指定された Neptune リソースへの適用に最大で 10 分かかります。
Neptune DB クラスターに適用された IAM ポリシーは、そのクラスター内のすべてのインスタンスに適用されます。

## Neptune へのアクセスを制御するためのさまざまな種類の IAM ポリシーの使用
<a name="iam-auth-policy"></a>

Neptune の管理アクションまたは Neptune DB クラスター内のデータへのアクセスを提供するには、IAM ユーザーまたはロールにポリシーをアタッチします。IAM ポリシーをユーザーにアタッチする方法については、「[IAM ポリシーを IAM ユーザーにアタッチする](#iam-auth-policy-attaching)」を参照してください。ロールにポリシーをアタッチする方法については、[IAM ポリシーの追加と削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)の*IAM ユーザーガイド*を参照してください。

Neptune への一般的なアクセスには、Neptune の[管理ポリシー](security-iam-access-managed-policies.md)のいずれかを使用できます。アクセスをさらに制限したい場合は、Neptune がサポートする[管理アクション](neptune-iam-admin-actions.md)と[リソース](iam-admin-resources.md)を使用して独自のカスタムポリシーを作成できます。

カスタム IAM ポリシーでは、Neptune DB クラスターへのさまざまなアクセスモードを制御する 2 種類のポリシーステートメントを使用できます。
+ [管理ポリシーステートメント](iam-admin-policies.md) — 管理ポリシーステートメントは、DB クラスターとそのインスタンスの作成、設定、管理に使用する [Neptune 管理 API](api.md) へのアクセスを提供します。

  Neptune は Amazon RDS と機能を共有しているため、Neptune ポリシーの管理アクション、リソース、および条件キーは設計により `rds:` プレフィックスを使用します。
+ [データアクセスポリシーステートメント](iam-data-access-policies.md) — データアクセスポリシーステートメントは、[データアクセスアクション](iam-dp-actions.md)、[リソース](iam-data-resources.md)、および[条件キー](iam-data-condition-keys.md#iam-neptune-condition-keys)を使用して、DB クラスターに含まれるデータへのアクセスを制御します。

  Neptune データアクセスアクション、リソース、および条件キーは、`neptune-db:` プレフィックスを使用します。

## Amazon Neptune での IAM 条件コンテキストキーの使用
<a name="iam-using-condition-keys"></a>

Neptune へのアクセスを制御する IAM ポリシーステートメントで条件を指定できます。ポリシーステートメントは、条件が true の場合にのみ有効です。

例えば、特定の日付の後にのみ適用されるポリシーステートメントや、リクエストに特定の値が存在する場合のみアクセスが許可されるポリシーステートメントが必要になる場合があります。

条件を表すには、「等しい」や「より小さい」などの [IAM 条件ポリシー演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) とともに、ポリシーステートメントの [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 要素であらかじめ定義された条件キーを使用します。

1 つのステートメントに複数の `Condition` 要素を指定する場合、または 1 つの `Condition` 要素に複数のキーを指定する場合、 AWS では `AND` 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理`OR`オペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

 条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、*「IAM ユーザーガイド」*の[「IAM Policy Elements: Variables and Tags」](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)(IAM ポリシーの要素: 変数およびタグ) を参照してください。

条件キーのデータ型によって、リクエスト内の値とポリシーステートメント内の値の比較に使用できる条件演算子が決まります。そのデータ型と互換性のない条件演算子を使用した場合、条件は一致しないため、ポリシーステートメントは適用されません。

Neptune は、管理ポリシーステートメントについて、データアクセスポリシーステートメントとは異なる条件キーのセットをサポートしています。
+ [管理ポリシーステートメントの条件キー](iam-admin-condition-keys.md)
+ [データアクセスポリシーステートメントの条件キー](iam-data-condition-keys.md#iam-neptune-condition-keys)

## Amazon Neptune での IAM ポリシーとアクセスコントロール機能のサポート
<a name="neptune-iam-policy-support"></a>

次の表は、Neptune が管理ポリシーステートメントとデータアクセスポリシーステートメントについてサポートする IAM 機能を示しています。


**Neptune で使用できる IAM 機能**  

| IAM 機能 | 管理 | データアクセス | 
| --- | --- | --- | 
| [アイデンティティベースのポリシー](#security_iam_access-manage-id-based-policies) | はい | はい | 
| [リソースベースのポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) | いいえ | いいえ | 
| [ポリシーアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) | はい | はい | 
| [ポリシーリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) | はい | はい | 
| [グローバル条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) | はい | (サブセット) | 
| [タグベースの条件キー](iam-admin-condition-keys.md#iam-rds-tag-based-condition-keys) | はい | いいえ | 
| [アクセスコントロールリスト (ACL) ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) | いいえ | いいえ | 
| [サービスコントロールポリシー (SCP)](#security_iam_access-manage-scp) | はい | はい | 
| [サービスリンクロール](security-iam-service-linked-roles.md) | はい | いいえ | 

## IAM ポリシーの制限
<a name="iam-policy-limits"></a>

IAM ポリシーへの変更は、指定された Neptune リソースへの適用に最大で 10 分かかります。

Neptune DB クラスターに適用された IAM ポリシーは、そのクラスター内のすべてのインスタンスに適用されます。

Neptune は現在、データプレーンレベルでのクロスアカウントアクセスコントロールをサポートしていません。クロスアカウントアクセスコントロールは、一括ロード時とロールチェーンの使用時にのみサポートされます。詳細については、「[一括ロードのチュートリアル](https://docs.aws.amazon.com//neptune/latest/userguide/bulk-load-tutorial-chain-roles.html#bulk-load-tutorial-chain-cross-account)」を参照してください。