Cloud connectivity - Prérequis AWS
Cette section décrit les conditions préalables pour l’utilisation d’Evolution Platform AWS Cloud Connect.
Voici les prérequis :
- Création d’un utilisateur IAM dédié
- Définition des permissions de l’utilisateur
Prérequis 1 : Création d’un utilisateur IAM dédié
AWS IAM (Identity and Access Management) permet de créer des comptes techniques dédiés à des services comme Evolve, afin de leur fournir un accès contrôlé aux API AWS et à la console de gestion.
Ces comptes ne sont pas destinés aux développeurs ou aux employés, mais aux intégrations automatisées, comme la plateforme Evolve.
Nous recommandons vivement de créer un utilisateur IAM dédié pour Evolve (par exemple evolve-access), afin d’assurer une séparation claire entre:
- Les comptes IAM des collaborateurs de votre organisation
- Les comptes IAM dits « robots » utilisés par des services tiers comme Evolve
Cette séparation permet une meilleure gestion des permissions, un suivi plus précis des accès et une sécurité renforcée.
Créer un utilisateur IAM - AWS Identity and Access Management (IAM) – Documentation AWS
Générer ou gérer des clés d’accès IAM – Documentation AWS
Prérequis 2 : Définition des permissions de l’utilisateur
Une fois l’utilisateur IAM dédié à la plateforme Evolve (souvent nommé "cloudco") créé, il est essentiel de lui attribuer des politiques IAM (IAM policies): ce sont des ensembles de permissions qui définissent ce que cet utilisateur peut faire sur votre compte AWS.
Recommandations :
- Limiter les permissions au strict nécessaire, en évitant les jokers * si possible
- Documenter clairement toutes les politiques attachées à cet utilisateur
- Utiliser de préférence des politiques gérées par AWS ou des politiques personnalisées, adaptées à vos besoins
Politiques IAM – Documentation AWS
Permissions minimales
Voici les permissions IAM minimales qu'un client doit attribuer à Orange Business :
- Accepter des Hosted Connections créées
- Créer et gérer des Virtual Interfaces (VIF)
- Associer ces VIF à un VPC, VGW ou *Direct Connect Gateway
- Lire les configuration réseau
| Fonction | Permissions requises |
|---|---|
| Accepter Hosted Connection | directconnect:ConfirmConnection |
| Créer Private/Public VIF | directconnect:Create*VirtualInterface |
| Associer VIF à VPC/VGW/DXGW | directconnect:AssociateVirtualInterface |
| Lire configuration réseau | ec2:Describe* |
Pour les CloudCo Aws Public
EC2 – Découverte & gestion des Gateways réseau :
| Besoin | Permission IAM |
|---|---|
| Lister les régions AWS | ec2:DescribeRegions |
| Tester l’accès à une région | ec2:DescribeAvailabilityZones |
| Lister les VPC | ec2:DescribeVpcs |
| Lister les Transit Gateways (TGW) | ec2:DescribeTransitGateways |
| Lister les VPN Gateways (VGW) | ec2:DescribeVpnGateways |
| Créer un Customer Gateway | ec2:CreateCustomerGateway |
| Supprimer un Customer Gateway | ec2:DeleteCustomerGateway |
| Lister les VPN Connections | ec2:DescribeVpnConnections |
| Créer une VPN Connection | ec2:CreateVpnConnection |
| Supprimer une VPN Connection | ec2:DeleteVpnConnection |
Pour les CloudCo Aws privés
Permissions IAM requises – AWS Direct Connect :
| Exigence | Description | ACTION AWS API |
|---|---|---|
| Permission IAM requise | Lister les connexions Direct Connect | directconnect:DescribeConnections |
| Permission IAM requise | Confirmer une connexion hébergée | directconnect:ConfirmConnection |
| Permission IAM requise | Lister les Virtual Interfaces (VIF) | directconnect:DescribeVirtualInterfaces |
| Permission IAM requise | Lister les localisations Direct Connect | directconnect:DescribeLocations |
| Permission IAM requise | Lister les interconnects Direct Connect | directconnect:DescribeInterconnects |
| Permission IAM requise | Lire les tags Direct Connect | directconnect:DescribeTags |
| Permission IAM requise | Créer une Virtual Interface Privée | directconnect:CreatePrivateVirtualInterface |
| Permission IAM requise | Créer une Virtual Interface Transit | directconnect:CreateTransitVirtualInterface |
| Permission IAM requise | Supprimer une Virtual Interface Privée | directconnect:DeletePrivateVirtualInterface |
| Permission IAM requise | Supprimer une Virtual Interface Transit | directconnect:DeleteTransitVirtualInterface |
| Permission IAM requise | Lister les Gateways Direct Connect | directconnect:DescribeDirectConnectGateways |
AWS Direct Connect - Autorisations IAM Documentation
Autorisations Direct Connect
| Action IAM | Description fonctionnelle |
|---|---|
directconnect:DescribeConnections | Afficher les connexions Direct Connect disponibles |
directconnect:ConfirmConnection | Accepter / confirmer une connexion |
directconnect:DescribeVirtualInterfaces | Lister les interfaces virtuelles (VIF) |
directconnect:DescribeLocations | Afficher les emplacements disponibles |
directconnect:DescribeInterconnects | Afficher les interconnexions |
directconnect:DescribeTags | Lire les balises de ressource |
directconnect:CreatePrivateVirtualInterface | Créer une VIF privée (VPC) |
directconnect:CreateTransitVirtualInterface | Créer une VIF de transit (TGW) |
directconnect:DescribeDirectConnectGateways | Afficher les passerelles Direct Connect |
directconnect:DescribeDirectConnectGatewayAssociations | Afficher les associations Passerelle ↔ VIF |
directconnect:TagResource | Ajouter ou modifier des balises |
directconnect:DeleteVirtualInterface | Supprimer une VIF |
Autorisations réseau EC2
| Action IAM | Description fonctionnelle |
|---|---|
ec2:DescribeVpnGateways | Afficher les passerelles VPN virtuelles |
ec2:DescribeRegions | Lister les régions AWS |
Exemple JSON pour l'implémentation des autorisations IAM
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowDirectConnectAndNetworkManagement",
"Effect": "Allow",
"Action": [
"directconnect:DescribeConnections",
"directconnect:ConfirmConnection",
"directconnect:DescribeVirtualInterfaces",
"directconnect:DescribeLocations",
"directconnect:DescribeInterconnects",
"directconnect:DescribeTags",
"directconnect:CreatePrivateVirtualInterface",
"directconnect:CreateTransitVirtualInterface",
"directconnect:DescribeDirectConnectGateways",
"ec2:DescribeVpnGateways",
"ec2:DescribeRegions"
],
"Resource": "*"
},
{
"Sid": "AllowAccountListRegions",
"Effect": "Allow",
"Action": "account:ListRegions",
"Resource": "arn:aws:account::<ACCOUNT_ID_CLIENT>:account"
},
{
"Sid": "AllowVIFManagementMultiRegion",
"Effect": "Allow",
"Action": [
"directconnect:TagResource",
"directconnect:DeleteVirtualInterface"
],
"Resource": "arn:aws:directconnect:*:<ACCOUNT_ID_CLIENT>:dxvif/*"
},
{
"Sid": "AllowAllDXGatewayAssociations",
"Effect": "Allow",
"Action": "directconnect:DescribeDirectConnectGatewayAssociations",
"Resource": "*"
}
]
}