Importer et gérer des données d’infrastructure AWS dans Lucidscale

Écrit par :  Shanna S
Dernière mise à jour :  

Utilisez Lucidscale pour importer des données d'infrastructure cloud depuis AWS et générer des diagrammes dans un document Lucidscale.

Lucidscale est disponible pour les comptes Lucid Suite Enterprise en tant qu'achat supplémentaire avec le Cloud Accelerator. Pour en savoir plus sur le Cloud Accelerator, consultez notre article de présentation du Cloud Accelerator

Régions, ressources et lignes AWS prises en charge

Pour obtenir une liste complète des régions, ressources et lignes AWS prises en charge et disponibles dans Lucidscale, reportez-vous à notre article sur les régions, ressources et lignes AWS prises en charge. 

Importer l'infrastructure AWS

Vous pouvez importer les données de votre infrastructure cloud AWS en utilisant l'une des quatre méthodes suivantes :

  • Accès de confiance: fournissez un rôle IAM inter-comptes avec les politiques appropriées. Ce rôle peut être défini avec les autorisations suivantes :
    • Importation via l'accès au niveau du compte pour importer un compte individuel
      Importation via l'accès au niveau de l'organisation pour importer tous les comptes AWS d'une unité organisationnelle ou de l'ensemble de l'organisation.
  • Autorisation à usage unique: saisissez les informations d'identification d'un utilisateur IAM avec les politiques appropriées.
  • Téléchargement de fichiers: exécutez un script Python fourni par Lucid dans un profil AWS CLI configuré, qui rassemble les données localement sous forme de fichier JSON, puis fournissez le fichier généré.

Consultez le tableau suivant pour obtenir des précisions sur chaque méthode et déterminer celle qui convient le mieux à votre cas d'utilisation.

Méthode d'importation Description Portée Types de soutien aux ressources*
 
Rafraîchissement des données**
Accès de confiance : Au niveau de l'organisation Enregistrez un rôle IAM inter-comptes au niveau de l'organisation auprès de Lucid pour une réutilisation sécurisée et à long terme. Gérez de manière centralisée les importations pour tous les comptes au sein d'une organisation ou d'une unité organisationnelle AWS en enregistrant un seul justificatif d'identité.

(1) et (2)

 

Automatique et manuel
Accès de confiance : Au niveau du compte Enregistrez un rôle IAM inter-comptes au niveau du compte auprès de Lucid pour une réutilisation sécurisée et à long terme. Enregistrez un justificatif d'identité pour chaque compte AWS. (1) et (2) Automatique et manuel
Autorisation à usage unique Téléchargez une clé d'utilisateur IAM ou un fichier d'informations d'identification dans Lucid.

Accès unique à un compte AWS individuel.

(1) et (2)

Manuel

Actualisez les données en saisissant à nouveau la clé d'accès.

Téléchargement de fichier Exécutez un script Python fourni par Lucid dans un profil AWS CLI configuré, puis téléchargez le fichier JSON généré vers Lucid. Jusqu'à 50 comptes par fichier JSON. (1) seulement

Manuel

Actualisez les données en téléchargeant un nouveau fichier JSON.

*Le type de ressource 1 correspond à toutes les ressources mappées énumérées dans la section Ressources prises en charge. Le type de ressource 2 est l'inventaire du nuage : une grande variété de ressources non cartographiées que vous pouvez placer manuellement dans vos documents.
**Les rafraîchissements automatiques des sources de données sont disponibles pour les utilisateurs selon un calendrier récurrent (quotidien, hebdomadaire, mensuel, annuel) via le hub de données. Les rafraîchissements manuels s'effectuent également d'un simple clic via le hub de données.

Avec les importations à accès sécurisé, Lucid enregistre ces informations d'identification afin que vous puissiez actualiser vos données ou lancer de nouvelles importations sans avoir à saisir à nouveau vos informations. Cette capacité de stockage permet à Lucid de procéder à l'actualisation automatique des données. Les informations d'identification peuvent être supprimées via l'onglet AWS Data Hub credentials. Lucid ne stocke pas les identifiants des utilisateurs IAM en vue d'une réutilisation ultérieure, ce qui limite les autorisations à usage unique à une actualisation manuelle.

Si vous travaillez avec un environnement très vaste, réduisez la quantité de données que vous importez ou le nombre d'appels d'API que Lucid adresse à AWS. Lucid prend en charge jusqu'à 50 importations de comptes simultanées par utilisateur. Une fois chaque importation terminée, vous pouvez lancer une nouvelle importation.

Remarque : les importations AWS GovCloud ne sont autorisées que pour les clients de Lucid GovSuite. L'environnement commercial Lucid ne peut pas accéder à AWS GovCloud via des rôles de comptes croisés.

Accès de confiance (rôle inter-comptes)

L'accès de confiance utilise des rôles IAM inter-comptes afin que le Cloud Accelerator puisse assumer un accès en lecture seule pour importer des métadonnées de compte et créer des sources de données. Il existe deux types d'accès de confiance :

Ce guide fournit des étapes détaillées et exécutables pour les deux méthodes, et inclut plusieurs implémentations d'infrastructure en tant que code : Terraform, automatisation CloudFormation et création manuelle d'IAM.

Accès de confiance : Au niveau de l'organisation

Pour gérer de manière centralisée les importations d'infrastructure dans l'ensemble de votre organisation AWS, suivez les étapes ci-dessous.

Vérifiez d'abord les conditions préalables suivantes :

  • Le compte bastion choisi ne doit pas être déjà enregistré comme bastion pour une autre importation dans Lucid.
  • Un utilisateur ayant accès au hub de données Lucid pour initier l'enregistrement au niveau de l'organisation.

Ensuite, naviguez vers le hub de données Lucid et sélectionnez votre méthode de création de ressources IAM.

  1. Ouvrez la page d'accueil de Lucid.
  2. Cliquez sur Data hub en bas de la navigation de gauche.
  3. Sélectionnez Importer les données AWS.
  4. Sélectionnez Accès de confiance.
  5. Sous l'étendue des informations d'identification, sélectionnez Connecter à une organisation AWS.
  6. Choisissez parmi les options proposées pour définir automatiquement les autorisations :
    1. Utilisez les modèles CloudFormation.
    2. Utilisez un module Terraform.

