Utilisation du AWS CloudFormation registre - AWS CloudFormation

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.

Utilisation du AWS CloudFormation registre

Le CloudFormation registre vous permet de gérer les extensions, publiques et privées, telles que les ressources, les modules et les hooks qui peuvent être utilisés dans votre Compte AWS. Actuellement, vous pouvez utiliser les types d'extensions suivants dans le AWS registre : types de ressources, modules et hooks. Le registre facilite la découverte et le provisionnement des extensions dans vos AWS CloudFormation modèles de la même manière que vous utilisez les ressources AWS fournies.

Extensions publiques et privées

Les types d'extension sont enregistrés comme publics ou privés. Actuellement, le registre propose les types d'extension suivants :

  • Types de ressources : modélisez et fournissez une logique personnalisée en tant que ressource, en utilisant des piles. CloudFormation

  • Modules : empaquetez des configurations de ressources pour les inclure dans les modèles de pile, de manière transparente, gérable et reproductible.

  • Hooks : inspectez de manière proactive la configuration de vos AWS ressources avant de les approvisionner.

Types d'extension publique

Les extensions publiques sont celles publiées publiquement dans le registre pour être utilisées par tous les CloudFormation utilisateurs. Cela inclut les extensions publiées par AWS et des éditeurs d'extensions tiers.

Il existe deux types d'extension publique :

  • AWS extensions publiques : les extensions publiées par AWS sont toujours publiques et activées par défaut. Vous n'avez donc aucune action à effectuer avant de les utiliser dans votre compte. En outre, AWS contrôle la gestion des versions de l'extension, afin que vous utilisiez toujours la dernière version disponible.

  • Extensions publiques tierces : il s'agit d'extensions mises à disposition pour une utilisation générale par d'autres éditeurs que AWS.

Pour plus d'informations, veuillez consulter la rubrique Utilisation d'extensions publiques.

Types d'extension privée

Les extensions privées sont les extensions de tiers que vous avez explicitement activées pour qu'elles soient utilisées dans votre Compte AWS.

Il existe deux types d'extensions privées :

  • Extensions privées activées : il s'agit des copies locales des extensions tierces que vous avez activées pour votre compte et votre région. Lorsque vous activez une extension publique tierce, CloudFormation crée une copie locale de cette extension dans le registre de votre compte.

  • Extensions privées enregistrées — Peut également activer des extensions privées qui ne figurent pas dans le CloudFormation registre public. Il peut s'agir d'extensions que vous avez créées vous-même ou d'extensions partagées avec vous par votre organisation ou un autre tiers. Pour utiliser une extension privée dans votre compte, vous devez d'abord l'enregistrer. L'enregistrement de l'extension en télécharge une copie dans le CloudFormation registre de votre compte et l'active.

Pour plus d'informations, veuillez consulter la rubrique Utilisation d'extensions privées.

Gestion des extensions via le CloudFormation registre

Utilisez le CloudFormation registre pour gérer les extensions de votre compte, notamment :

  • Affichage des extensions disponibles et activées.

  • Enregistrement d'extensions privées.

  • Activation d'extensions publiques.

Pour afficher les extensions dans la CloudFormation console

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Dans le volet de CloudFormationnavigation, sous Registre, sélectionnez la catégorie d'extension que vous souhaitez afficher :

    • Public extensions (Extensions publiques) affiche les extensions publiques disponibles dans votre compte.

      1. Choisissez votre type d'extension : Resource types (Types de ressource), Modules ou Hooks.

      2. Choisissez votre éditeur : AWS ou Third party (Tiers).

      3. Utilisez les options Filter (Filtre) pour sélectionner davantage les extensions à afficher.

    • Activated extensions (Extensions activées) affiche les extensions publiques et privées qui ont été activées dans votre compte.

      1. Choisissez votre type d'extension : Resource types (Types de ressource), Modules ou Hooks.

      2. Utilisez le menu déroulant Filter (Filtre) pour sélectionner davantage les extensions à afficher :

        • AWS— répertorie les extensions publiées par AWS. Les extensions publiées par AWS sont activées par défaut.

        • Tierce : répertorie toutes les extensions publiques des éditeurs autres AWS que celles que vous avez activées dans ce compte.

        • Registered (Enregistré) : répertorie toutes les extensions privées que vous avez activées sur ce compte.

    • Publisher (Éditeur) affiche toutes les extensions publiques que vous avez publiées à l'aide de ce compte. Pour plus d'informations, veuillez consulter la rubrique Publication d'extensions dans le Guide utilisateur pour le développement d'extensions.

  3. Recherchez ou sélectionnez le nom de l'extension pour afficher les détails de l'extension.

