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.
Rôles IAM pour les expériences AWS FIS
AWS Identity and Access Management (IAM) est un AWS service qui aide un administrateur à contrôler en toute sécurité l'accès aux AWS ressources. Pour utiliser le AWS FIS, vous devez créer un rôle IAM qui accorde au AWS FIS les autorisations nécessaires pour que le AWS FIS puisse exécuter des expériences en votre nom. Vous spécifiez ce rôle d'expérience lorsque vous créez un modèle d'expérience. Pour une expérience à compte unique, la politique IAM relative au rôle d'expérience doit autoriser la modification des ressources que vous spécifiez comme cibles dans votre modèle d'expérience. Dans le cas d'un test multi-comptes, le rôle d'expérimentation doit autoriser le rôle d'orchestrateur à assumer le rôle IAM pour chaque compte cible. Pour plus d’informations, consultez Autorisations pour les expériences multi-comptes.
Nous vous recommandons de suivre la pratique de sécurité standard consistant à accorder le moindre privilège. Vous pouvez le faire en spécifiant des ARN ou des balises de ressources spécifiques dans vos politiques.
Pour vous aider à démarrer rapidement avec AWS FIS, nous proposons des politiques AWS gérées que vous pouvez spécifier lorsque vous créez un rôle d'essai. Vous pouvez également utiliser ces politiques comme modèle lorsque vous créez vos propres documents de politique en ligne.
Table des matières
Prérequis
Avant de commencer, installez AWS CLI et créez la politique de confiance requise.
- Installer le AWS CLI
-
Avant de commencer, installez et configurez la AWS CLI. Lorsque vous configurez l'AWS CLI, vous êtes invité à entrer des informations d'identification AWS. Les exemples de cette procédure supposent que vous avez également configuré une région par défaut. Sinon, ajoutez l'option
--region
à chaque commande. Pour plus d'informations, consultez Installation ou mise à jour de la AWS CLI et Configuration de la AWS CLI. - Créez une politique de relation de confiance
-
Un rôle d'expérimentation doit avoir une relation de confiance qui permet au service AWS FIS d'assumer ce rôle. Créez un fichier texte nommé
fis-role-trust-policy.json
et ajoutez-y la politique de relation de confiance suivante.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Nous vous recommandons d’utiliser les clés de condition
aws:SourceAccount
etaws:SourceArn
pour vous protéger contre le problème du député confus. Le compte source est le propriétaire de l'expérience et l'ARN source est l'ARN de l'expérience. Par exemple, vous devez ajouter le bloc de conditions suivant à votre politique de confiance."Condition": { "StringEquals": { "aws:SourceAccount": "
account_id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:fis:region
:account_id
:experiment/*" } } - Ajouter des autorisations pour assumer les rôles de compte cible (tests multi-comptes uniquement)
-
Pour les expériences multi-comptes, vous avez besoin d'autorisations permettant au compte d'orchestrateur d'assumer les rôles de compte cible. Vous pouvez modifier l'exemple suivant et l'ajouter en tant que document de politique intégré pour assumer les rôles de compte cible :
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":[ "arn:aws:iam::
target_account_id
:role/role_name
" ] }
Option 1 : créer un rôle d'essai et associer une politique AWS gérée
Utilisez l'une des politiques AWS gérées par AWS FIS pour démarrer rapidement.
Pour créer un rôle d'essai et y associer une politique AWS gérée
-
Vérifiez qu'il existe une politique gérée pour les actions AWS FIS de votre expérience. Dans le cas contraire, vous devrez plutôt créer votre propre document de politique en ligne. Pour plus d’informations, consultez AWS politiques gérées pour le service d'injection de AWS défauts.
-
Utilisez la commande create-role suivante pour créer un rôle et ajouter la politique de confiance que vous avez créée dans les conditions préalables.
aws iam create-role --role-name
my-fis-role
--assume-role-policy-document file://fis-role-trust-policy.json
-
Utilisez la attach-role-policycommande suivante pour joindre la politique AWS gérée.
aws iam attach-role-policy --role-name
my-fis-role
--policy-arnfis-policy-arn
Où se
fis-policy-arn
trouve l'un des suivants :-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access
-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess
-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess
-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess
-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess
-
arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess
-
Option 2 : créer un rôle d'essai et ajouter un document de politique intégré
Utilisez cette option pour les actions qui n'ont pas de politique gérée, ou pour inclure uniquement les autorisations requises pour votre expérience spécifique.
Pour créer un test et ajouter un document de politique intégré
-
Utilisez la commande create-role suivante pour créer un rôle et ajouter la politique de confiance que vous avez créée dans les conditions préalables.
aws iam create-role --role-name
my-fis-role
--assume-role-policy-document file://fis-role-trust-policy.json
-
Créez un fichier texte nommé
fis-role-permissions-policy.json
et ajoutez-y une politique d'autorisation. Pour un exemple que vous pouvez utiliser comme point de départ, consultez ce qui suit.-
Actions d'injection de défauts : commencez par la politique suivante.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentRoleFaultInjectionActions", "Effect": "Allow", "Action": [ "fis:InjectApiInternalError", "fis:InjectApiThrottleError", "fis:InjectApiUnavailableError" ], "Resource": "arn:*:fis:*:*:experiment/*" } ] }
-
Actions Amazon EBS : commencez par la politique suivante.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" } ] }
-
Actions Amazon EC2 : commencez par la AWSFaultInjectionSimulatorEC2Accesspolitique.
-
Actions Amazon ECS : commencez par la AWSFaultInjectionSimulatorECSAccesspolitique.
-
Actions Amazon EKS : commencez par la AWSFaultInjectionSimulatorEKSAccesspolitique.
-
Actions réseau : commencez par la AWSFaultInjectionSimulatorNetworkAccesspolitique.
-
Actions Amazon RDS : commencez par la AWSFaultInjectionSimulatorRDSAccesspolitique.
-
Actions de Systems Manager : commencez par la AWSFaultInjectionSimulatorSSMAccesspolitique.
-
-
Utilisez la put-role-policycommande suivante pour ajouter la politique d'autorisation que vous avez créée à l'étape précédente.
aws iam put-role-policy --role-name
my-fis-role
--policy-namemy-fis-policy
--policy-document file://fis-role-permissions-policy.json