Remarque : si vous utilisez l'environnement Lucid GovSuite, veuillez recourir à la méthode 2 (Terraform) pour la création des ressources. La méthode CloudFormation n'est actuellement disponible que pour les environnements AWS commerciaux. Pour plus d'informations, veuillez consulter la rubrique « FAQ » ci-dessous.

Méthode 1 : Utilisation de CloudFormation pour la configuration automatisée des autorisations dans AWS Organization

Utilisez le modèle CloudFormation unifié de Lucid pour configurer automatiquement tous les rôles et autorisations IAM requis au sein de votre organisation AWS en un seul déploiement.

Remarque : conformément aux bonnes pratiques AWS, nous vous recommandons d'utiliser un compte d'administrateur délégué comme compte bastion plutôt que le compte de gestion. Le compte administrateur doit être réservé aux tâches qui nécessitent explicitement des privilèges d'administrateur.

Les exigences

  • Compte de déploiement: vous devez déployer ce modèle à partir d'un compte disposant de droits au niveau de l'organisation pour (1) créer et gérer des StackSets CloudFormation et (2) créer et gérer des politiques de délégation basées sur les ressources. Il s'agit généralement soit du compte de gestion de l'organisation, soit d'un compte d'administrateur délégué pour les StackSets de CloudFormation.
  • Compte « bastion » (recommandé): utilisez un compte d'utilisateur non administrateur comme compte « bastion ». Ce compte permettra de coordonner les importations au sein de votre organisation.
    • Compte « bastion » (solution alternative): vous pouvez utiliser le compte d'administration comme « bastion », mais cela va à l'encontre des bonnes pratiques d'AWS et ne doit être envisagé que si les politiques de votre organisation l'exigent. Si vous choisissez cette option, le modèle CloudFormation se chargera de créer le rôle de bastion directement dans le compte de gestion.
  • Conditions d'éligibilité du compte: le compte « bastion » ne doit pas avoir été utilisé auparavant comme compte « bastion » chez Lucid.

Paramètres

  • BastionAccountId : Il s'agit de l'identifiant de compte AWS à 12 chiffres que vous souhaitez utiliser pour gérer l'accès de confiance des tiers. Lucid assumera un rôle transversal dans ce compte "bastion" pour coordonner les importations.
  • BastionRootOrOrganizationalUnitId : Il s'agit de l'ID de l'unité organisationnelle (OU) (par exemple, ou-xxxxxxxx) ou de la racine (par exemple, r-xxxx) qui contient le BastionAccountId que vous avez choisi.
  • MembersRootOrOrganizationalUnitId : Ce paramètre contrôle l'étendue des comptes de votre organisation AWS à partir desquels Lucid peut importer des données sur les ressources.
    • Pour autoriser les importations à partir de tous les comptes de votre organisation, utilisez l'identifiant de la racine de votre organisation (par exemple, r-xxxx).
    • Si vous souhaitez uniquement autoriser les importations pour les comptes imbriqués dans une seule unité organisationnelle (OU), utilisez l'identifiant de cette OU (par exemple, ou-xxxxxxxxxx).

Instructions

