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

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

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

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

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

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

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

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

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

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

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

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

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

AWS 組織内の AWS アカウントに Amazon Neptune をデプロイするお客様は、 SCPsを活用して、Neptune を使用できるアカウントを制御できます。メンバーアカウント内の Neptune へのアクセスを確実にするために、 neptune:*neptune-db:*をそれぞれ使用して、コントロールプレーンとデータプレーンの両方のIAMアクションへのアクセスを許可してください。

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 分かかります。

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

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

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

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

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

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

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

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

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

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

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

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

条件を表現するには、ポリシーステートメントの Condition要素で事前定義された条件キーと、 以下などのIAM条件ポリシー演算子を使用します。

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

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

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

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

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

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

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

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

あり

可能

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

不可

なし

ポリシーアクション

あり

可能

ポリシーリソース

あり

可能

グローバル条件キー

可能

(サブセット)

タグベースの条件キー

可能

不可

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

不可

なし

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

あり

可能

サービスリンクロール

可能

不可

IAM ポリシーの制限事項

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

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

Neptune は現在、クロスアカウントアクセスコントロールをサポートしていません。