Suivre le déploiement de vos SCPs
Photo generated by ChatGPT

TL;DR


L’application de SCPs dans un environnement AWS complexe peut se révéler plus complexe que prévu. En effet, contrairement à Azure, il n’est pas possible d’appliquer en mode Audit ces SCP. Elles sont directement actives et potentiellement sources de blocages. Par conséquent, il est essentiel de bien surveiller leur déploiement, avec l’aide par exemple de Cloudwatch grâce à ce projet OpenSource Safer-scps

Introduction


Les Service Control Policies (SCP) d’AWS sont un outil de gestion des permissions au sein de l’AWS Organizations, permettant aux entreprises de contrôler finement les actions réalisables dans les comptes, sous une organisation. Les SCP agissent comme une couche de restriction supplémentaire qui s’applique aux utilisateurs, rôles et services au sein des comptes AWS, même si ces derniers possèdent des permissions attribuées via IAM (Identity and Access Management). Les SCP permettent aux administrateurs de la plateforme d’imposer des règles de sécurité globales, empêchant, par exemple, des comptes d’utiliser certains services ou de créer des ressources spécifiques, indépendamment des permissions IAM individuelles. Ces SCP peuvent s’appliquer soient à la racine de l’organisation, soient sur une OU soient sur un compte directement. Documentation sur les SCP

Pour surveiller l’action des SCPs en production, le plus simple est de contrôler ce qui se passse dans vos journaux Cloudtrail, afin de détecter l’apparition de potentiel Denied Access. Pour cela, le projet Safer-scps se propose de déployer les règles EventBridge et les Cloudwatch log group et metrics pour faciliter la création de tableau de bord sous Cloudwath. Voyons son déploiement en ligne de commande avec l’aide de AWS CLI.

Déploiement du Cloudformation


Après avoir cloné le repository sur votre ordinateur, utilisez ces commandes:

aws cloudformation create-stack --stack-name safer-scps --template-body file://bus.yml --parameters ParameterKey=OrgId,ParameterValue=VOTREORGIDICI

Pour retrouver la valeur du paramètre en sortie EventBusArn, utilisez cette commande:

aws cloudformation describe-stacks --stack-name safer-scps

Enfin il ne vous reste qu’à lancer la deuxième stack:

aws cloudformation create-stack --stack-name rules 
--template-body file://rules.yml 
--parameters ParameterKey=EventBusArn,
ParameterValue=arn:aws:events:ca-central-1:VOTRECOMPTEID:event-bus/scp-errors-event-bus
--capabilities CAPABILITY_NAMED_IAM

```

Utilisation de Cloudwatch


Vous avez désormais 2 possibilités sous Cloudwatch. Soit surveillez directement vos logs, en consultant le Log Group /aws/events/scp-error-events soit de créer un dashboard utilisant le Log Group.

Suivre le déploiement de vos SCPs
Older post

En finir avec les buckets S3 publics (at scale)

L'exposition des données stockées dans les buckets S3 reste un sujet d'actualité malgré les mesures d'AWS. Voyons comment s'en occuper pour de bon.

Newer post

L'organisation de votre zone d'accueil

La mise en place d'une zone d'acceuil (Landing Zone) est un prérequis pour évolution sécuritaire de votre consommation infonuagique.

Suivre le déploiement de vos SCPs