Connecter un projet Scaleway
La clé d'API et les politiques IAM à lui attacher, l'organisation et les projets, les analyses de contenu et ce que Ctadel lit.
Cette page décrit la clé d'API à créer pour qu'un projet Scaleway soit inventorié, les politiques IAM à lui attacher, et ce que le collecteur lit.
Ce qu'il vous faut
Une application IAM dans votre organisation Scaleway, une clé d'API générée pour cette application (« Access Key » et « Secret Key »), et l'identifiant du projet à analyser. Un compte Ctadel correspond à un projet ; la même clé peut servir à plusieurs comptes si sa politique couvre plusieurs projets.
Les politiques IAM se lisent au niveau de l'organisation ; au début de chaque scan, le collecteur retrouve celle de la clé par l'API IAM ou, à défaut, par le projet.
Politiques IAM à accorder
Attachez à l'application une politique composée des ensembles de permissions suivants :
| Ensemble de permissions | Ce qu'il donne |
|---|---|
AllProductsReadOnly | La lecture de tous les produits : instances, serveurs Elastic Metal, Object Storage, bases de données, Kapsule, conteneurs et fonctions, réseaux, répartiteurs de charge, registres, Key Manager, Secret Manager, domaines. |
IAMReadOnly | Les utilisateurs, applications, groupes et clés d'API de l'organisation. |
OrganizationReadOnly | La liste des politiques IAM, qui se lit au niveau de l'organisation. |
Analyses de contenu
Chacune demande des droits d'écriture en plus de la lecture ; sans eux, elle est absente et le reste fonctionne.
| Analyse | Droits à accorder | Ce que fait Ctadel |
|---|---|---|
| Disques des instances | InstancesFullAccess sur le projet. | Un instantané du volume est monté sur un serveur de scan temporaire créé dans le projet, étiqueté ctadel-scanner et ephemeral, avec un groupe de sécurité qui n'accepte que le port 22 depuis l'adresse de sortie de votre instance Ctadel. Sans cette adresse connue, le scan échoue plutôt que d'ouvrir le port. Le serveur, son groupe de sécurité et l'instantané sont supprimés ensuite. |
| Bases de données managées | Les droits de clonage, de création d'utilisateur et de suppression sur les instances Database. | L'instance est clonée sous le nom ctadel-dspm-clone-<horodatage>, un utilisateur est créé sur le clone, les données sont lues, puis le clone est supprimé. L'instance d'origine n'est pas modifiée. |
| Buckets Object Storage | Couvert par AllProductsReadOnly. | Les objets sont lus par l'interface S3 avec la même clé d'API. |
| Clusters Kapsule | Couvert par AllProductsReadOnly. | Le kubeconfig du cluster est récupéré par l'API Kapsule, puis les objets du cluster sont lus. |
Déclarer le projet dans Ctadel
- Ouvrez « Paramètres », onglet « Intégrations », sous-onglet « Fournisseurs cloud », puis « Ajouter un compte » sur la ligne Scaleway.
- Saisissez un « Libellé », l'« Access Key » et la « Secret Key ».
- Cliquez sur « Découvrir les projets » : Ctadel liste les projets de l'organisation avec la clé saisie. Une clé refusée renvoie l'erreur de l'API.
- Choisissez le projet, ou cliquez sur « Ajouter les N comptes » pour créer un compte par projet découvert.
- Cliquez sur « Créer ».
Ce que le collecteur lit
L'inventaire couvre toutes les régions et zones Scaleway. Si la lecture d'une famille de ressources échoue, les autres sont inventoriées ; les ressources déjà connues de cette famille restent dans l'inventaire et ne sont pas considérées comme supprimées.
| Famille | Ressources lues |
|---|---|
| Identités | Utilisateurs, applications, groupes et clés d'API de l'organisation ; politiques IAM et leurs règles. |
| Calcul | Instances et leurs adresses privées (par l'API IPAM), volumes, instantanés, groupes de sécurité, serveurs Elastic Metal, conteneurs et fonctions Serverless, registres de conteneurs. |
| Réseau | VPC privés, passerelles publiques, adresses IP flexibles, répartiteurs de charge, domaines DNS. |
| Données | Buckets Object Storage et leur posture (lue par l'interface S3), instances Database et leurs règles d'accès. |
| Kubernetes | Clusters Kapsule, leurs pools et leurs règles d'accès. |
| Secrets et clés | Secrets de Secret Manager, clés de Key Manager. |
Chaque ressource est rattachée à son projet, dont le nom, la description et l'organisation sont lus par l'API Account.
Limites
- Si la clé ne peut lire ni ses propres métadonnées IAM ni le projet par l'API Account, l'organisation reste inconnue et la liste des politiques IAM n'est pas lue ; le formulaire ne permet pas de saisir l'identifiant d'organisation à la main.
- Les adresses privées des instances viennent de l'API IPAM ; si l'appel échoue dans une zone, les instances de cette zone n'ont pas d'adresse privée.
- L'algorithme d'une clé Key Manager est déduit de son usage, l'API ne l'exposant pas directement.
- Un bucket dont la région ne peut pas être déterminée, une instance Database dont les règles d'accès ne se lisent pas, ou un cluster Kapsule dont les pools ou les règles d'accès ne se lisent pas, sont ignorés pour le scan en cours.
- L'accès aux objets d'un cluster Kapsule passe par le kubeconfig que l'API délivre, pas par une identité en lecture seule.
- Le serveur de scan est créé dans le projet analysé, pas dans un projet séparé.
- La détection sur Audit Trail est en validation interne, non disponible pour les clients.