IAM ポリシーを使用した Amazon Neptune データベースへのアクセスの管理 - Amazon Neptune

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

IAM ポリシーを使用した Amazon Neptune データベースへのアクセスの管理

IAM ポリシーは、アクションとリソースを使用するアクセス許可を定義する JSON オブジェクトです。

でアクセスを制御するAWSには、ポリシーを作成し、ID AWSまたはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられている場合のアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシーAWSを評価します。ほとんどのポリシーは JSON ドキュメントAWSとして に保存されます。JSON ポリシードキュメントの詳細については、「IAM ユーザーガイド」の「JSON ポリシー概要」を参照してください。

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

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

アイデンティティベースのポリシー

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

アイデンティティベースのポリシーは、インラインポリシー (単一のアイデンティティに直接埋め込む) または管理ポリシー (複数のアイデンティティにアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「IAM ユーザーガイド」の「管理ポリシーとインラインポリシーのいずれかを選択する」を参照してください。

AWS組織でのサービスコントロールポリシー (SCP) の使用

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

Amazon Neptune をAWS組織内のAWSアカウントにデプロイするお客様はSCPs を活用して Neptune を使用できるアカウントを制御できます。メンバーアカウント内の Neptune へのアクセスを確保するには、次の点に注意してください。

Amazon Neptune コンソールを使用するために必要なアクセス許可

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

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

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

IAM ポリシーを IAM ユーザーにアタッチする

管理ポリシーまたはカスタムポリシーを適用するには、IAM ユーザーにアタッチします。このトピックに関するチュートリアルについては、IAM ユーザーガイドはじめてのカスタマー管理ポリシーの作成とアタッチを参照してください。

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

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

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

Neptune へのアクセスを制御するためのさまざまな種類の IAM ポリシーの使用

Neptune の管理アクションまたは Neptune DB クラスター内のデータへのアクセスを提供するには、IAM ユーザーまたはロールにポリシーをアタッチします。IAM ポリシーをユーザーにアタッチする方法については、「IAM ポリシーを IAM ユーザーにアタッチする」を参照してください。ロールにポリシーをアタッチする方法については、IAM ポリシーの追加と削除IAM ユーザーガイドを参照してください。

Neptune への一般的なアクセスには、Neptune の管理ポリシーのいずれかを使用できます。アクセスをさらに制限したい場合は、Neptune がサポートする管理アクションリソースを使用して独自のカスタムポリシーを作成できます。

カスタム IAM ポリシーでは、Neptune DB クラスターへのさまざまなアクセスモードを制御する 2 種類のポリシーステートメントを使用できます。

  • 管理ポリシーステートメント — 管理ポリシーステートメントは、DB クラスターとそのインスタンスの作成、設定、管理に使用する Neptune 管理 API へのアクセスを提供します。

    Neptune は Amazon RDS と機能を共有しているため、Neptune ポリシーの管理アクション、リソース、および条件キーは設計により rds: プレフィックスを使用します。

  • データアクセスポリシーステートメント — データアクセスポリシーステートメントは、データアクセスアクションリソース、および条件キーを使用して、DB クラスターに含まれるデータへのアクセスを制御します。

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

Amazon Neptune での IAM 条件コンテキストキーの使用

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

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

条件を表すには、「等しい」や「より小さい」などの IAM 条件ポリシー演算子 とともに、ポリシーステートメントの Condition 要素であらかじめ定義された条件キーを使用します。

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

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

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

Neptune は、管理ポリシーステートメントについて、データアクセスポリシーステートメントとは異なる条件キーのセットをサポートしています。

Amazon Neptune での IAM ポリシーとアクセスコントロール機能のサポート

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

Neptune で使用できる IAM 機能
IAM の特徴量 管理 データアクセス

アイデンティティベースのポリシー

はい

はい

リソースベースのポリシー

いいえ

不可

ポリシーアクション

はい

はい

ポリシーリソース

はい

はい

グローバル条件キー

はい

(サブセット)

タグベースの条件キー

はい

なし

アクセスコントロールリスト (ACL)

いいえ

不可

サービスコントロールポリシー (SCP)

はい

はい

サービスリンクロール

はい

なし

IAM ポリシーの制限

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

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

Neptune は現在、データプレーンレベルでのクロスアカウントアクセスコントロールをサポートしていません。クロスアカウントアクセスコントロールは、一括ロード時とロールチェーンの使用時にのみサポートされます。詳細については、「一括ロードのチュートリアル」を参照してください。