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.
Étape 5 : créer des rôles de lancement
Au cours de cette étape, vous allez créer un rôle IAM (rôle de lancement) spécifiant les autorisations que le moteur de provisionnement Terraform AWS Service Catalog peut assumer lorsqu'un utilisateur final lance un produit Terraform. HashiCorp
Le rôle IAM (rôle de lancement) que vous attribuerez ultérieurement à votre produit Terraform de compartiment Amazon S3 simple en tant que contrainte de lancement doit disposer des autorisations suivantes :
-
Accès aux AWS ressources sous-jacentes de votre produit Terraform. Dans ce didacticiel, cela inclut l'accès aux opérations
s3:CreateBucket*
s3:DeleteBucket*
s3:Get*
,s3:List*
,, ets3:PutBucketTagging
Amazon S3. -
Accès en lecture au modèle Amazon S3 dans un compartiment Amazon S3 AWS Service Catalog appartenant à un propriétaire
-
Accès aux opérations
CreateGroup
,ListGroupResources
DeleteGroup
, et aux groupes deTag
ressources. Ces opérations permettent de AWS Service Catalog gérer les groupes de ressources et les balises
Pour créer un rôle de lancement dans le compte AWS Service Catalog administrateur
-
Lorsque vous êtes connecté au compte AWS Service Catalog administrateur, suivez les instructions pour créer de nouvelles politiques dans l'onglet JSON du guide de l'utilisateur IAM.
-
Créez une politique pour votre simple produit Terraform contenant un compartiment Amazon S3. Cette politique doit être créée avant de créer le rôle de lancement et comprend les autorisations suivantes :
-
s3
— Autorise AWS Service Catalog toutes les autorisations nécessaires pour répertorier, lire, écrire, approvisionner et étiqueter le produit Amazon S3. -
s3
— Autorise l'accès aux compartiments Amazon S3 détenus parAWS Service Catalog. Pour déployer le produit, AWS Service Catalog il faut accéder aux artefacts de provisionnement. -
resourcegroups
— Permet AWS Service Catalog de créer, répertorier, supprimer et étiqueterAWS Resource Groups. -
tag
— Autorise les autorisations AWS Service Catalog de balisage.
Note
En fonction des ressources sous-jacentes que vous souhaitez déployer, vous devrez peut-être modifier l'exemple de politique JSON.
Collez le document de politique JSON suivant :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } }, { "Action": [ "s3:CreateBucket*", "s3:DeleteBucket*", "s3:Get*", "s3:List*", "s3:PutBucketTagging" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" } ] }
-
-
-
Choisissez Next, Tags.
-
Choisissez Suivant, Réviser.
-
Sur la page Politique de révision, saisissez le nom
S3ResourceCreationAndArtifactAccessPolicy
. -
Sélectionnez Créer une politique.
-
-
Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.
-
Pour Sélectionner une entité de confiance, choisissez Politique de confiance personnalisée, puis entrez la politique JSON suivante :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GivePermissionsToServiceCatalog", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:root" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::accounti_id:role/TerraformEngine/TerraformExecutionRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*" ] } } } ] }
-
Choisissez Suivant.
-
Dans la liste des politiques, sélectionnez celles que
S3ResourceCreationAndArtifactAccessPolicy
vous venez de créer. -
Choisissez Suivant.
-
Pour le Nom du rôle, saisissez
SCLaunch-S3product
.Important
Les noms des rôles de lancement doivent commencer par « SCLaunch » suivi du nom de rôle souhaité.
-
Sélectionnez Créer un rôle.
Important
Après avoir créé le rôle de lancement dans votre compte d'AWS Service Catalogadministrateur, vous devez également créer un rôle de lancement identique dans le compte d'utilisateur AWS Service Catalog final. Le rôle du compte utilisateur final doit porter le même nom et inclure la même politique que le rôle du compte administrateur.
Pour créer un rôle de lancement dans le compte de l'utilisateur AWS Service Catalog final
-
Connectez-vous en tant qu'administrateur au compte de l'utilisateur final, puis suivez les instructions pour créer de nouvelles politiques dans l'onglet JSON du guide de l'utilisateur IAM.
-
Répétez les étapes 2 à 10 de la section Pour créer un rôle de lancement dans le compte AWS Service Catalog administrateur ci-dessus.
Note
Lorsque vous créez un rôle de lancement dans le compte de l'utilisateur AWS Service Catalog final, assurez-vous d'utiliser le même administrateur AccountId
dans la politique de confiance personnalisée.
Maintenant que vous avez créé un rôle de lancement dans les comptes administrateur et utilisateur final, vous pouvez ajouter une contrainte de lancement au produit.