翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Neptune での IAM データアクセスポリシーの作成
以下の例は、Neptune エンジンリリースバージョン 1.2.0.0 で導入された、データプレーン API とアクションのきめ細かいアクセスコントロールを使用するカスタム IAM ポリシーを作成する方法を示しています。
Neptune DB クラスター内のデータへの無制限アクセスを許可するポリシーの例
次のサンプルポリシーは、IAM ユーザーが IAM データベース認証を使用して Neptune DB クラスターに接続し、「*
」文字を使用して使用可能なすべてのアクションに一致するのを許可します。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "neptune-db:*",
"Resource": "arn:aws:neptune-db:us-east-1
:123456789012
:cluster-ABCD1234EFGH5678IJKL90MNOP
/*"
}
]
}
上記のリソースセクションには、Neptune の IAM 認証に固有の形式であるリソース ARN が含まれます。ARN を作成するには、「データリソースの指定」を参照してください。IAM 承認 Resource
に使用される ARN は、クラスターの作成時に割り当てられる ARN とは異なることに注意してください。
Neptune DB クラスターへの読み取り専用アクセスを許可するポリシーの例
以下のポリシーは、Neptune DB クラスター内のデータへの完全な読み取り専用アクセスのためのアクセス許可を付与します。
- JSON
-
-
{
"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 アクションでは、Allow
Effect が付与されない限り、DB クラスターへのアクセスが拒否されます。ただし、次のポリシーでは、特定の AWS アカウントとリージョンの DB クラスターへのすべてのアクセスを拒否します。このアクセスは、Allow
効果よりも優先されます。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "neptune-db:*",
"Resource": "arn:aws:neptune-db:us-east-1
:123456789012
:cluster-ABCD1234EFGH5678IJKL90MNOP
/*"
}
]
}
クエリを通じて読み取りアクセスを許可するポリシーの例
次のポリシーは、クエリを使用して Neptune DB クラスターから読み取るアクセス許可のみを付与します。
- JSON
-
-
{
"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 をクエリするアクセス許可を付与します。
- JSON
-
-
{
"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 グラフ操作へのフルアクセスを許可します。
- JSON
-
-
{
"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 モデル管理機能へのアクセスを許可します。
- JSON
-
-
{
"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 モデル管理などの機能へのアクセスは許可しません。
- JSON
-
-
{
"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 モデル管理などの機能へのアクセスは許可しません。
- JSON
-
-
{
"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 クラスターへのフルアクセスを付与します。
- JSON
-
-
{
"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
/*"
}
]
}