Amazon Neptune での IAM データアクセスポリシーの作成 - Amazon Neptune

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

Amazon Neptune での IAM データアクセスポリシーの作成

次の例は、Neptune エンジンリリースバージョン 1.2.0.0 で導入されたデータプレーン IAM および アクションのきめ細かなアクセスコントロールを使用するカスタム APIs ポリシーを作成する方法を示しています。

Neptune DB クラスター内のデータへの無制限アクセスを許可するポリシーの例

次のポリシー例では、IAM ユーザーが Word IAM データベース認証を使用して Neptune DB クラスターに接続することを許可し、*「」文字を使用して使用可能なすべてのアクションを照合します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

前の例には、Neptune ARN 認証に固有の形式のリソース IAM が含まれています。ARN を作成するには、「データリソースの指定」を参照してください。ARN 認可に使用される IAM Resourceは、作成時にクラスターに割り当てられた ARN と同じではないことに注意してください。

Neptune DB クラスターへの読み取り専用アクセスを許可するポリシーの例

以下のポリシーは、Neptune DB クラスター内のデータへの完全な読み取り専用アクセスのためのアクセス許可を付与します。

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:Read*", "neptune-db:Get*", "neptune-db:List*" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Neptune DB クラスターへのすべてのアクセスを拒否するポリシーの例

デフォルトの IAM アクションでは、効果が許可されていない限り、DB Allow クラスターへのアクセスを拒否します。ただし、次のポリシーでは、特定の AWS アカウントとリージョンの DB クラスターへのすべてのアクセスを拒否します。このアクセスは、すべてのAllow効果よりも優先されます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

クエリを通じて読み取りアクセスを許可するポリシーの例

次のポリシーは、クエリを使用して Neptune DB クラスターから読み取るアクセス許可のみを付与します。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:ReadDataViaQuery", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Gremlin クエリのみを許可するポリシーの例

次のポリシーは、neptune-db:QueryLanguage 条件キーを使用して、Gremlin クエリ言語のみを使用して Neptune をクエリするアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery" ], "Resource": "*", "Condition": { "StringEquals": { "neptune-db:QueryLanguage": "Gremlin" } } } ] }

Neptune ML モデル管理を除くすべてのアクセスを許可するポリシーの例

次のポリシーは、Neptune ML モデル管理機能を除く Neptune グラフ操作へのフルアクセスを許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:CancelLoaderJob", "neptune-db:CancelQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:DeleteStatistics", "neptune-db:GetEngineStatus", "neptune-db:GetLoaderJobStatus", "neptune-db:GetQueryStatus", "neptune-db:GetStatisticsStatus", "neptune-db:GetStreamRecords", "neptune-db:ListLoaderJobs", "neptune-db:ManageStatistics", "neptune-db:ReadDataViaQuery", "neptune-db:ResetDatabase", "neptune-db:StartLoaderJob", "neptune-db:WriteDataViaQuery" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Neptune ML モデル管理へのアクセスを許可するポリシーの例

このポリシーは、Neptune ML モデル管理機能へのアクセスを許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:CancelMLDataProcessingJob", "neptune-db:CancelMLModelTrainingJob", "neptune-db:CancelMLModelTransformJob", "neptune-db:CreateMLEndpoint", "neptune-db:DeleteMLEndpoint", "neptune-db:GetMLDataProcessingJobStatus", "neptune-db:GetMLEndpointStatus", "neptune-db:GetMLModelTrainingJobStatus", "neptune-db:GetMLModelTransformJobStatus", "neptune-db:ListMLDataProcessingJobs", "neptune-db:ListMLEndpoints", "neptune-db:ListMLModelTrainingJobs", "neptune-db:ListMLModelTransformJobs", "neptune-db:StartMLDataProcessingJob", "neptune-db:StartMLModelTrainingJob", "neptune-db:StartMLModelTransformJob" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

クエリのフルアクセスを許可するポリシーの例

次のポリシーは、Neptune グラフクエリ操作へのフルアクセスを許可しますが、高速リセット、ストリーム、バルクローダー、Neptune ML モデル管理などの機能へのアクセスは許可しません。

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:GetEngineStatus", "neptune-db:GetQueryStatus", "neptune-db:CancelQuery" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Gremlin クエリにのみフルアクセスを許可するポリシーの例

次のポリシーは、Gremlin クエリ言語を使用した Neptune グラフクエリ操作へのフルアクセスを許可しますが、他の言語でのアクセスや、高速リセット、ストリーム、バルクローダー、Neptune ML モデル管理などの機能へのアクセスは許可しません。

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:GetEngineStatus", "neptune-db:GetQueryStatus", "neptune-db:CancelQuery" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" ], "Condition": { "StringEquals": { "neptune-db:QueryLanguage":"Gremlin" } } } ] }

高速リセット以外のフルアクセスを許可するポリシーの例

次のポリシーは、高速リセットの使用を除き、Neptune DB クラスターへのフルアクセスを付与します。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" }, { "Effect": "Deny", "Action": "neptune-db:ResetDatabase", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }