View a markdown version of this page

Étape 5 : Création de rôles de lancement - AWS Service Catalog

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éation de 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 provisioning 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 votre 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*,, et s3:PutBucketTagging Amazon S3.

  • Accès en lecture au modèle Amazon S3 dans un compartiment Amazon S3 AWS Service Catalog appartenant à l'utilisateur

  • Accès aux opérationsCreateGroup, ListGroupResourcesDeleteGroup, et aux groupes de Tag 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 AWS Service Catalog compte administrateur
  1. 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.

  2. Créez une politique pour votre produit Terraform, un compartiment Amazon S3 simple. 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— Permet d'accéder aux compartiments Amazon S3 détenus par AWS Service Catalog. Pour déployer le produit, AWS Service Catalog il faut accéder à des artefacts de provisionnement.

    • resourcegroups— Permet AWS Service Catalog de créer, de répertorier, de supprimer et de baliser Groupes de ressources AWS.

    • 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 :

    JSON
    { "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" } ] }
    1. Choisissez Suivant, Tags.

    2. Choisissez Suivant, puis Réviser.

    3. Dans la page Réviser la politique, saisissez le nomS3ResourceCreationAndArtifactAccessPolicy.

    4. Sélectionnez Créer une politique.

  3. Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.

  4. Pour Sélectionner une entité de confiance, choisissez Politique de confiance personnalisée, puis entrez la stratégie JSON suivante :

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "GivePermissionsToServiceCatalog", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::123456789012:role/TerraformEngine/TerraformExecutionRole*", "arn:aws:iam::123456789012:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*", "arn:aws:iam::123456789012:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*" ] } } } ] }
  5. Choisissez Suivant.

  6. Dans la liste des politiques, sélectionnez celle que S3ResourceCreationAndArtifactAccessPolicy vous venez de créer.

  7. Choisissez Suivant.

  8. 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é.

  9. Choisissez Créer un rôle.

    Important

    Après avoir créé le rôle de lancement dans votre compte AWS Service Catalog administrateur, vous devez également créer un rôle de lancement identique dans le compte de l'utilisateur AWS Service Catalog final. Le rôle dans le compte utilisateur final doit porter le même nom et inclure la même politique que le rôle dans le compte administrateur.

Pour créer un rôle de lancement dans AWS Service Catalog compte utilisateur final
  1. Connectez-vous en tant qu'administrateur au compte utilisateur final, puis suivez les instructions pour créer de nouvelles politiques dans l'onglet JSON du guide de l'utilisateur IAM.

  2. Répétez les étapes 2 à 10 décrites ci-dessus pour créer un rôle de lancement dans le compte AWS Service Catalog administrateur.

Note

Lorsque vous créez un rôle de lancement dans le compte 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.