Création de politiques IAM d'accès aux données dans Amazon Neptune - 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.

Création de politiques IAM d'accès aux données dans Amazon Neptune

Les exemples suivants montrent comment créer des IAM politiques personnalisées qui utilisent un contrôle d'accès précis au plan de données APIs et aux actions, introduit dans la version 1.2.0.0 du moteur Neptune.

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

L'exemple de politique suivant permet à un IAM utilisateur de se connecter à un cluster de base de données Neptune à l'aide de l'authentification IAM de base de données et utilise le caractère « * » pour faire correspondre 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 une ressource ARN dans un format propre à l'authentification NeptuneIAM. Pour les créerARN, reportez-vous à la section Spécification des ressources de données. Notez que le montant ARN utilisé pour une IAM autorisation n'Resourceest pas le même que celui ARN attribué au cluster lors de sa création.

Exemple de politique 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 bases de données Neptune

L'IAMaction par défaut consiste à refuser l'accès à un cluster de base de données à moins qu'un Allow effet ne soit accordé. Cependant, la politique suivante refuse tout accès à un cluster de base de données pour un AWS compte et une région particuliers, ce qui a alors la priorité sur tout Allow effet.

{ "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 par le biais de requêtes

La politique suivante accorde uniquement l'autorisation de lire des données à partir d'un cluster de bases 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 autorisant uniquement les requêtes Gremlin

La politique suivante utilise la clé de condition neptune-db:QueryLanguage pour autoriser Neptune uniquement avec 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 l'accès à la gestion du modèle Neptune ML

La politique suivante accorde l'accès total aux opérations de graphes Neptune, à l'exception des fonctionnalités de gestion des 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 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 de graphe 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 de graphe Neptune à l'aide du langage de requête Gremlin, mais pas aux requêtes dans les autres langages ni à des 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/*" ], "Condition": { "StringEquals": { "neptune-db:QueryLanguage":"Gremlin" } } } ] }

Exemple de politique accordant un accès complet à l'exception de la réinitialisation rapide

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