

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.

# Commencer à utiliser un produit Terraform
<a name="getstarted-Terraform"></a>

AWS Service Catalog permet un provisionnement rapide en libre-service avec une gouvernance intégrée de vos configurations [ HashiCorp Terraform](https://developer.hashicorp.com/terraform/intro/terraform-editions). AWS Vous pouvez l'utiliser AWS Service Catalog en tant qu'outil unique pour organiser, gérer et distribuer vos configurations Terraform à grande échelle. AWS AWS Service Catalog prend en charge Terraform sur plusieurs fonctionnalités clés, notamment le catalogage de modèles Terraform standardisés et préapprouvés, le contrôle d'accès, le versionnement, le balisage et le partage avec d'autres comptes. AWS Vos utilisateurs finaux y voient une simple liste de produits et de versions auxquels ils ont accès, et peuvent ensuite déployer ces produits en une seule action. AWS Service Catalog

**Note**  
*Pour continuer à prendre en charge HashiCorp les technologies, à la suite des récentes modifications de licence apportées à Terraform, toutes les références précédentes à *Terraform Open Source AWS Service Catalog ont été remplacées par External*.* Le type de produit externe inclut le support de la Terraform Community Edition, anciennement connue sous le nom de Terraform Open Source. Pour plus d'informations et d'instructions sur la migration de vos produits Open Source Terraform existants et des produits fournis vers le type de produit externe, consultez. [Mise à jour des produits Open Source Terraform existants et des produits fournis vers le type de produit externe](update_terraform_open_source_to_external.md) 

Les étapes du didacticiel suivant vous aideront à démarrer avec un produit Terraform dans. AWS Service Catalog

En tant qu'administrateur du catalogue, vous travaillez dans un compte d'administrateur central (compte hub). Les produits Terrafrm Community Edition et Terraform Cloud nécessitent tous deux un moteur de provisionnement Terraform, sur lequel vous pouvez en savoir plus dans et. [Moteur de provisionnement pour Terraform Community Edition (type de produit externe)](getstarted-terraform-engine.md#getstarted-terraform-engine-os) [Moteur de provisionnement pour Terraform Cloud](getstarted-terraform-engine.md#getstarted-terraform-engine-cloud) 

Au cours du didacticiel, vous devez effectuer les tâches suivantes dans le compte administrateur :
+ *Créez un produit Terraform en utilisant le type de produit *Terraform Cloud* ou External.* Service Catalog utilise le type de produit externe pour prendre en charge les produits Terraform Community Edition. 
+ Associer le produit à un portefeuille
+ Créez une contrainte de lancement pour permettre à vos utilisateurs finaux de fournir le produit
+ Marquer le produit
+ Partagez le portefeuille et le produit Terraform avec le compte de l'utilisateur final (compte officiel) 

Dans le didacticiel, vous partagez un portfolio à l'aide de l'option de partage de l'organisation depuis le compte du hub d'administration, qui est également le compte de gestion de l'organisation. Pour plus d'informations sur le partage d'organisations, consultez[Partage d'un portefeuille](catalogs_portfolios_sharing_how-to-share.md). 

La AWS ressource contenue dans le produit Terraform que vous créez dans le didacticiel est un simple bucket Amazon S3. 

**Note**  
 Avant de commencer, assurez-vous d'avoir terminé les actions dans[Configuration AWS Service Catalog](setup.md). 

**Topics**
+ [Mise à jour des produits Open Source Terraform existants et des produits fournis vers le type de produit externe](update_terraform_open_source_to_external.md)
+ [Prérequis : configurez votre moteur de provisionnement Terraform](getstarted-terraform-engine.md)
+ [Étape 1 : téléchargement du fichier de configuration Terraform](getstarted-template-Terraform.md)
+ [Étape 2 : créer un produit Terraform](getstarted-product-Terraform.md)
+ [Étape 3 : Création d'un AWS Service Catalog portefeuille](getstarted-portfolio-Terraform.md)
+ [Étape 4 : Ajouter un produit au portefeuille](getstarted-portfolio-add-product-Terraform.md)
+ [Étape 5 : créer des rôles de lancement](getstarted-launchrole-Terraform.md)
+ [Étape 6 : Ajouter une contrainte de lancement à votre produit Terraform](getstarted-launchconstraint-Terraform.md)
+ [Étape 7 : Accorder l'accès à l'utilisateur final](getstarted-deploy-Terraform.md)
+ [Étape 8 : partager le portefeuille avec l'utilisateur final](getstarted-share-portfolio-end-user-Terraform.md)
+ [Étape 9 : Testez l'expérience de l'utilisateur final](getstarted-verify-Terraform.md)
+ [Étape 10 : Surveillance des opérations de provisionnement de Terraform](getstarted-monitoring-Terraform.md)

# Mise à jour des produits Open Source Terraform existants et des produits fournis vers le type de produit externe
<a name="update_terraform_open_source_to_external"></a>

*Pour continuer à prendre en charge HashiCorp les technologies, à la suite des récentes modifications de licence apportées à Terraform, toutes les références précédentes à *Terraform Open Source AWS Service Catalog ont été remplacées par External*.* Le type de produit externe inclut le support de Terraform Community Edition, anciennement connue sous le nom de Terraform Open Source. AWS Service Catalog ne prend plus en charge Terraform Open Source en tant que type de produit valide pour les *nouveaux* produits ou les produits approvisionnés. Vous ne pouvez mettre à jour ou résilier que les ressources Open Source existantes de Terraform, y compris les versions des produits et les produits provisionnés.

Si vous ne l'avez pas déjà fait, vous devez faire passer tous les produits Open Source Terraform existants et les produits fournis vers des produits externes, en suivant les instructions de cette section. 

1. Mettez à jour votre moteur de référence Terraform existant AWS Service Catalog pour inclure la prise en charge des types de produits **externes** et **Terraform Open Source**. [Pour obtenir des instructions sur la mise à jour de votre moteur de référence Terraform, consultez notre GitHub référentiel.](https://github.com/aws-samples/service-catalog-engine-for-terraform-os) 

1. Recréez tous les produits Open Source Terraform existants en utilisant le nouveau type de produit externe. 

1. Supprimez tous les produits existants qui utilisent le type de produit Open Source Terraform.

1. Réapprovisionnez les ressources restantes pour utiliser le nouveau type de produit externe.

1. Mettez fin à tous les produits provisionnés existants qui utilisent le type de produit Open Source Terraform. 

Après la transition de vos produits existants, utilisez le type de produit externe pour tous les nouveaux produits utilisant un fichier de configuration tar.gz. 

AWS Service Catalog aidera les clients à effectuer ce changement selon les besoins. Si ces modifications nécessitent des efforts importants pour votre compte ou ont un impact sur les charges de travail critiques des produits, contactez votre représentant commercial pour demander de l'aide. 

# Prérequis : configurez votre moteur de provisionnement Terraform
<a name="getstarted-terraform-engine"></a>

Comme condition préalable à la création de produits Terraform dans AWS Service Catalog, vous devez installer et configurer un moteur de provisionnement dans votre compte administrateur Service Catalog (compte hub). Le moteur de provisionnement est requis à la fois pour les produits Terraform Community Edition (utilisant le type de produit externe) et pour les produits Terraform Cloud (utilisant le type de produit Terraform Cloud). 

**Note**  
La configuration du moteur est une configuration unique qui prend environ 30 minutes. 

## Moteur de provisionnement pour Terraform Community Edition (type de produit externe)
<a name="getstarted-terraform-engine-os"></a>

AWS Service Catalog utilise le type de produit *externe* pour prendre en charge les produits Terraform Community Edition. Le type de produit *externe* prend également en charge d'autres outils de provisionnement, notamment Pulumi, Ansible, Chef, etc., en fonction de la configuration du moteur de provisionnement. 

Pour les AWS Service Catalog produits qui utilisent le type HashiCorp de produit externe avec Terraform Community Edition, vous devez installer et configurer un moteur de provisionnement Terraform dans votre compte AWS Service Catalog administrateur (compte hub). AWS gère ce moteur et ses ressources. 

AWS Service Catalog fournit un GitHub référentiel contenant des instructions sur [l'installation et la configuration du moteur de AWS provisionnement Terraform fourni](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/). Le dépôt inclut les informations suivantes : 
+ Outils d'installation requis
+ Élaboration du code
+ Déploiement sur un AWS compte
+ Informations supplémentaires sur les flux de travail de provisionnement, l'assurance qualité et les limites

## Moteur de provisionnement pour Terraform Cloud
<a name="getstarted-terraform-engine-cloud"></a>

Pour les AWS Service Catalog produits qui utilisent le type de produit Terraform Cloud avec HashiCorp Terraform Cloud, vous devez installer et configurer un moteur de provisionnement Terraform dans votre AWS Service Catalog compte administrateur (compte hub). HashiCorp gère ce moteur dans un environnement distant. 

HashiCorp fournit un GitHub référentiel contenant des instructions sur la configuration du [moteur Terraform Cloud](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc) pour. AWS Service Catalog Le dépôt inclut les informations suivantes : 
+ Outils d'installation requis
+ Élaboration du code
+ Déploiement sur un AWS compte
+ Informations supplémentaires sur les flux de travail de provisionnement, l'assurance qualité et les limites

# Étape 1 : téléchargement du fichier de configuration Terraform
<a name="getstarted-template-Terraform"></a>

 Vous pouvez utiliser un fichier de configuration Terraform pour créer et approvisionner des produits HashiCorp Terraform. Ces configurations sont des fichiers texte brut qui décrivent les ressources que vous souhaitez mettre en service. Vous pouvez utiliser l'éditeur de texte de votre choix pour créer, mettre à jour et enregistrer des configurations. Pour créer un produit, vous devez télécharger les configurations Terraform sous forme de **fichier tar.gz**. Dans ce didacticiel, AWS Service Catalog fournit un fichier de configuration simple afin que vous puissiez commencer. La configuration crée un compartiment Amazon S3. 

## Téléchargement du fichier de configuration
<a name="template-download"></a>

AWS Service Catalog fournit un exemple [https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true)de fichier de configuration que vous pouvez utiliser dans ce didacticiel. 

## Vue d'ensemble du fichier de configuration
<a name="template-overview"></a>

Le texte de l'exemple de fichier de configuration est le suivant :

```
variable "bucket_name" {
  type = string
}
provider "aws" {
}
resource "aws_s3_bucket" "bucket" {
  bucket = var.bucket_name
}
output regional_domain_name {
  value = aws_s3_bucket.bucket.bucket_regional_domain_name
}
```

**Ressources de configuration**

Le fichier de configuration déclare les ressources à créer lors du AWS Service Catalog provisionnement du produit. Il se compose des sections suivantes :
+ **Variable** (facultatif) — Les définitions de valeurs qu'un utilisateur administrateur (administrateur du compte hub) peut attribuer pour personnaliser la configuration. Les variables fournissent une interface cohérente pour modifier le comportement d'une configuration donnée. L'étiquette après le mot-clé de variable est le nom de la variable, qui doit être unique parmi toutes les variables d'un même module. Ce nom est utilisé pour attribuer une valeur extérieure à la variable et pour référencer la valeur de la variable depuis le module. 
+ **Fournisseur** (facultatif) — Le fournisseur de services cloud pour le provisionnement des ressources, qui est`AWS`. AWS Service Catalog ne prend en charge `AWS` qu'en tant que fournisseur. Par conséquent, le moteur de provisionnement Terraform remplace tout autre fournisseur répertorié. `AWS` 
+ **Ressource** (obligatoire) — La ressource AWS d'infrastructure pour le provisionnement. Pour ce didacticiel, le fichier de configuration Terraform spécifie Amazon S3. 
+ **Sortie** (facultatif) : information ou valeur renvoyée, similaire aux valeurs renvoyées dans un langage de programmation. Vous pouvez utiliser les données de sortie pour configurer le flux de travail de l'infrastructure à l'aide d'outils d'automatisation. 

# Étape 2 : créer un produit Terraform
<a name="getstarted-product-Terraform"></a>

Après avoir installé le moteur de provisionnement Terraform, vous êtes prêt à créer un produit HashiCorp Terraform dans. AWS Service Catalog Dans ce didacticiel, vous allez créer un produit Terraform contenant un simple bucket Amazon S3. 

**Pour créer un produit Terraform**

1. Ouvrez la AWS Service Catalog console sur [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)et connectez-vous en tant qu'utilisateur administrateur. 

1. Accédez à la section **Administration**, puis sélectionnez **Liste des produits**. 

1. Choisissez **Créer un produit**. 

1. Sur la page **Créer un produit** dans la section Détails du produit, choisissez le type de produit **externe** ou **Terraform Cloud**. Service Catalog utilise le type de produit *externe* pour prendre en charge les produits Terraform Community Edition. 

1. Entrez les informations suivantes sur le produit :
   + **Nom du produit** — **Simple S3 bucket**
   + **Description du produit** — Produit Terraform contenant un compartiment Amazon S3.
   + **Propriétaire** — **IT**
   + **Distributeur** — *(blanc)*

1. Dans le volet **Détails de la version**, choisissez **charger un fichier modèle**, puis choisissez **Choisir un fichier**. Sélectionnez le fichier dans lequel vous avez téléchargé[Étape 1 : téléchargement du fichier de configuration Terraform](getstarted-template-Terraform.md). 

1. Saisissez :
   + **Nom de la version** — **v1.0**
   + **Description de la version** — **Base Version**

1. Dans la section **Support details**, saisissez ce qui suit, puis choisissez **Create product**.
   + **Contact par e-mail** — **ITSupport@example.com**
   + **Lien de support** — **https://wiki.example.com/IT/support**
   + **Description du support** — **Contact the IT department for issues deploying or connecting to this product.**

1. Choisissez **Créer un produit**. 

Après avoir créé le produit avec succès, AWS Service Catalog affiche une bannière de confirmation sur la page du produit. 

# Étape 3 : Création d'un AWS Service Catalog portefeuille
<a name="getstarted-portfolio-Terraform"></a>

Vous pouvez créer un portefeuille dans votre compte AWS Service Catalog administrateur (compte hub) pour faciliter l'organisation des produits et leur distribution aux comptes des utilisateurs finaux (comptes satellites). 

**Pour créer un portefeuille**

1. Ouvrez la AWS Service Catalog console [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)et connectez-vous en tant qu'administrateur. 

1. Dans le panneau de navigation de gauche, sélectionnez **Portefeuilles**, puis **Créer un portefeuille**. 

1. Entrez les valeurs suivantes :
   + **Nom du portefeuille** — **S3 bucket**
   + **Description du portefeuille** — **Sample portfolio for Terraform configurations. ** 
   + **Propriétaire** — **IT (it@example.com)** 

1. Choisissez **Créer**.

# Étape 4 : Ajouter un produit au portefeuille
<a name="getstarted-portfolio-add-product-Terraform"></a>

Après avoir créé un portfolio, vous pouvez ajouter le produit HashiCorp Terraform que vous avez créé à l'étape 2. 

**Pour ajouter un produit à un portefeuille**

1.  Accédez à la page de **liste des produits**. 

1.  **Sélectionnez le produit Terraform Simple S3 bucket que vous avez créé à l'étape 2, puis choisissez Actions.** Dans le menu déroulant, choisissez **Ajouter un produit au portefeuille**. AWS Service Catalog affiche le volet **Ajouter un compartiment S3 simple au portefeuille**. 

1. Sélectionnez le portefeuille de compartiments S3, puis désactivez l'option **Créer une contrainte de lancement**. Vous allez créer la contrainte de lancement ultérieurement dans le didacticiel. 

1. Choisissez **Ajouter un produit au portefeuille**. 

Après avoir ajouté le produit au portefeuille avec succès, AWS Service Catalog affiche une bannière de confirmation sur la page de liste des produits. 

# Étape 5 : créer des rôles de lancement
<a name="getstarted-launchrole-Terraform"></a>

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*`,, et `s3: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 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 le compte AWS Service Catalog 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) *guide de l'utilisateur IAM*. 

1. 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`— 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 aux artefacts de provisionnement. 
   +  `resourcegroups`— Permet AWS Service Catalog de créer, répertorier, supprimer et étiqueter 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. 

   1. Choisissez **Next**, **Tags**.

   1. Choisissez **Suivant,** **Réviser**.

   1. Sur la page **Politique de révision**, saisissez le **nom****S3ResourceCreationAndArtifactAccessPolicy**.

   1. Sélectionnez **Créer une politique**.

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

1. Pour **Sélectionner une entité de confiance**, choisissez **Politique de confiance personnalisée**, puis entrez la politique JSON suivante :

1. Choisissez **Suivant**. 

1. Dans la liste des **politiques**, sélectionnez celles que `S3ResourceCreationAndArtifactAccessPolicy` vous venez de créer. 

1. Choisissez **Suivant**. 

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

1. Choisissez **Créer un rôle**.
**Important**  
Après avoir créé le rôle de lancement dans votre compte d' AWS Service Catalog administrateur, 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**

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) *guide de l'utilisateur IAM*. 

1. 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. 

# Étape 6 : Ajouter une contrainte de lancement à votre produit Terraform
<a name="getstarted-launchconstraint-Terraform"></a>

**Important**  
Vous devez créer une contrainte de lancement pour les produits HashiCorp Terraform. Sans contrainte de lancement, les utilisateurs finaux ne peuvent pas fournir le produit. 

Après avoir créé un rôle de lancement dans votre compte administrateur, vous êtes prêt à associer le rôle de lancement à une contrainte de lancement sur votre produit External ou Terraform Cloud. 

Cette contrainte de lancement permet à l'utilisateur final de lancer le produit et, après le lancement, de le gérer en tant que produit provisionné. Pour plus d'informations, veuillez consulter [Contraintes de lancement AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-launch.html).

L'utilisation d'une contrainte de lancement vous permet de suivre les meilleures pratiques IAM qui consistent à réduire au minimum les autorisations IAM des utilisateurs finaux. Pour plus d’informations, consultez [Accorder le moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dans le *guide de l’utilisateur IAM*.

**Pour attribuer une contrainte de lancement au produit**

1. Ouvrez la AWS Service Catalog console à l'adresse [https://console.aws.amazon.com/servicecatalog.](https://console.aws.amazon.com/servicecatalog.)

1. Dans la console de navigation de gauche, choisissez **Portfolio**. 

1. Choisissez le portefeuille de **compartiments S3**.

1. Sur la page des **détails du portefeuille**, choisissez l'onglet **Contraintes**, puis sélectionnez **Créer une contrainte**.

1. Pour **Product**, choisissez **Simple S3 bucket**. AWS Service Catalog sélectionne automatiquement le type de contrainte de **lancement**.

1. Choisissez **Entrer le nom du rôle**, puis choisissez **SCLaunch-S3product**. 

1. Choisissez **Create**. 

**Note**  
Le nom de rôle indiqué doit exister dans le compte qui a créé la contrainte de lancement et dans le compte de l'utilisateur qui lance un produit avec cette contrainte de lancement. 

# Étape 7 : Accorder l'accès à l'utilisateur final
<a name="getstarted-deploy-Terraform"></a>

Après avoir appliqué la contrainte de lancement à votre produit HashiCorp Terraform, vous êtes prêt à accorder l'accès aux utilisateurs finaux dans le compte Spoke.

Dans ce didacticiel, vous accordez l'accès aux utilisateurs finaux à l'aide du partage de noms principaux. Les noms principaux sont des noms de groupes, de rôles et d'utilisateurs que les administrateurs peuvent spécifier dans un portefeuille, puis partager avec le portefeuille. Lorsque vous partagez le portefeuille, AWS Service Catalog vérifiez si ces noms principaux existent déjà. S'ils existent, associe AWS Service Catalog automatiquement les principaux IAM correspondants au portefeuille partagé pour accorder l'accès aux utilisateurs finaux. Consultez la [section Partage d'un portfolio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing_how-to-share) pour plus d'informations. 

**Conditions préalables**  
Si vous n'avez pas créé de groupe IAM pour les utilisateurs finaux, consultez[Accorder des autorisations aux utilisateurs AWS Service Catalog finaux](getstarted-iamenduser.md).

**Pour donner accès au portefeuille**

1. Accédez à la page **Portfolio** et choisissez le portefeuille de **compartiments S3**. 

1. Choisissez l'onglet **Accès**, puis choisissez **Accorder l'accès**. 

1. Dans le volet **Type d'accès**, sélectionnez **Nom principal**. 

1. Dans le volet **Nom principal**, sélectionnez le type de **nom principal**, puis entrez le **nom** principal de l'utilisateur final souhaité dans le compte parlé. 

1. Choisissez **Grant access (Accorder l’accès)**. 

# Étape 8 : partager le portefeuille avec l'utilisateur final
<a name="getstarted-share-portfolio-end-user-Terraform"></a>

L' AWS Service Catalog administrateur peut distribuer des portefeuilles avec des comptes d'utilisateurs finaux en utilisant account-to-account le partage ou AWS Organizations le partage. Dans ce didacticiel, vous partagez votre portefeuille avec l'organisation à partir du compte administrateur (compte hub), qui est également le compte de gestion de l'organisation. 

**Pour partager le portfolio depuis le compte Admin Hub**

1. Ouvrez la AWS Service Catalog console à l'adresse [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/). 

1. Sur la page **Portfolios**, sélectionnez le portefeuille de compartiments S3. Dans le menu **Actions**, choisissez **Partager**. 

1. Choisissez **AWS Organizations**, puis filtrez dans votre structure organisationnelle. 

1. Dans le volet **AWS Organisation**, choisissez le compte de l'utilisateur final (compte Spoke). 

   Vous pouvez également sélectionner un **nœud racine** pour partager le portefeuille avec l'ensemble de l'organisation, une **unité organisationnelle (UO) parent ou** une unité organisationnelle **enfant** au sein de votre organisation en fonction de la structure de votre organisation. Pour plus d'informations, consultez[Partage d'un portefeuille](catalogs_portfolios_sharing_how-to-share.md). 

1. Dans le volet **des paramètres** de partage, choisissez **Partage principal**. 

1. Choisissez **Partager**. 

Après avoir partagé avec succès le portefeuille avec les utilisateurs finaux, l'étape suivante consiste à vérifier l'expérience de l'utilisateur final et à fournir le produit Terraform. 

# Étape 9 : Testez l'expérience de l'utilisateur final
<a name="getstarted-verify-Terraform"></a>

Pour vérifier que les utilisateurs finaux peuvent accéder correctement à la vue de la console utilisateur final et lancer votre **Simple S3 bucket** produit, connectez-vous en AWS tant qu'utilisateur final et effectuez les tâches ci-dessous. 

**Pour vérifier que l'utilisateur final peut accéder à la console Utilisateur final**
+ Ouvrez la AWS Service Catalog console [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)à l'adresse suivante :
  + **Produits** — Les produits que l'utilisateur peut utiliser.
  + Produits **approvisionnés : produits** provisionnés que l'utilisateur a lancés.

**Pour vérifier que l'utilisateur final peut lancer le produit Terraform**

1. Dans la section **Produits** de la console, choisissez **Simple S3 bucket**.

1. Choisissez **Launch product** pour démarrer l'assistant qui configure votre produit.

1. Sur la page **Launch Simple S3 bucket**, entrez **Amazon S3 product** le nom du produit provisionné.

1. Sur la page **Paramètres**, entrez ce qui suit, puis choisissez **Next** :
   +  **bucket\$1name** — Fournissez un nom unique pour le compartiment Amazon S3. Par exemple, **terraform-s3-product**. 

1. Choisissez **Launch product**. La console affiche la page de détails de la pile pour le lancement du produit Amazon S3. L'état initial du produit est **En cours de modification**. Le lancement du produit prend plusieurs minutes. AWS Service Catalog Pour afficher l'état en cours, actualisez votre navigateur. Après un lancement de produit réussi, le statut est **Disponible**. 

   AWS Service Catalog crée un nouveau compartiment Amazon S3 nommé**terraform-s3-product**. 

# Étape 10 : Surveillance des opérations de provisionnement de Terraform
<a name="getstarted-monitoring-Terraform"></a>

Si vous souhaitez surveiller les opérations de provisionnement, vous pouvez consulter les CloudWatch journaux Amazon et consulter n'importe quel flux de AWS Step Functions travail de provisionnement. 

Il existe deux machines d'état pour le flux de travail de provisionnement : 
+ `ManageProvisionedProductStateMachine`— AWS Service Catalog invoque cette machine d'état lors du provisionnement d'un nouveau produit Terraform et lors de la mise à jour d'un produit existant provisionné par Terraform. 
+ `TerminateProvisionedProductStateMachine`— AWS Service Catalog invoque cette machine à états lors de la résiliation d'un produit existant approvisionné par Terraform. 

**Pour exécuter la machine d'état de surveillance**

1. Ouvrez la console AWS de gestion et connectez-vous en tant qu'administrateur sur le compte du hub d'administration sur lequel le moteur de provisionnement Terraform est installé.

1. Ouvrir **AWS Step Functions**. 

1. Dans le panneau de navigation de gauche, choisissez **State machines**. 

1. Sélectionnez **ManageProvisionedProductStateMachine**. 

1. Dans la liste des **exécutions**, entrez l'ID de produit fourni pour localiser votre exécution. 
**Note**  
AWS Service Catalog crée l'ID de produit fourni lorsque vous approvisionnez le produit. L'ID de produit fourni est formaté comme suit :. **pp-1111pwtn[ID number]** 

1. Choisissez l'**ID d'exécution**. 

Sur la page **Détails de l'exécution** qui en résulte, vous pouvez consulter toutes les étapes du flux de travail de provisionnement. Vous pouvez également passer en revue les étapes ayant échoué pour identifier la cause de l'échec. 