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.
Utiliser des extensions publiques tierces depuis le CloudFormation registre
Pour utiliser une extension publique tierce dans votre modèle, vous devez d'abord activer l'extension pour le compte et la région dans lesquels vous souhaitez l'utiliser. L'activation d'une extension la rend utilisable dans les opérations de stack du compte et de la région où elle est activée.
Lorsque vous activez une extension publique tierce, CloudFormation crée une entrée dans le registre des extensions de votre compte pour l'extension activée en tant qu'extension privée. Cela vous permet de définir toutes les propriétés de configuration incluses dans l'extension. Les propriétés de configuration définissent la manière dont l'extension est configurée pour une région donnée Compte AWS .
Outre la définition des propriétés de configuration, vous pouvez également personnaliser l'extension de la manière suivante :
-
Spécifiez le rôle d'exécution CloudFormation utilisé pour activer l'extension, en plus de configurer la journalisation de l'extension.
-
Spécifiez si l'extension est automatiquement mise à jour lorsqu'une nouvelle version mineure ou corrective est disponible.
-
Spécifiez un alias à utiliser plutôt que le nom de l'extension publique tierce. Cela permet d'éviter les collisions de noms entre les extensions tierces.
Rubriques
- Configurer un rôle d'exécution avec des IAM autorisations et une politique de confiance pour l'accès public aux extensions
- Utiliser automatiquement les nouvelles versions des extensions
- Utiliser des alias pour faire référence aux extensions
- AWS CLI Commandes couramment utilisées pour travailler avec des extensions publiques
- Activez une extension publique tierce dans votre compte
- Mettre à jour une extension tierce publique dans votre compte
- Désactiver les extensions publiques tierces dans votre compte
Configurer un rôle d'exécution avec des IAM autorisations et une politique de confiance pour l'accès public aux extensions
Lorsque vous activez une extension publique depuis le CloudFormation registre, vous pouvez fournir un rôle d'exécution qui donne CloudFormation les autorisations nécessaires pour invoquer cette extension dans votre région Compte AWS et dans votre région.
Les autorisations requises pour le rôle d'exécution sont définies dans la section gestionnaire du schéma d'extension. Vous devez créer une IAM politique qui accorde les autorisations spécifiques requises par l'extension et l'associer au rôle d'exécution.
Outre la politique d'autorisations, le rôle d'exécution doit également disposer d'une politique de confiance qui permet CloudFormation d'assumer le rôle. Suivez les instructions de la section Créer un rôle à l'aide de politiques de confiance personnalisées dans le Guide de IAM l'utilisateur pour créer un rôle avec une politique de confiance personnalisée.
Relation d'approbation
Vous trouverez ci-dessous des exemples de politiques de confiance que vous pouvez utiliser.
Vous pouvez éventuellement restreindre l'étendue de l'autorisation pour la prévention de la confusion entre les services en utilisant une ou plusieurs clés contextuelles de condition globales avec le Condition
champ. Pour de plus amples informations, veuillez consulter Prévention du problème de l’adjoint confus entre services.
-
Définissez la valeur
aws:SourceAccount
sur l'ID de votre compte. -
Définissez la
aws:SourceArn
valeur sur celle de votre extensionARN.
Exemple de politique de confiance 1
Voici un exemple de politique d'approbation des IAM rôles pour une extension de type de ressource.
{ "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-west-2:123456789012:type/resource/Organization-Service-Resource/*
" } } } ] }
Exemple de politique de confiance 2
Voici un exemple de politique de confiance IAM dans les rôles pour une extension Hook.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com", "hooks.cloudformation.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"
123456789012
" }, "StringLike":{ "aws:SourceArn":"arn:aws:cloudformation:us-west-2:123456789012:type/hook/Organization-Service-Hook/*
" } } } ] }
Utiliser automatiquement les nouvelles versions des extensions
Lorsque vous activez une extension, vous pouvez également spécifier le type d'extension pour utiliser la dernière version mineure. Votre type d'extension met à jour la version mineure chaque fois que l'éditeur publie une nouvelle version de votre extension activée.
Par exemple, la prochaine fois que vous effectuerez une opération de pile, telle que la création ou la mise à jour d'une pile, à l'aide d'un modèle incluant cette extension, vous CloudFormation utiliserez la nouvelle version mineure.
La mise à jour vers une nouvelle version d'extension, soit automatiquement soit manuellement, n'affecte pas les instances d'extension déjà allouées dans les piles.
CloudFormation considère les mises à jour des versions majeures des extensions comme pouvant contenir des modifications majeures, et vous oblige donc à effectuer une mise à jour manuelle vers une nouvelle version majeure d'une extension.
Les extensions publiées par AWS sont activées par défaut pour tous les comptes et régions où elles sont disponibles, et utilisent toujours la dernière version disponible pour chacun d'entre eux Région AWS.
Important
Dans la mesure où vous contrôlez si et quand les extensions sont mises à jour vers la dernière version de votre compte, vous pouvez vous retrouver avec différentes versions de la même extension déployées dans différents comptes et régions.
Cela peut entraîner des résultats inattendus lors de l'utilisation du même modèle, contenant cette extension, pour ces comptes et régions.
Utiliser des alias pour faire référence aux extensions
Vous ne pouvez pas activer plus d'une extension avec un nom donné dans une même région. Compte AWS Étant donné que différents éditeurs peuvent proposer des extensions publiques portant le même nom d'extension CloudFormation , vous pouvez spécifier un alias pour toute extension publique tierce que vous activez.
Si vous spécifiez un alias pour l'extension, CloudFormation traitez-le comme le nom du type d'extension dans le compte et la région. Vous devez utiliser l'alias pour faire référence à l'extension dans vos modèles, vos API appels et votre CloudFormation console.
Des alias d'extension doivent être uniques au sein d'un compte et d'une région donnés. Vous pouvez activer la même ressource publique plusieurs fois dans le même compte et la même région, en utilisant différents alias de nom de type.
Important
Les alias d'extension doivent uniquement être uniques pour un compte et une région donnés, mais nous recommandons vivement aux utilisateurs de ne pas attribuer le même alias à différentes extensions publiques tierces selon les comptes et les régions. Cela pourrait entraîner des résultats inattendus lors de l'utilisation d'un modèle contenant l'alias d'extension pour plusieurs comptes ou régions.
AWS CLI Commandes couramment utilisées pour travailler avec des extensions publiques
Les commandes couramment utilisées pour travailler avec les extensions publiques sont les suivantes :
-
activate-typepour activer un module ou un type de ressource tiers public dans votre compte.
-
set-type-configurationpour spécifier les données de configuration d'une extension dans votre compte et pour désactiver et activer les Hooks.
-
list-typespour répertorier les extensions de votre compte.
-
describe-typepour renvoyer des informations détaillées sur une extension ou une version d'extension spécifique, y compris les données de configuration actuelles.
-
set-type-default-versionpour spécifier la version d'une extension qui est la version par défaut.
-
deactivate-typepour désactiver un module ou un type de ressource tiers public précédemment activé dans votre compte.