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.
Politiques d'autorisation pour créer, modifier et supprimer des ressources dans Aurora
Les sections suivantes présentent des exemples de politiques d'autorisation qui accordent et limitent l'accès aux ressources :
Autoriser un utilisateur à créer des instances de base de données dans un AWS compte
Voici un exemple de politique qui permet au compte doté de l'ID de 123456789012
créer des instances de base de données pour votre AWS compte. La stratégie exige que le nom de la nouvelle instance de base de données commence par test
. La nouvelle instance de base de données doit également utiliser le moteur de SQL base de données My et la classe d'db.t2.micro
instance de base de données. En outre, la nouvelle instance de base de données doit utiliser un groupe d'options et un groupe de paramètres de base de données commençant par default
, et elle doit utiliser le groupe de sous-réseaux default
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }
La stratégie inclut une instruction unique spécifiant les autorisations suivantes pour l'utilisateur :
La politique permet au compte de créer une instance de base de données à l'aide de l'reateDBInstanceAPIopération C (cela s'applique également à la create-db-instance AWS CLI commande et au AWS Management Console).
L'élément
Resource
spécifie que l'utilisateur peut effectuer des actions sur et avec des ressources. Vous spécifiez les ressources à l'aide d'un Amazon Resources Name (ARN). Cela ARN inclut le nom du service auquel appartient la ressource (rds
), la AWS région (*
indique n'importe quelle région dans cet exemple), le numéro de AWS compte (123456789012
il s'agit du numéro de compte dans cet exemple) et le type de ressource. Pour plus d'informations sur la créationARNs, consultezNoms des ressources Amazon (ARNs) dans Amazon RDS.L'élément
Resource
dans l'exemple spécifie les contraintes de stratégie suivantes sur les ressources de l'utilisateur :L'identifiant d'instance de base de données de la nouvelle instance de base de données doit commencer par
test
(par exemple,testCustomerData1
,test-region2-data
).Le groupe d'options de la nouvelle instance de base de données doit commencer par
default
.Le groupe de paramètres de base de données de la nouvelle instance de base de données doit commencer par
default
.Le groupe de sous-réseaux de la nouvelle instance de base de données doit être le groupe de sous-réseaux
default
.
L'
Condition
élément indique que le moteur de base de données doit être My SQL et que la classe d'instance de base de données doit l'êtredb.t2.micro
. L'élémentCondition
indique les conditions lorsqu'une stratégie doit entrer en vigueur. Vous pouvez ajouter des autorisations ou des restrictions supplémentaires à l'aide de l'élémentCondition
. Pour plus d'informations sur la spécification de conditions, consultez Clés de conditions de politique pour Aurora. Cet exemple spécifie les conditionsrds:DatabaseEngine
etrds:DatabaseClass
. Pour plus d'informations sur les valeurs de condition valides pourrds:DatabaseEngine
, consultez la liste sous leEngine
paramètre en reateDBInstanceC. Pour plus d'informations sur les valeurs de conditions valides pourrds:DatabaseClass
, veuillez consulter Moteurs de base de données pris en charge pour les classes d'instance de base de données.
La politique ne spécifie pas l'élément Principal
car, dans une politique basée sur une identité, vous ne spécifiez pas le principal qui obtient l'autorisation. Quand vous attachez une politique à un utilisateur, l'utilisateur est le principal implicite. Lorsque vous associez une politique d'autorisation à un IAM rôle, le principal identifié dans la politique de confiance du rôle obtient les autorisations.
Pour consulter la liste des actions Aurora, consultez la section Actions définies par Amazon RDS dans le Service Authorization Reference.
Autoriser un utilisateur à effectuer n'importe quelle action de description sur n'importe quelle RDS ressource
La politique d'autorisation suivante accorde des autorisations à un utilisateur lui permettant d'exécuter toutes les actions commençant par Describe
. Ces actions affichent des informations sur une RDS ressource, telle qu'une instance de base de données. Le caractère générique (*) dans l'Resource
élément indique que les actions sont autorisées pour toutes les ressources Amazon Aurora détenues par le compte.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRDSDescribe", "Effect": "Allow", "Action": "rds:Describe*", "Resource": "*" } ] }
Autoriser un utilisateur à créer une instance de base de données qui utilise le groupe de paramètres de base de données et le groupe de sous-réseau spécifiés
La politique d'autorisation suivante accorde des autorisations permettant à un utilisateur de créer uniquement une instance de base de données devant utiliser le groupe de paramètres de base de données mydbpg
et le groupe de sous-réseau de base de données mydbsubnetgroup
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:*:*:pg:mydbpg", "arn:aws:rds:*:*:subgrp:mydbsubnetgroup" ] } ] }
Accorder une autorisation pour des actions sur une ressource à l'aide d'une balise spécifique avec deux valeurs différentes
Vous pouvez utiliser les conditions de votre politique basée sur l'identité pour contrôler l'accès aux ressources Amazon en fonction de balises. La politique suivante autorise l'exécution de l'CreateDBSnapshot
APIopération sur des instances de base de données dont la stage
balise est définie sur development
outest
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
La politique suivante autorise l'exécution de l'ModifyDBInstance
APIopération sur des instances de base de données dont la stage
balise est définie sur development
outest
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
Empêcher un utilisateur de supprimer une instance de base de données
La politique d'autorisation suivante accorde des autorisations empêchant un utilisateur de supprimer une instance de base de données spécifique. Par exemple, il est possible de refuser la capacité à supprimer vos instances de base de données de production à un utilisateur quelconque qui n'est pas un administrateur.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDelete1", "Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-mysql-instance" } ] }
Refuser tout accès à une ressource
Vous pouvez refuser explicitement l'accès à une ressource. Les politiques de refus ont priorité sur les politiques d'autorisation. La politique suivante refuse explicitement à un utilisateur la possibilité de gérer une ressource :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "rds:*", "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb" } ] }