Pour configurer automatiquement les autorisations avec CloudFormation, procédez comme suit :

  1. Source : AWS :
    • Identifiez l'identifiant de votre compte Bastion (si vous utilisez l'approche d'administration déléguée).
    • Veuillez identifier l'unité organisationnelle ou les identifiants racine correspondant aux paramètres énumérés ci-dessus.
  2. Dans Lucid, cliquez sur « Lancer le modèle CloudFormation » pour ouvrir le modèle dans votre console AWS.
    • Vous serez redirigé vers la page de création d'une pile CloudFormation, sur laquelle le modèle sera déjà chargé.
  3. Définissez le paramètre UseManagementAccountAsBastion sur « false » (recommandé) ou « true ».
    • Si vous utilisez un compte d'administration délégué (UseManagementAccountAsBastion = « false »), veuillez fournir :
      • BastionAccountId : l'identifiant du compte bastion que vous avez choisi.
      • BastionRootOrOrganizationalUnitId : L'unité d'organisation (OU) ou la racine contenant le compte bastion.
  4. Définissez le paramètre « MembersRootOrOrganizationalUnitId » pour contrôler la portée de l'importation.
  5. Définissez « CreateOrgResourcePolicy » sur « true » (valeur par défaut) si votre organisation ne dispose pas de politique de ressources. 
    • Si vous utilisez le compte d'administration comme compte bastion, vous pouvez définir cette valeur sur « false ».
    • Si votre organisation dispose déjà d'une politique de gestion des ressources, définissez cette valeur sur « false » afin d'éviter tout échec lors du déploiement de la pile. Ajoutez plutôt manuellement l'objet « Statement » suivant au tableau « Statement » de votre politique de ressources d'organisation existante (cette opération vient compléter votre politique existante ; elle ne la remplace pas). Veillez à remplacer par votre identifiant de compte Bastion lorsque cela est indiqué » :

      {
       "Sid": "Déclaration",
       "Effect": "Allow",
       "Principal": {
         "AWS": [
           "arn:aws:iam::<YOUR_BASTION_ACCOUNT_ID>:root"
         ]
       },
       "Action": [
         "organisations : Liste des comptes",
         "organizations:ListAccountsForParent",
         "organizations:ListChildren",
         "organizations:ListParents",
         "organizations:ListRoots",
         "organizations:DescribePolicy",
         "organizations:DescribeOrganizationalUnit",
         "organizations:DescribeOrganization",
         "organizations:DescribeAccount",
         " organisations : ListOrganizationalUnitsForParent"
       ],
       "" de la ressource : "*"
      }
       
  6. Si vous le souhaitez, vous pouvez personnaliser les paramètres « BastionRoleName » et « MemberRoleName ».
  7. Cliquez sur « Créer une pile » et attendez que le déploiement soit terminé.
    • Le modèle effectuera automatiquement les opérations suivantes :
      • Créez le rôle « bastion » dans le compte « bastion » de votre choix.
      • Déployez des StackSets pour créer des rôles de membre dans les comptes cibles.
      • Configurez les politiques relatives aux ressources de l'organisation pour l'accès délégué (si vous utilisez l'administration déléguée).
      • Activez le déploiement automatique pour les futurs comptes ajoutés à l'organisation.
  8. Dans la console AWS IAM de votre compte bastion, accédez à la section « Rôles ».
  9. Recherchez le rôle « bastion » (nom par défaut : `lucid-import-bastion-role` ou le nom que vous avez défini).
  10. Copiez l'ARN du rôle.
  11. Retournez à l'onglet du hub de données Lucid et descendez jusqu'à la section "Add the cross-account role to Lucid" (Ajouter le rôle de compte croisé à Lucid).
    • Collez l'ARN du rôle « Bastion » dans le champ « ARN du rôle Bastion ».
    • Si vous avez utilisé un nom de rôle de membre personnalisé (MemberRoleName), veuillez mettre à jour le champ « Nom du rôle du compte membre » en conséquence.
    • Si vous le souhaitez, modifiez le nom d'affichage des identifiants afin d'identifier cette connexion.
  12. Cliquez sur Suivant pour enregistrer le rôle de compte croisé avec Lucid.
  13. Sélectionnez le rôle et cliquez sur Suivant.
  14. Suivez les étapes pour importer des comptes et créer des documents.

Remarque : ce modèle CloudFormation est configuré pour utiliser des ensembles de piles avec des autorisations gérées par le service. À l'heure actuelle, nous ne prenons pas en charge la configuration de CloudFormation à l'aide d'ensembles de piles avec des autorisations gérées en interne.

Méthode 2 : Utilisation de Terraform pour la configuration automatisée des autorisations dans AWS Organization

Sous-modules

  • Le sous-module org-read-delegation : Configure un compte bastion avec un accès administrateur délégué pour analyser votre structure d'organisation AWS. (Lucid assumera par la suite un rôle dans ce compte bastion pour effectuer l'importation).
    • Il doit être déployé dans le compte de gestion ou dans un compte membre auquel a été déléguée la gestion des stratégies pour les organisations.
    • Si une politique de délégation basée sur les ressources existe déjà, le déploiement échouera. Au lieu d'ajouter ce sous-module, ajoutez manuellement les permissions de la politique JSON fournie par Lucid, dont le lien figure ici, à votre politique basée sur les ressources existante.
    • Si une politique de délégation basée sur les ressources existe déjà, le déploiement échouera. Au lieu d'ajouter ce sous-module, ajoutez manuellement les autorisations du fichiermain.tf des modulesà votre politique de délégation basée sur les ressources existante.
  • Le sous-module bastion-role : crée le rôle IAM principal dans votre compte bastion que Lucid assumera.
    • Définissez le paramètre external_id à l'aide de la valeur unique "External ID" copiée à partir de la page de configuration de l'importation AWS de votre compte Lucid.
  • Le sous-module import-role: crée le rôle IAM à déployer dans les comptes membres pour la lecture des données de ressources.
    • Le module crée un rôle dans le compte membre qui peut être assumé par le compte bastion - le module n'est pas en mesure d'automatiser ce processus pour les comptes membres. Ce module doit être déployé dans chaque compte membre à partir duquel vous souhaitez importer des données, y compris chaque fois que vous souhaitez ajouter de nouveaux comptes à votre organisation à l'avenir. Suivez les pratiques standard de votre organisation pour appliquer le code de ce module aux comptes nouvellement ajoutés.

Instructions

Tout d'abord, assurez-vous que Terraform est configuré pour les comptes auxquels vous ajouterez les modules terraform de Lucid.

Pour en savoir plus : Pour obtenir des instructions, consultez le guide Get Started - AWS de la documentation de Terraform. Le lien fourni vous fait quitter le centre d'aide de Lucid et nous ne pouvons pas garantir l'exactitude du contenu.

Ensuite, configurez et déployez le module Terraform de Lucid en suivant ces étapes :

  • Accédez au module Terraform de Lucid pour configurer les autorisations en cliquant sur View in Terraform Registry, ou accédez directement au module en cliquant sur ce lien.
  • Sur la page du registre des modules, cliquez sur Submodules. Vous configurerez chacun des trois sous-modules requis dans la liste déroulante (org-read-delegation, bastion-role et import-role) dans votre fichier main.tf.
  • Suivez les instructions "Usage" sur la page Readme de chaque sous-module pour ajouter le module à votre code de configuration Terraform.
  • Déployez votre code Terraform et attendez que les ressources incluses dans le module Lucid soient créées.
  • Depuis la console AWS IAM de votre compte bastion, copiez l'ARN du rôle lucid-import-bastion-role créé (ou son nom personnalisé). Vous pouvez également produire cet ARN à partir de votre configuration Terraform.

Enfin, ajoutez votre nouveau rôle IAM à Lucid.

  1. Retournez à l'onglet du hub de données Lucid et descendez jusqu'à la section "Add the cross-account role to Lucid" (Ajouter le rôle de compte croisé à Lucid).
    1. Saisissez l'ARN du rôle du compte bastion dans le champ "Bastion role ARN".
    2. Si vous avez utilisé un MemberRoleName personnalisé lors de la configuration du premier modèle CloudFormation/module Terraform, mettez à jour le champ "Member account role name" avec cette valeur.
    3. (Facultatif) Mettez à jour la valeur préremplie pour "Credential display name" afin de représenter le rôle de bastion utilisé pour coordonner les importations. Ce nom d'affichage sera utilisé dans le hub de données de Lucid afin que vous puissiez identifier l'identifiant pour une utilisation et une gestion ultérieures.
  2. Cliquez sur Suivant pour enregistrer le rôle de compte croisé avec Lucid.
  3. Sélectionnez le rôle et cliquez sur Suivant.
  4. Suivez les étapes pour importer des comptes et créer des documents.

