Activez les commandes avec AWS CloudFormation - AWS Control Tower

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.

Activez les commandes avec AWS CloudFormation

Vous pouvez activer les contrôles par AWS CloudFormationle biais de la AWS CloudFormation console ou de la AWS CLI. Cette section donne un exemple de chaque type.

Chaque contrôle d'AWS Control Tower possède un identifiant unique à utiliser avec les API de contrôle. L'identifiant de chaque contrôle est affiché dans le champ API ControlIdentifier, sur la page des détails du contrôle de la console AWS Control Tower. Cet identifiant est distinct du champ ControlID, qui est un système de classification des contrôles.

Créez la pile à travers AWS CloudFormation

Vous pouvez l'utiliser AWS CloudFormation pour vous aider à activer les contrôles d'AWS Control Tower. Voici un exemple de modèle.

Resources: TestControl: Type: AWS::ControlTower::EnabledControl Properties: ControlIdentifier: arn:aws:controltower:us-west-2::control/AWS-GR_RESTRICT_ROOT_USER TargetIdentifier: arn:aws:organizations::123456789012:ou/o-ybfpt9XXXl/ou-XXXc-nlqXXXXX

Pour créer votre pile via la AWS CloudFormation console, modifiez le modèle pour qu'il contienne le contrôle et la cible de votre choix, puis enregistrez le modèle sous le nom de fichiertemplate.yaml. Suivez le AWS CloudFormation magicien. Lorsque l'assistant demande un fichier modèle, entrez le fichier sous lequel vous l'avez enregistrétemplate.yaml. Pour plus d'informations, consultez Création d'une pile sur la CloudFormation console Amazon.

Note

La limite pour EnableControl les DisableControl mises à jour dans AWS Control Tower est de 10 opérations simultanées.

Créez la pile via AWS CloudFormation et la AWS CLI

Voici un exemple de création de la pile à l'aide de la CLI.

aws cloudformation create-stack --region us-west-2 --stack-name testControlTower --template-body "$(cat << TEMPLATE Resources: TestControl: Type: AWS::ControlTower::EnabledControl Properties: ControlIdentifier: arn:aws:controltower:us-west-2::control/AWS-GR_RESTRICT_ROOT_USER TargetIdentifier: arn:aws:organizations::123456789012:ou/o-ybfpt9XXXl/ou-XXXc-nlqXXXXX TEMPLATE)"

Vous pouvez également enregistrer l'exemple de modèle sous forme de template.yaml fichier, puis charger votre fichier dans un compartiment Amazon S3. Plus tard, vous pourrez fournir l'URL du compartiment avec le --template-url drapeau.

Lorsque vous entrez votre modèle dans l'assistant ou via la CLI, si la pile est créée, cela signifie que le contrôle a été activé.

Consultez la progression de votre stack via la AWS CLI :

aws cloudformation describe-stack-events --region us-west-2 --stack-name testControlTower

or

aws cloudformation describe-stacks --region us-west-2 --stack-name testControlTower

Supprimez la pile via la AWS CLI :

aws cloudformation delete-stack --region us-west-2 --stack-name testControlTower

Configurez les commandes avec AWS CloudFormation

Les exemples suivants montrent comment configurer des contrôles via des AWS CloudFormation modèles. Ces exemples montrent Value sous forme de liste, mais elle peut être de plusieurs types.

Activez les commandes configurables à l'aide AWS CloudFormation de modèles

Activez un contrôle avec des paramètres par le biais de AWS CloudFormation :

aws cloudformation create-stack \ --stack-name ExampleStack \ --template-body file://ExampleStack.yml \ --region us-east-1

Exemples de modèles en YAML et JSON :

Resources: MyExampleControl: Properties: ControlIdentifier: arn:aws:controltower:us-east-1::control/EXAMPLE_NAME TargetIdentifier: arn:aws:organizations::01234567890:ou/o-EXAMPLE/ou-zzxx-zzx0zzz2 Parameters: - Key: AllowedRegions Value: - us-east-1 - us-west-1 - Key: ExemptedPrincipalArns Value: - arn:aws:iam::*:role/ReadOnly - Key: ExemptedActions Value: - logs:DescribeLogGroups - logs:StartQuery - logs:GetQueryResults Type: AWS::ControlTower::EnabledControl { "Resources": { "MyExampleControl": { "Type": "AWS::ControlTower::EnabledControl", "Properties": { "TargetIdentifier": "arn:aws:organizations::01234567890:ou/o-EXAMPLE/ou-zzxx-zzx0zzz2", "ControlIdentifier": "arn:aws:controltower:us-east-1::control/EXAMPLE_NAME", "Parameters": [ { "Key": "AllowedRegions", "Value": [ "us-east-1", "us-west-1" ] }, { "Key": "ExemptedPrincipalArns", "Value": [ "arn:aws:iam::*:role/ReadOnly" ] }, { "Key": "ExemptedActions", "Value": [ "logs:DescribeLogGroups", "logs:StartQuery", "logs:GetQueryResults" ] } ] } } } }