Enregistrez les types de ressources dans AWS Config

Vous pouvez spécifier un suivi AWS Config automatique de vos types de ressources privées et enregistrer les modifications apportées à ces ressources en tant qu'éléments de configuration. Cela vous permet de consulter l'historique de configuration de ces types de ressources privées, ainsi que d'écrire des AWS Config Rules règles pour vérifier les meilleures pratiques de configuration. AWS Config est nécessaire pour l'extension du crochet.

Pour suivre AWS Config automatiquement vos types de ressources privées :

  • Gérez les ressources via CloudFormation. Cela inclut l'exécution de toutes les opérations de création, de mise à jour et de suppression de ressources via CloudFormation.

    Note

    Si vous utilisez un rôle IAM pour effectuer vos opérations de stack, ce rôle IAM doit être autorisé à effectuer les actions suivantes : AWS Config

  • Configurez AWS Config pour enregistrer tous les types de ressources. Pour de plus amples informations, veuillez consulter Enregistrement de configurations pour les ressources tierces dans le Manuel du développeur AWS Config .

    Note

    AWS Config ne prend pas en charge l'enregistrement de ressources privées contenant des propriétés définies à la fois comme obligatoires et en écriture seule.

    De par leur conception, les propriétés des ressources définies en écriture seule ne sont pas renvoyées dans le schéma utilisé pour créer l'élément de AWS Config configuration. Pour cette raison, l'inclusion d'une propriété définie comme étant à la fois en écriture seule et obligatoire entraînera l'échec de la création de l'élément de configuration, car une propriété requise ne sera pas présente. Pour afficher le schéma qui sera utilisé pour créer l'élément de configuration, vous pouvez consulter la schema propriété de l'DescribeTypeaction.

Pour plus d'informations sur les éléments de configuration, veuillez consulter la rubrique Éléments de configuration dans le Guide du développeur AWS Config .

Prévention de l'enregistrement de propriétés sensibles dans un élément de configuration

Votre type de ressource peut contenir des propriétés que vous considérez comme étant des informations sensibles (telles que des mots de passe, des secrets ou d'autres données sensibles) que vous ne souhaitez pas enregistrer dans l'élément de configuration. Pour prévenir l'enregistrement d'une propriété dans l'élément de configuration, vous pouvez inclure cette propriété dans la liste writeOnlyproperties de votre schéma de type de ressource. Les propriétés de ressources répertoriées en tant que writeOnlyproperties peuvent être spécifiées par l'utilisateur, mais ne seront pas renvoyées par une demande read ou list.

Pour plus d'informations, consultez la section Schéma du fournisseur de ressources dans le guide de l'utilisateur de l'interface de ligne de CloudFormation commande.

Prévention de l’adjoint confus

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé pour utiliser ses autorisations afin d'agir sur les ressources d'un autre client de sorte qu'il n'y aurait pas accès autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte.

Nous recommandons d'utiliser les clés de contexte de condition aws:SourceAccountglobale aws:SourceArnet les clés contextuelles dans les politiques de ressources afin de limiter les autorisations qui AWS CloudFormation accordent un autre service à l'extension. Si la valeur aws:SourceArn ne contient pas l'ID de compte, tel que l'Amazon Resource Name (ARN) d'un compartiment Amazon S3, vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur aws:SourceArn contient l'ID de compte, la valeur aws:SourceAccount et le compte dans la valeur aws:SourceArn doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez aws:SourceArn si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. Utilisez aws:SourceAccount si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

La valeur de aws:SourceArn doit utiliser l'ARN de l'extension.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale aws:SourceArn avec l’ARN complet de la ressource. Si vous ne connaissez pas l'ARN complet de l'extension ou si vous spécifiez plusieurs extensions, utilisez la clé de contexte de condition globale aws:SourceArn avec des caractères génériques (*) pour les parties inconnues de l'ARN. Par exemple, arn:aws:cloudformation:*:123456789012:*.

Note

Pour les services de CloudFormation registre, appelle AWS Security Token Service (AWS STS) pour jouer un rôle dans votre compte. Ce rôle est configuré pour ExecutionRoleArn dans l'opération RegisterType et LogRoleArn est défini dans l'opération LoggingConfig.

L'exemple suivant montre comment utiliser les touches de contexte de condition aws:SourceAccount globale aws:SourceArn et globale AWS CloudFormation pour éviter le problème de confusion des adjoints.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource/*" } } } ] }