Accès de confiance : Au niveau du compte

Pour importer l'infrastructure AWS pour des comptes individuels via un rôle IAM inter-comptes, procédez comme suit.

Étape 1 : Créer un nouveau compte croisé

Pour enregistrer un nouveau rôle IAM inter-comptes (c'est-à-dire un identifiant d'importation) pour le compte que vous avez choisi, commencez par.. :

  1. Accédez à la page d’accueil de Lucid.
  2. Cliquez sur Concentrateur de données en bas du menu de navigation sur le côté gauche de la page.
  3. Sélectionnez Importer les données AWS.
  4. Sélectionnez Accès de confiance.
  5. Sous la rubrique Étendue des informations d'identification, sélectionnez Connexion à des comptes AWS individuels.
  6. Choisissez la méthode que vous préférez pour enregistrer un nouveau titre (par ex. rôle IAM AWS) :
    • Utiliser un module Terraform
    • Utiliser un modèle CloudFormation
    • Créer manuellement 

Ici, vous choisirez votre méthode préférée pour créer un nouvel identifiant de rôle inter-comptes : automatiquement avec un module Terraform (sélectionnez Terraform), automatiquement avec une pile CloudFormation (sélectionnez CloudFormation) ou manuellement à l'aide des rôles et politiques IAM (sélectionnez Création manuelle). Complétez l'étape 1 pour la méthode choisie, puis passez à l'étape 2 pour ajouter le rôle de compte croisé à Lucid.

Méthode 1 : Utilisation de Terraform pour la création automatisée de rôles de comptes AWS individuels

Tout d'abord, assurez-vous que votre environnement Terraform est configuré avec des informations d'identification AWS disposant d'autorisations suffisantes pour créer et gérer des rôles IAM dans le compte AWS où vous avez l'intention de déployer le rôle d'importation de Lucid. Reportez-vous à la documentation Get Started - AWS de Terraform pour plus de détails.

Ensuite, passez à l'étape 1 du processus d'installation de Lucid pour configurer et déployer le module Terraform de Lucid.

  1. Après avoir sélectionné l'option Terraform pour les importations au niveau du compte dans Lucid, accédez au module de configuration des autorisations AWS en cliquant sur View in Terraform Registry, ou accédez directement au module import-role dans le Terriform Registry ici. 
  2. Sur la page Readme du module import-role , repérez et suivez la section "Non-Org Level Imports" sous "Usage" pour ajouter le module à votre code de configuration Terraform.
    1. Ce sous-module nécessite une valeur external_id. Obtenez la valeur de cet identifiant externe en retournant dans votre onglet Lucid et en cliquant sur Copier à côté de l'identifiant externe fourni dans la configuration de l'étape 1 de Lucid.
  3. Déployez votre code Terraform et attendez que les ressources incluses dans le module Lucid soient créées.
  4. Naviguez vers la console AWS IAM dans le compte AWS où vous avez déployé le rôle, localisez le rôle lucid-import-account-role (ou votre nom de rôle personnalisé), et copiez son ARN à partir de la page Résumé. Vous pouvez également produire cet ARN à partir de votre configuration Terraform.

Méthode 2 : Utilisation de CloudFormation pour la création automatisée de rôles de comptes AWS individuels

Pour créer automatiquement un nouveau rôle avec CloudFormation, procédez comme suit :

  1. Connectez-vous à la console AWS en utilisant le compte que vous souhaitez importer.
  2. Dans Lucid, cliquez sur Lancer CloudFormation pour ouvrir un nouvel onglet de navigateur. Laissez l'onglet de votre navigateur Lucid ouvert afin de pouvoir y revenir plus tard.
  3. Dans la console AWS, cliquez sur Créer une pile.
  4. Une fois la pile créée, accédez à l'onglet Ressources de votre console AWS et sélectionnez le rôle "LucidscaleImportRole" (ou votre nom CrossAccountRole personnalisé ). Copiez l'ARN du rôle.
  5. Passez aux étapes d'enregistrement de votre rôle de compte croisé dans le hub de données.

Méthode 3 : Utilisation de la console AWS IAM pour la création manuelle de rôles de comptes AWS individuels

Pour créer manuellement un nouveau rôle dans la console AWS IAM, procédez comme suit :

  1. Sous "Étape 1 : Commencer à créer un rôle", sélectionnez Créer un rôle.
  1. Vous serez dirigé vers votre compte AWS. Laissez l'onglet de votre navigateur Lucid ouvert afin de pouvoir y revenir plus tard.
  2. Lucidscale générera automatiquement un identifiant externe unique associé à votre compte Lucidscale. Ceci est conforme aux recommandations de sécurité d'AWS.
  1. Ajoutez la politique ReadOnlyAccess :
    1. Dans AWS, cliquez sur Suivant pour passer à l'étape de l'autorisation.
    2. Sur la page "Ajouter des autorisations", recherchez et sélectionnez la stratégie ReadOnlyAccess . Ce paramètre est activé par défaut dans Lucid et est nécessaire pour que toutes les ressources apparaissent correctement dans les documents Lucidscale créés.
  2. Ajoutez des autorisations personnalisées :
    1. Retournez à l'onglet Lucid à l'adresse "3. Ajoutez des autorisations personnalisées" et cliquez sur Copier les autorisations pour copier le fichier texte JSON.
    2. Ouvrez un nouvel onglet ou une nouvelle fenêtre et accédez à votre console AWS IAM, allez dans le volet de navigation gauche et sélectionnez Politiques.
    3. Dans la page Politiques, cliquez sur Créer une politique.
    4. Sur la page "Create Policy", passez à l'onglet JSON et collez le fichier que vous avez copié dans l'onglet JSON de votre AWS Console.
    5. Cliquez sur Suivant : Tags.
    6. Ajoutez des balises à la politique si vous le souhaitez, puis cliquez sur Suivant : Passez en revue.
    7. Donnez un nom et une description à la politique.
    8. Cliquez sur Créer une politique.
  3. Attachez une politique personnalisée au rôle :
    1. Dans l'onglet AWS précédent où vous avez créé un nouveau rôle inter-comptes, cliquez sur le bouton d'actualisation et recherchez le nom de la politique que vous venez de créer.
    2. Sélectionnez la politique et cliquez sur Suivant.
    3. Donnez un nom et une description au rôle. Si vous le souhaitez, ajoutez des balises au rôle.
    4. Cliquez sur Créer un rôle.

