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

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

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

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

でアクセスを制御するには AWS 、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは のオブジェクト AWS であり、アイデンティティまたはリソースに関連付けられると、そのアクセス許可を定義します。 は、プリンシパル (ユーザー、ルートユーザー、またはロールセッション) がリクエストを行うときに、これらのポリシー AWS を評価します。ポリシーでの権限により、リクエストが許可されるか拒否されるかが決まります。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの構造と内容の詳細については、IAM ユーザーガイドJSON ポリシー概要を参照してください。

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

デフォルトでは、ユーザーやロールに権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。その後、管理者はロールに IAM ポリシーを追加し、ユーザーはロールを引き受けることができます。

IAM ポリシーは、オペレーションの実行方法を問わず、アクションの許可を定義します。例えば、iam:GetRole アクションを許可するポリシーがあるとします。そのポリシーを持つユーザーは、 AWS Management Console、、 AWS CLIまたは AWS API からロール情報を取得できます。

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

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

アイデンティティベースのポリシーは、さらにインラインポリシーまたはマネージドポリシーに分類できます。インラインポリシーは、単一のユーザー、グループ、またはロールに直接埋め込まれています。管理ポリシーは、 内の複数のユーザー、グループ、ロールにアタッチできるスタンドアロンポリシーです AWS アカウント。管理ポリシーには、 AWS 管理ポリシーとカスタマー管理ポリシーが含まれます。管理ポリシーまたはインラインポリシーのいずれかを選択する方法については、「IAM ユーザーガイド」の「管理ポリシーとインラインポリシーのいずれかを選択する」を参照してください。

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

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

AWS 組織内の AWS アカウントに Amazon Neptune をデプロイするお客様は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 は現在、クロスアカウントアクセスコントロールをサポートしていません。