Exemples de politiques d'accès aux données Neptune IAM - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de politiques d'accès aux données Neptune IAM

Les exemples suivants montrent comment créer des politiques IAM personnalisées qui utilisent des actions d'accès aux données pour contrôler l'accès aux données d'un cluster de base de données Neptune de manière spécifique et granulaire.

Exemple de politique autorisant un accès illimité aux données d'un cluster de base de données Neptune

L'exemple de stratégie suivant autorise un utilisateur IAM à se connecter à un cluster de bases de données Neptune à l'aide de l'authentification de base de données IAM. Pour ce faire, utilise la*« personnage correspondant à toutes les actions disponibles.

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

L'exemple précédent inclut un ARN de ressource dans un format propre à l'authentification Neptune IAM. Pour créer l'ARN, voirDéfinition des ressources de données. Notez que l'ARN utilisé pour une autorisation IAMResourcen'est pas identique à l'ARN attribué au cluster lors de sa création.

Exemple de stratégie autorisant l'accès en lecture seule à un cluster de bases de données Neptune

La politique suivante autorise l'accès complet en lecture seule aux données d'un cluster de bases de données Neptune :

{ "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/*" } ] }

Exemple de politique refusant tout accès à un cluster de base de données Neptune

L'action IAM par défaut consiste à refuser l'accès à un cluster de base de données sauf siAllow Effetest accordé. Toutefois, la politique suivante refuse tout accès à un cluster de base de données pour unAWScompte et région, qui prévalent alors sur toutAlloweffet.

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

Exemple de politique accordant un accès en lecture via des requêtes

La politique suivante accorde uniquement l'autorisation de lire à partir d'un cluster de base de données Neptune à l'aide d'une requête :

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

Exemple de politique qui autorise uniquement les requêtes Gremlin

La politique suivante utilise leneptune-db:QueryLanguageclé de condition pour autoriser l'interrogation de Neptune uniquement en utilisant le langage de requête Gremlin :

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

Exemple de politique autorisant tous les accès sauf à la gestion des modèles Neptune ML

La stratégie suivante accorde l'accès total aux opérations graphiques de Neptune, à l'exception des fonctionnalités de gestion de modèles Neptune ML :

{ "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/*" } ] }

Exemple de politique autorisant l'accès à la gestion des modèles Neptune ML

Cette politique donne accès aux fonctionnalités de gestion des modèles de 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/*" } ] }

Exemple de politique accordant un accès complet aux requêtes

La politique suivante accorde un accès complet aux opérations de requête graphique de Neptune, mais pas aux fonctionnalités telles que la réinitialisation rapide, les flux, le chargeur en bloc, la gestion des modèles Neptune ML, etc. :

{ "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/*" } ] }

Exemple de politique accordant un accès complet aux requêtes Gremlin uniquement

La politique suivante accorde un accès complet aux opérations de requête graphique Neptune à l'aide du langage de requête Gremlin, mais pas aux requêtes dans d'autres langues, ni à des fonctionnalités telles que la réinitialisation rapide, les flux, le chargeur en bloc, la gestion du modèle Neptune ML, etc.

{ "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" } } } ] }

Exemple de politique accordant un accès complet sauf pour une réinitialisation rapide

La stratégie suivante accorde l'accès total à un cluster de bases de données Neptune, à l'exception de l'utilisation de la réinitialisation rapide :

{ "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/*" } ] }