Étape 2 : Ajouter le rôle de compte croisé à Lucid

Une fois que vous avez obtenu l'ARN du rôle selon la méthode choisie (Terraform, CloudFormation ou création manuelle), retournez à la configuration de l'importation AWS de Lucid pour terminer l'étape 2 :

  1. Collez le Role ARN copié dans le champ "Role ARN" du formulaire fourni dans la configuration de l'importation AWS de Lucid Étape 2.
    • Si vous le souhaitez, mettez à jour la valeur préremplie pour le "Credential display name". Ce nom d'affichage sera utilisé dans la section "Data Hub > AWS > Credentials" afin que vous puissiez localiser l'identifiant pour une utilisation et une gestion futures, et représentera le rôle inter-comptes utilisé pour coordonner les importations de votre compte AWS choisi.
  2. Cliquez sur Suivant pour enregistrer le rôle de compte croisé avec Lucid, puis sélectionnez le rôle d'authentification et cliquez à nouveau sur Suivant.
  3. Procédez à la sélection des comptes AWS pour l'importation de données et la création de documents.

Autorisation à usage unique

L'autorisation à usage unique importe un compte AWS à l'aide d'une clé d'accès d'utilisateur IAM de courte durée (ID de clé d'accès + secret). Lucid ne conserve pas ces informations d'identification une fois l'analyse terminée ; vous devez les saisir à nouveau pour les mises à jour ultérieures. Utilisez ce flux pour des importations ponctuelles ou lorsque vous ne pouvez pas déployer des rôles inter-comptes.

Conditions préalables

  • Un compte AWS avec des autorisations pour créer des politiques IAM, des utilisateurs et des clés d'accès.
  • Un utilisateur Lucid ayant un accès à Cloud Accelerator et des permissions d'importation dans le hub de données.
  • Accès au JSON de la politique personnalisée fournie par Lucid à partir du hub de données.

Informations d'identification STS temporaires (facultatif)
Les informations d'identification temporaires AWS comprennent trois champs : AccessKeyId, SecretAccessKey et SessionToken. Lucid accepte ces identifiants temporaires pour les importations à usage unique lorsque vous fournissez le jeton de session avec la clé d'accès et le secret. Vous pouvez générer des informations d'identification temporaires en utilisant aws sts assume-role ou un flux SSO.

Assumer un rôle (STS)

    aws sts assume-role --role-arn
 arn:aws:iam::123456789012:role/YourRole --role-session-name
 lucid-session
    

SSO (interactif)

      aws configure sso
 ### Suivez les invites : URL de démarrage SSO, région, puis sélectionnez le rôle et le compte.
    

Remarque : Les importations à usage unique qui utilisent des informations d'identification temporaires vous obligent à saisir de nouvelles informations d'identification pour les mises à jour ultérieures.

Créer et enregistrer un utilisateur AWS IAM (étape par étape)

Étape 1 : Commencer dans la lucidité

  1. Ouvrez la page d'accueil de Lucid.
  2. Cliquez sur Data hub dans la barre de navigation en bas à gauche.
  3. Sélectionnez Importer les données AWS.
  4. Choisissez l'autorisation à usage unique.

Étape 2 : Créer la politique personnalisée dans AWS

  1. Dans le flux d'enregistrement du hub de données Lucid, téléchargez ou copiez la politique JSON personnalisée fournie à l'étape 1.
  2. Dans la console AWS, ouvrez IAMPolitiquesCréer une politique.
  3. Passez à l'onglet JSON et collez le JSON de la politique fournie par Lucid.
  4. (Facultatif) Personnalisez la politique si vous comprenez l'étendue des autorisations requises.
  5. Cliquez sur Suivant, donnez un nom significatif à la politique (par exemple : "lucid_custom_iam_policy"), ajoutez une description et des balises, puis Créez la politique.

Étape 3 : Créer un utilisateur IAM et lui attribuer des autorisations

  1. Dans IAMUtilisateurs, cliquez sur Créer un utilisateur.
  2. Fournissez un nom d'utilisateur et activez l'accès programmatique.
  3. Dans l'étape Permissions, choisissez Attacher les politiques directement.
  4. Attachez ReadOnlyAccess (géré par AWS) si un accès en lecture plus large est acceptable.
  5. Joignez également la politique personnalisée créée à l'étape 2.
  6. Terminez la création de l'utilisateur et accédez à l'onglet Security credentials pour cet utilisateur.

