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.
Accorder des autorisations autogérées
Cette rubrique fournit des instructions sur la façon de créer les rôles de IAM service requis StackSets pour le déploiement sur plusieurs comptes et Régions AWS avec des autorisations autogérées. Ces rôles sont nécessaires pour établir une relation de confiance entre le compte à partir duquel vous administrez l'ensemble de piles et le compte sur lequel vous déployez des instances de piles. À l'aide de ce modèle d'autorisations, vous StackSets pouvez effectuer un déploiement sur tous ceux Compte AWS dans lesquels vous êtes autorisé à créer un IAM rôle.
Pour utiliser les autorisations gérées par le service, consultez Activez l'accès sécurisé plutôt.
Rubriques
- Vue d'ensemble des autorisations autogérées
- Donnez à tous les utilisateurs du compte administrateur les autorisations nécessaires pour gérer les piles dans tous les comptes cibles
- Configuration d'options d'autorisations avancées pour les opérations d'ensembles de piles
- Configurez des clés globales pour atténuer les problèmes de député confus
Vue d'ensemble des autorisations autogérées
Avant de créer un stack set avec des autorisations autogérées, vous devez avoir créé des rôles IAM de service dans chaque compte.
Les étapes de base sont les suivantes :
-
Déterminez quel Compte AWS est le compte administrateur.
Les ensembles de piles sont créés dans ce compte d'administrateur. Le compte de destination est le compte dans lequel vous créez les piles individuelles qui appartiennent à un ensemble de piles.
-
Déterminez comment vous souhaitez structurer les autorisations pour le stack set.
La configuration d'autorisations la plus simple (et la plus souple) est celle qui consiste à accorder à tous les utilisateurs et groupes du compte administrateur la possibilité de créer et mettre à jour tous les ensembles de piles gérés via ce compte. Si vous avez besoin d'un contrôle plus fin, vous pouvez configurer des autorisations pour spécifier :
-
Les utilisateurs et groupes qui peuvent effectuer des opérations d'ensemble de piles et les comptes de destination dans lesquels ils peuvent les effectuer.
-
Les ressources que les utilisateurs et les groupes peuvent inclure dans leurs ensembles de piles.
-
Les opérations d'ensemble de piles que des utilisateurs et groupes spécifiques peuvent effectuer.
-
-
Créez les rôles de service IAM nécessaires dans vos comptes d'administrateur et de destination pour définir les autorisations souhaitées.
Plus précisément, les deux rôles requis sont les suivants :
-
AWSCloudFormationStackSetAdministrationRole— Ce rôle est déployé sur le compte administrateur.
-
AWSCloudFormationStackSetExecutionRole— Ce rôle est déployé sur tous les comptes sur lesquels vous créez des instances de stack.
-
Donnez à tous les utilisateurs du compte administrateur les autorisations nécessaires pour gérer les piles dans tous les comptes cibles
Cette section explique comment configurer des autorisations pour permettre à tous les utilisateurs et groupes du compte administrateur d'effectuer des opérations de stack set sur tous les comptes cibles. Il vous guide tout au long de la création des rôles de IAM service requis dans vos comptes administrateur et cible. Tous les utilisateurs du compte administrateur peuvent ensuite créer, mettre à jour ou supprimer des piles sur tous les comptes cibles.
En structurant les autorisations de cette manière, les utilisateurs ne transfèrent aucun rôle d'administration lors de la création ou de la mise à jour d'un stack set.
Configuration d'options d'autorisations avancées pour les opérations d'ensembles de piles
Si vous avez besoin d'un contrôle plus fin sur les ensembles de piles que les utilisateurs et les groupes créent via un compte d'administrateur unique, vous pouvez utiliser les rôles IAM pour spécifier :
-
Les utilisateurs et groupes qui peuvent effectuer des opérations d'ensemble de piles et les comptes de destination dans lesquels ils peuvent les effectuer.
-
Les ressources que les utilisateurs et les groupes peuvent inclure dans leurs ensembles de piles.
-
Les opérations d'ensemble de piles que des utilisateurs et groupes spécifiques peuvent effectuer.
Contrôlez quels utilisateurs peuvent effectuer des opérations de stack set sur des comptes cibles spécifiques
Utilisez des rôles d'administration personnalisés pour contrôler quels utilisateurs et groupes peuvent effectuer des opérations de stack set sur quels comptes cibles. Vous pouvez souhaiter contrôler quel utilisateurs du compte d'administrateur peuvent effectuer des opérations d'ensemble de piles et dans quels comptes de destination ils peuvent le faire. Pour ce faire, vous créez une relation de confiance entre chaque compte cible et un rôle d'administration personnalisé spécifique, plutôt que de créer le rôle de AWSCloudFormationStackSetAdministrationRoleservice dans le compte administrateur lui-même. Vous pouvez ensuite autoriser des utilisateurs et des groupes spécifiques à utiliser le rôle d'administration personnalisé approprié lorsqu'ils effectuent des opérations d'ensembles de piles dans un compte de destination spécifique.
Par exemple, vous pouvez créer un rôle A et un rôle B dans votre compte d'administrateur. Vous pouvez ensuite accorder au rôle A l'autorisation d'accéder au compte de destination 1 via le compte 8. Vous pouvez enfin accorder au rôle B l'autorisation d'accéder au compte de destination 9 via le compte 16.
La configuration des autorisations nécessaires implique de définir un rôle d'administration personnalisé, de créer un rôle de service pour le compte cible et d'accorder aux utilisateurs l'autorisation de transmettre le rôle d'administration personnalisé lors de l'exécution d'opérations de stack set.
En général, voici comment cela fonctionne une fois que vous disposez des autorisations nécessaires : lors de la création d'un stack set, l'utilisateur doit spécifier un rôle d'administration personnalisé. L'utilisateur doit disposer de l'autorisation nécessaire pour transmettre le rôle à CloudFormation. En outre, le rôle d'administration personnalisé doit avoir une relation de confiance avec les comptes cibles spécifiés pour le stack set. CloudFormationcrée le stack set et y associe le rôle d'administration personnalisé. Lors de la mise à jour d'un ensemble de piles, l'utilisateur doit spécifier explicitement un rôle d'administration personnalisé, même s'il s'agit du même rôle d'administration personnalisé que celui utilisé précédemment avec cet ensemble de piles. CloudFormation utilise ce rôle pour mettre à jour la pile, sous réserve des exigences ci-dessus.
Contrôlez les ressources que les utilisateurs peuvent inclure dans des ensembles de piles spécifiques
Utilisez des rôles d'exécution personnalisés pour contrôler les ressources de pile que les utilisateurs et les groupes peuvent inclure dans leurs ensembles de piles. Par exemple, vous pouvez configurer un groupe qui ne peut inclure que les ressources liées à Amazon S3 dans les ensembles de piles qu'il crée, tandis qu'une autre équipe peut uniquement inclure des ressources DynamoDB. Pour ce faire, vous créez une relation de confiance entre le rôle d'administration personnalisé pour chaque groupe et un rôle d'exécution personnalisé pour chaque ensemble de ressources. Le rôle d'exécution personnalisé définit les ressources de pile qui peuvent être incluses dans les ensembles de piles. Le rôle d'administration personnalisé réside dans le compte administrateur, tandis que le rôle d'exécution personnalisé réside dans chaque compte cible dans lequel vous souhaitez créer des ensembles de piles à l'aide des ressources définies. Vous pouvez ensuite autoriser des utilisateurs et des groupes spécifiques à utiliser le rôle d'administration personnalisé approprié lorsqu'ils effectuent des opérations d'ensembles de piles.
Par exemple, vous pouvez créer des rôles d'administration personnalisés A, B et C dans le compte administrateur. Les utilisateurs et les groupes ayant l'autorisation d'utiliser le rôle A peuvent créer des ensembles de piles contenant les ressources de pile spécifiquement répertoriées dans le rôle d'exécution personnalisé X, mais pas celles répertoriées dans les rôles Y ou Z ou les ressources non incluses dans un rôle d'exécution.
Lors de la mise à jour d'un ensemble de piles, l'utilisateur doit spécifier explicitement un rôle d'administration personnalisé, même s'il s'agit du même rôle d'administration personnalisé que celui utilisé précédemment avec cet ensemble de piles. CloudFormation effectue la mise à jour en utilisant le rôle d'administration personnalisé spécifié, à condition que l'utilisateur soit autorisé à effectuer des opérations sur cet ensemble de piles.
De même, l'utilisateur peut également spécifier un rôle d'exécution personnalisé. S'ils spécifient un rôle d'exécution personnalisé, CloudFormation utilise ce rôle pour mettre à jour la pile, sous réserve des exigences ci-dessus. Si l'utilisateur ne spécifie pas de rôle d'exécution personnalisé, CloudFormation effectue la mise à jour en utilisant le rôle d'exécution personnalisé précédemment associé à l'ensemble de piles, à condition que l'utilisateur soit autorisé à effectuer des opérations sur cet ensemble de piles.
Configuration d'autorisations pour des opérations d'ensembles de piles spécifiques
En outre, vous pouvez configurer des autorisations pour définir les utilisateurs et les groupes qui peuvent effectuer des opérations d'ensembles de piles spécifiques, telles que la création, la mise à jour ou la suppression d'ensembles de piles ou d'instances de pile. Pour plus d'informations, consultez la rubrique Actions, ressources et clés de condition pour CloudFormation dans la section Référence de l'autorisation de service.
Configurez des clés globales pour atténuer les problèmes de député 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 auprès des principaux fournisseurs de services qui ont obtenu l'accès aux ressources de votre compte.
Nous vous recommandons d'utiliser aws:SourceArn et aws:SourceAccountclés de contexte de condition globale dans les politiques de ressources pour limiter les autorisations AWS CloudFormation StackSets qui fournissent un autre service à la ressource. Si vous utilisez les deux clés de contexte de condition globale, la valeur aws:SourceAccount
et le compte de la valeur aws:SourceArn
doit utiliser le même ID de compte lorsqu’il est utilisé dans la même déclaration de stratégie.
Le moyen le plus efficace de se protéger contre le problème de confusion des adjoints consiste à utiliser la clé de contexte de la condition aws:SourceArn
globale avec l'intégralité ARN de la ressource. Si vous ne connaissez pas l'intégralité ARN de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition contextuelle aws:SourceArn
globale avec des caractères génériques (*
) pour les parties inconnues duARN. Par exemple, arn:aws:
. Dans la mesure du possible, utilisez cloudformation
::123456789012
:*aws:SourceArn
, car il est plus spécifique. À utiliser aws:SourceAccount
uniquement lorsque vous ne pouvez pas déterminer le ARN modèle ARN ou le modèle correct.
Lorsque StackSets assume le rôle d'administration dans votre compte d'administrateur, StackSets renseigne votre identifiant de compte administrateur et le nom de ressource StackSets Amazon (ARN). Vous pouvez donc définir des conditions pour les clés globales aws:SourceAccount
et aws:SourceArn
dans les relations de confiance afin d'éviter les problèmes de député confus. L'exemple suivant montre comment utiliser les touches de contexte de condition aws:SourceAccount
globale aws:SourceArn
et globale StackSets pour éviter le problème de confusion des adjoints.