View a markdown version of this page

Conditions requises pour configurer Amazon Neptune à l'aide de AWS CloudFormation - 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.

Conditions requises pour configurer Amazon Neptune à l'aide de AWS CloudFormation

Avant de créer un cluster Amazon Neptune à l'aide d'un CloudFormation modèle, vous devez disposer des éléments suivants :

  • Une paire de clés Amazon EC2

  • Les autorisations requises pour l'utilisation CloudFormation.

Créez une paire de clés Amazon EC2 à utiliser pour lancer un cluster Neptune à l'aide de CloudFormation

Pour lancer un cluster de bases de données Neptune à l'aide d'un CloudFormation modèle, vous devez disposer d'une paire Amazon EC2Key (et du fichier PEM associé) dans la région où vous créez la pile. CloudFormation

Si vous devez créer la paire de clés, consultez la section Création d'une paire de clés à l'aide d'Amazon EC2 dans le Guide de l'utilisateur Amazon EC2 ou Création d'une paire de clés à l'aide d'Amazon EC2 dans le Guide de l'utilisateur Amazon EC2 pour obtenir des instructions.

Ajoutez des politiques IAM pour accorder les autorisations nécessaires à l'utilisation du CloudFormation modèle

Tout d'abord, configurez un utilisateur IAM doté des autorisations nécessaires pour travailler avec Neptune, comme décrit dans Création d'un utilisateur IAM avec les autorisations nécessaires pour accéder à Neptune.

Ensuite, vous devez ajouter la politique AWS gérée à cet utilisateur. AWSCloudFormationReadOnlyAccess

Enfin, créez la politique gérée par le client suivante et ajoutez-la à cet utilisateur :

Important

Vous devez la créer en tant que politique gérée par le client, et non en tant que stratégie en ligne. La taille totale de toutes les politiques en ligne pour un utilisateur IAM ne peut pas dépasser 2 048 caractères autres que des espaces, et cette politique dépasse cette limite. Pour plus d'informations, consultez la section Limites de caractères IAM et STS dans le Guide de l'utilisateur IAM.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/*", "Condition": { "StringEquals": { "iam:passedToService": "rds.amazonaws.com" } } }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS", "Condition": { "StringLike": { "iam:AWSServiceName": "rds.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:ListSubscriptions", "sns:Publish" ], "Resource": "arn:aws:sns:*:111122223333:*" }, { "Effect": "Allow", "Action": [ "kms:ListRetirableGrants", "kms:ListKeys", "kms:ListAliases", "kms:ListKeyPolicies" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "arn:aws:cloudwatch:*:111122223333:service/*-*", "Condition": { "StringLike": { "cloudwatch:namespace": "AWS/Neptune" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute" ], "Resource": [ "arn:aws:ec2:*:111122223333:vpc/*", "arn:aws:ec2:*:111122223333:subnet/*", "arn:aws:ec2:*:111122223333:security-group/*" ] }, { "Effect": "Allow", "Action": [ "rds:CreateDBCluster", "rds:CreateDBInstance", "rds:AddTagsToResource", "rds:ListTagsForResource", "rds:RemoveTagsFromResource", "rds:RemoveRoleFromDBCluster", "rds:ResetDBParameterGroup", "rds:CreateDBSubnetGroup", "rds:ModifyDBParameterGroup", "rds:DownloadDBLogFilePortion", "rds:CopyDBParameterGroup", "rds:AddRoleToDBCluster", "rds:ModifyDBInstance", "rds:ModifyDBClusterParameterGroup", "rds:ModifyDBClusterSnapshotAttribute", "rds:DeleteDBInstance", "rds:CopyDBClusterParameterGroup", "rds:CreateDBParameterGroup", "rds:DescribeDBSecurityGroups", "rds:DeleteDBSubnetGroup", "rds:DescribeValidDBInstanceModifications", "rds:ModifyDBCluster", "rds:CreateDBClusterSnapshot", "rds:DeleteDBParameterGroup", "rds:CreateDBClusterParameterGroup", "rds:RemoveTagsFromResource", "rds:PromoteReadReplicaDBCluster", "rds:RestoreDBClusterFromSnapshot", "rds:DescribeDBSubnetGroups", "rds:DescribePendingMaintenanceActions", "rds:DescribeDBParameterGroups", "rds:FailoverDBCluster", "rds:DescribeDBInstances", "rds:DescribeDBParameters", "rds:DeleteDBCluster", "rds:ResetDBClusterParameterGroup", "rds:RestoreDBClusterToPointInTime", "rds:DescribeDBClusterSnapshotAttributes", "rds:AddTagsToResource", "rds:DescribeDBClusterParameters", "rds:CopyDBClusterSnapshot", "rds:DescribeDBLogFiles", "rds:DeleteDBClusterSnapshot", "rds:ListTagsForResource", "rds:RebootDBInstance", "rds:DescribeDBClusterSnapshots", "rds:DeleteDBClusterParameterGroup", "rds:ApplyPendingMaintenanceAction", "rds:DescribeDBClusters", "rds:DescribeDBClusterParameterGroups", "rds:ModifyDBSubnetGroup" ], "Resource": [ "arn:aws:rds:*:111122223333:cluster-snapshot:*", "arn:aws:rds:*:111122223333:cluster:*", "arn:aws:rds:*:111122223333:pg:*", "arn:aws:rds:*:111122223333:cluster-pg:*", "arn:aws:rds:*:111122223333:secgrp:*", "arn:aws:rds:*:111122223333:db:*", "arn:aws:rds:*:111122223333:subgrp:*" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": [ "graphdb", "neptune" ] } } }, { "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:111122223333:log-group:*:log-stream:*", "arn:aws:logs:*:111122223333:log-group:*" ] } ] }
Note

Les autorisations suivantes sont uniquement requises pour supprimer une pile : iam:DeleteRole, iam:RemoveRoleFromInstanceProfile, iam:DeleteRolePolicy, iam:DeleteInstanceProfile et ec2:DeleteVpcEndpoints.

Notez également que ec2:*Vpc accorde des autorisations ec2:DeleteVpc.