Étape 4 : Créer des clés d'accès

  1. Dans l'onglet Informations d'identification de sécurité, sous Clés d'accès, cliquez sur Créer une clé d'accès.
  2. Pour Use Case (cas d'utilisation), choisissez Third-party service (service tiers) si vous y êtes invité.
  3. Copiez l'ID de la clé d'accès et la clé d'accès secrète ou téléchargez le fichier CSV. Traitez le secret comme n'importe quel autre document d'identification sensible.

Étape 5 : Enregistrer les informations d'identification dans Lucid et les importer

  1. Retournez au hub de données Lucid et choisissez de télécharger le CSV ou d'entrer les informations d'identification manuellement.
    • (Facultatif) Si vous utilisez des informations d'identification STS temporaires, fournissez le jeton de session ainsi que l'ID de la clé d'accès et la clé d'accès secrète.
  2. Cliquez sur Suivant.
  3. Configurez les régions et les types de ressources que vous souhaitez importer ; désélectionnez les types de ressources lourds ou non pris en charge pour réduire la surface d'importation.
  4. Donnez un nom à l'importation du compte et cliquez sur Terminer.

Remarque : Lucid ne conservera pas vos identifiants IAM après avoir effectué l'analyse initiale.

Téléchargement de fichier

Pour importer l'infrastructure AWS via un fichier JSON, procédez comme suit :

  1. Sur la page d'accueil de Lucid, cliquez sur Data hub dans le menu de navigation de gauche.
  2. Sélectionnez Importer des données AWS dans le coin supérieur droit.
  3. Choisissez File upload.
  4. Téléchargez ou copiez les autorisations de profil fournies par Lucid à partir de l'onglet du hub de données Lucid.
  5. Configurez votre AWS CLI avec un profil nommé qui inclut ces autorisations.
  6. Dans l'onglet Lucid data hub, téléchargez ou copiez le script Python.
  7. Exécutez le script Python dans votre CLI AWS. Un fichier aws.json sera généré.
  8. Dans l'onglet Lucid data hub, sélectionnez Choose file et téléchargez le fichier aws.json.
    • Vous pouvez importer jusqu'à 50 comptes à la fois. Si vous avez plus de 50 comptes dans le fichier téléchargé, séparez le fichier en plusieurs fichiers JSON à importer.
  9. Cliquez sur Suivant.
  10. Indiquez un nom d'alias pour chaque compte que vous souhaitez importer.
  11. Sélectionnez Importer des comptes AWS.

Description du script de téléchargement de fichiers AWS
Le script d'importation fourni par Lucid, awscliscript.py, nécessite la configuration d'un profil nommé dans le CLI. Un profil nommé est un ensemble de paramètres et d'informations d'identification que vous pouvez appliquer à une commande AWS CLI. Pour obtenir des instructions détaillées sur la création d'un profil AWS, reportez-vous à la documentation d'AWS sur les paramètres de configuration et de fichier d'identification dans l'interface CLI d'AWS.

L'exécution de aws configure stocke les informations d'identification saisies dans le profil nommé default. Si vous avez plusieurs comptes, nous vous recommandons de créer des profils nommés pour chacun d'entre eux. Par exemple, si j'ai deux comptes, preprod et prod, et que je stocke leurs informations d'identification dans deux profils distincts, je peux facilement décrire les instances ec2 dans preprod en faisant aws ec2 describe-instances -- profile preprod. Ensuite, pour décrire les instances dans prod, je peux changer l'argument du profil en aws ec2 describe-instances -- profile prod.

Les exigences

  • Python : Versions 3.0-3.9. Assurez-vous que "Add Python to PATH" est sélectionné lors de l'installation.
  • AWS CLI : installé et configuré.
  • `botocore` : Version 1.27.77. Installez en utilisant pip3 install botocore==1.27.77.

Paramètres

  • -p, --profil [OBLIGATOIRE]
    • Spécifie le nom du profil AWS à utiliser. Cette option peut être répétée pour importer à partir de plusieurs profils.
  • -r, --régions [OBLIGATOIRE]
    • Spécifie une ou plusieurs régions AWS à partir desquelles importer des ressources. Cette option doit correspondre à l'option --profile précédente.
  • -c, --count
    • Produit un fichier JSON contenant le nombre de ressources. Lorsque cet indicateur est utilisé, le fichier JSON généré n'est pas adapté aux importations Lucidscale.
  • -a, --anon
    • Anonymiser les données de sortie en hachant toutes les chaînes.
  • -o, --output
    • Spécifie le nom de fichier pour la sortie JSON générée.

Exemple
python3 awscliscript.py --profile preprod --regions us-east-1 us-west-1

La commande ci-dessus exécute le script et génère des données pour les ressources du profil preprod résidant dans les régions us-east-1 et us-west-1.

Note : Lucidscale - AWS a été développé à partir de la version 1.27.77 de botocore, Cependant, si vous avez déjà installé une version différente, l'importation devrait toujours fonctionner. Si ce n'est pas le cas, envisagez d'exécuter le script dans un environnement virtuel python qui vous permet de gérer des installations de paquets distinctes pour différents projets. Après avoir exécuté le script, vous pouvez supprimer l'environnement virtuel. Vous trouverez des instructions pour la création d'un environnement virtuel Python dans ce guide d'utilisation de Python.

Utilisez le Data Hub pour gérer les données et les informations d'identification de l'infrastructure AWS.

Importer des comptes et créer des documents

Pour importer des comptes AWS et créer des documents Lucid, procédez comme suit :

  1. Sélectionnez le(s) compte(s) que vous souhaitez importer dans le Data Hub.
  2. Cliquez sur Suivant.
  3. En suivant les instructions détaillées à la fin de cette section sous Configuration des comptes à l'aide d'un rôle inter-comptes, vous pouvez spécifier les régions que vous souhaitez importer.
  4. Cliquez sur Importer un compte AWS.

Pour visualiser votre compte AWS une fois l'importation terminée :

  1. Retournez au Data Hub.
  2. Sélectionnez Créer un nouveau document.
  3. Sélectionnez le compte que vous avez importé et cliquez sur Choisir des comptes.
  4. Examinez les détails et ajoutez des filtres pour exclure les ressources inutiles.
  5. Sélectionnez Créer un document AWS.

Le document Lucidscale sera généré en arrière-plan de votre compte Lucid. Nous vous informerons de sa création par le biais d'une fenêtre modale d'état qui apparaît en bas à droite de la page.

Vous pouvez ouvrir le document à partir de la fenêtre d'état qui s'affiche directement après la création d'un nouveau document. Le document (et les documents créés précédemment) sera également stocké et accessible dans la section "Documents" de votre page d'accueil Lucid une fois que vous l'aurez généré.

Accès aux comptes importés

Après avoir importé votre compte AWS, il sera répertorié en tant que source de données avec le nom de compte que vous avez spécifié dans lasection "AWS : Imported Accounts" du Data Hub. Dans cette section, vous pouvez également cliquer sur + New account pour importer un nouveau compte dans le Data Hub.

Les comptes listés dans cette section sont des sources de données qui peuvent être utilisées pour créer de nouveaux documents Lucidscale. Les sources de données ("Accounts") contiennent les métadonnées du compte AWS utilisées pour créer les documents Lucidscale. Le champ "Dernière mise à jour" indique la date à laquelle votre source de données a été actualisée pour prendre en compte les éventuelles mises à jour de votre compte AWS connecté.

Vous pouvez importer plusieurs fois le même compte AWS. Chaque importation crée une source de données indépendante qui existe parallèlement à toutes les versions précédemment importées de ce compte. Vous n'avez pas besoin de supprimer une source de données existante avant de réimporter le même compte - les deux coexisteront dans le Data Hub et pourront être utilisés pour créer des documents indépendamment.

aws_data_hub_overview_showing_all_account_options.png

L'inventaire du nuage de chaque compte est affiché sur le côté droit après avoir sélectionné un compte dans la liste. Cet inventaire vous permet de connaître le nombre total de chaque type de ressource importée avant de créer un document. Vous pouvez également télécharger un fichier CSV contenant la liste des ressources et le décompte directement à partir du Data Hub en cliquant sur Télécharger CSV.

L'inventaire répertorie toutes les ressources auxquelles votre politique d'autorisations attachée au rôle inter-comptes permet d'accéder. Si vous choisissez d'utiliser l'option "Créer un nouveau rôle automatiquement" avec notre modèle CloudFormation Stack, toutes les ressources de votre compte qui sont accessibles par la politique ReadOnlyAccess d'AWS seront rendues dans l'inventaire. Si vous créez un rôle manuellement avec une politique personnalisée, seuls les types de ressources spécifiés dans votre politique d'autorisations seront affichés dans l'inventaire. 

Cliquez sur le menu à troispoints rendu sur un compte pour voir six options potentielles : Créer un nouveau document, Mettre à jour le compte à partir d'AWS, Planifier la mise à jour, Modifier les ressources, Renommer le compteet Supprimer le compte.

Créer un nouveau document lance le rendu de l'infrastructure AWS associée au compte sous la forme d'un diagramme dans l'espace de travail d'un nouveau document. Le document sera généré en arrière-plan de votre page d'accueil Lucid et nous vous informerons une fois qu'il aura été rendu par le biais de la fenêtre modale d'état qui apparaît en bas à droite de la page.

Mettre à jour le compte à partir d'AWS et planifier la mise à jour vous permet de mettre à jour manuellement ou automatiquement les données du compte AWS que vous avez importées dans le Data Hub afin de refléter tout changement dans le compte AWS connecté. Les nouveaux documents créés à partir du compte après la mise à jour refléteront les modifications apportées au compte AWS connecté.

En savoir plus : Les mises à jour programmées sont automatiquement activées pour les sources de données en nuage importées. Vous pouvez l'ajuster à tout moment à partir du centre de données. Pour plus d'informations sur la mise à jour des comptes depuis AWS, reportez-vous à notre article Mettre à jour et synchroniser les données dans Lucidscale. 

Modifier les ressources vous permet de modifier les ressources incluses dans chaque ensemble de données. Sélectionnez cette option pour ouvrir une fenêtre modale dans laquelle vous pouvez ajouter ou supprimer des ressources de vos ensembles de données existants. Lorsque vous avez terminé votre sélection, cliquez sur Enregistrer et mettre à jour le compte. Cela garantit que l'ensemble de données est actualisé et que les documents faisant référence à cet ensemble de données sont mis à jour avec les informations les plus récentes.

how_to_edit_aws_dataset_resources_in_lucidscale.png

Renommer le compte vous permet de modifier le nom de l'ensemble de données sélectionné.

Supprimer le compte supprime le compte importé du Lucid Data Hub et tous les documents créés à partir de ce compte perdront la possibilité de mettre à jour les données à partir d'AWS. Gardez à l'esprit qu'il n'est pas nécessaire de supprimer un compte pour le réimporter - une nouvelle importation du même compte peut être lancée à tout moment à partir de + Nouveau compte.

Remarque : les options affichées ci-dessus varient en fonction de la méthode d'importation que vous avez utilisée pour un compte. L'option demise à jour n'est disponible qu'avec l'importation de rôles inter-comptes AWS. Les importations IAM et CLI ne prennent pas en charge cette option. 

Partager et supprimer les informations d'identification enregistrées

La sectionSaved Credentials dans "Data Hub > AWS" répertorie les rôles de comptes croisés que vous pouvez utiliser pour importer vos comptes AWS dans le Data Hub. Dans cette section, cliquez sur + New Cross-account role pour ajouter un nouvel ensemble d'informations d'identification qui peuvent être utilisées pour importer un compte AWS.  

Vous pouvez également partager les rôles inter-comptes que vous avez créés avec d'autres utilisateurs. Si vous cliquez sur le menu à trois points rendu sur un compte, vous verrez deux options possibles : Partager les informations d'identification et Supprimer les informations d'identification.

exemple_de_la_page_des_credentials_sauvés_dans_le_hub_de_données_lucidescale.png

Share credential ouvre une fenêtre modale dans laquelle vous pouvez partager un rôle inter-comptes avec un autre utilisateur de votre compte Lucid en spécifiant son adresse e-mail. En lui donnant accès à l'identifiant, vous lui permettez d'importer le compte AWS associé dans le Data Hub et de créer des documents Lucidscale. Une fois qu'un identifiant a été partagé avec un autre utilisateur, vous pouvez révoquer son accès à l'identifiant en cliquant sur le X à côté de son adresse e-mail dans la même fenêtre.

Supprimer l'identifiant supprime le rôle inter-comptes du Data Hub. Après la suppression d'un identifiant, tous les comptes précédemment importés avec cet identifiantainsi que les documents créés à partir de ces comptes perdront la possibilité de mettre à jour les données à partir d'AWS.

En savoir plus : Vous ne pouvez partager des informations d'identification que dans le Data Hub dont vous êtes le propriétaire. Seules les personnes disposant de l'accès approprié peuvent importer des comptes et créer des documents. Pour plus de détails, consultez notre article sur lagestion, l'utilisation et la sécurité des identifiants dans Lucidscale .

Informations de sécurité

Rôles transversaux

Les rôles inter-comptes sont la méthode préférée d'AWS pour accorder à des tiers l'accès à votre compte. Cette méthode permet à Lucidscale de stocker en toute sécurité les informations d'identification qui vous permettent d'actualiser facilement un diagramme. Consultez ces ressources pour plus d'informations :

Identification externe forcée

Conformément aux meilleures pratiques de sécurité fournies par AWS, Lucid veille à ce que les identifiants externes restent uniques dans la base de données de Lucid. Par conséquent, Lucid fournit un identifiant externe unique à l'utilisateur et lui interdit de saisir son propre identifiant externe.

Accès sécurisé et limité pour les utilisateurs IAM

Nous demandons une autorisation limitée, de niveau "description", pour l'utilisateur IAM que vous créez. Un utilisateur IAM créé avec ces autorisations ne peut pas modifier les paramètres de votre infrastructure AWS ni lire les données de vos bases de données. Nous n'utilisons l'utilisateur IAM que pour lire les métadonnées structurelles de votre infrastructure AWS. 

Alternative au script d'interface de ligne de commande

Si vous souhaitez examiner et contrôler les actions que nous entreprenons au cours de notre analyse de l'infrastructure AWS, vous pouvez télécharger et utiliser le script Python que nous vous fournissons au lieu de créer un utilisateur IAM. Dans ce scénario, vos identifiants IAM ne seront jamais transmis à Lucidscale, et vous pouvez vérifier le code qui s'exécutera dans votre environnement et les métadonnées qui en résulteront avant de les télécharger sur Lucidscale. Le JSON importé sera accessible dans le Lucid Data Hub et pourra être utilisé pour créer des documents Lucidscale. 

Stockage sécurisé des documents (documents)

Lucidscale stocke les métadonnées importées d'AWS et les documents générés en utilisant les protections standard de l'industrie pour les données confidentielles. Les données AWS importées sont intégrées au document Lucidscale, ce qui vous permet de contrôler l'accès aux données à l'aide des autorisations de partage standard de Lucid. Pour plus d'informations sur la façon dont nous protégeons vos documents, veuillez consulter notre page Sécurité du contenu ou contacter notre équipe commerciale.

Pas de stockage des clés d'accès

Lucidscale ne stocke pas vos identifiants AWS IAM après avoir effectué l'analyse initiale de votre infrastructure AWS. Vos données d'identification seront transférées sur nos serveurs en utilisant des méthodes de cryptage standard. Les clients peuvent négocier des protocoles de cryptage allant jusqu'à AES-256. Nous pouvons enregistrer un rôle inter-comptes qui nous donne uniquement un accès "description et liste" à votre environnement.

FAQ

Comment Lucidscale accède-t-il à notre environnement AWS ? Quel est le niveau d'accès à Lucidscale ?

La méthode recommandée par Lucidscale et AWS consiste à utiliser un rôle inter-comptes. Nous fournissons une politique qui nous donne un accès "description et liste" à votre environnement afin que nous puissions obtenir un inventaire des ressources. Les informations d'identification stockées dans Lucid ne sont accessibles que par votre compte Lucid. Cette méthode d'importation vous permettra de mettre à jour les données du compte en une seule action. La politique de permissions que nous fournissons vous permet de déterminer exactement quelles données le rôle Cross-Account pourra demander à AWS. 

Si vous utilisez notre méthode IAM, les informations d'identification ne sont pas stockées du tout, mais sont utilisées une seule fois et supprimées. En général, nos utilisateurs utilisent cette méthode d'importation avec des informations d'identification temporaires AWS, car cette méthode ne permet pas de mettre à jour des données supplémentaires.

Nous disposons également d'une méthode utilisant un script python que vous pouvez exécuter via l'interface de ligne de commande (CLI) et qui génère un fichier JSON. Après avoir généré le fichier JSON, les utilisateurs peuvent en examiner le contenu et supprimer des données si nécessaire avant l'importation. Les utilisateurs peuvent alors télécharger ce fichier JSON vers Lucidscale et ne pas saisir d'informations d'identification dans Lucidscale.

Comment Lucidscale commercial et Lucidscale for Gov interagissent-ils lors de l'importation via les rôles de comptes croisés ?

Bien que la fonctionnalité du produit soit la même dans les deux cas, AWS configure la sécurité différemment pour ces deux environnements. Les rôles IAM AWS et les stratégies basées sur les ressources délèguent l'accès aux comptes uniquement au sein d'une partition unique. Lucid GovSuite se trouve dans une partition AWS distincte et ne peut donc pas importer de données AWS via un rôle de compte croisé à partir de comptes AWS non GovCloud. Ainsi, si vous êtes dans l'environnement commercial Lucid, vous pouvez accéder aux comptes commerciaux AWS Cloud et les importer via un rôle de compte croisé, et si vous êtes dans l'environnement Lucid GovSuite, vous pouvez accéder aux comptes AWS GovCloud et les importer via un rôle de compte croisé.

Nous prenons en charge la possibilité d'importer des comptes commerciaux AWS vers Lucidscale pour Gov via un utilisateur IAM ou un JSON créé à partir de notre script CLI.

Quelles sont les API auxquelles Lucidscale a accès ?

Nous utilisons principalement les points d'extrémité de l'API "décrire" et "lister".

Pouvez-vous choisir les métadonnées (les champs et les valeurs affichés dans le panneau Données) qui seront importées ? Si ce n'est pas le cas, quelles sont les métadonnées importées ?

Non, vous ne pouvez pas actuellement choisir les métadonnées qui seront importées. Cependant, nous envisageons de créer une possibilité de le faire à l'avenir. Toutes les métadonnées d'un appel API de description sont importées.

Donnez votre avis sur cet article

Vous avez des commentaires sur cet article ? Racontez-nous votre expérience ici

Vous avez trouvé ce que vous cherchiez ?

Vous avez encore une question ou vous voulez partager ce que vous avez appris ? Visitez notre Communauté   pour obtenir de l’aide et collaborer avec les autres.