Aller au contenu
Documentation

Démarrer

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 permissionsCe qu'il donne
AllProductsReadOnlyLa 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.
IAMReadOnlyLes utilisateurs, applications, groupes et clés d'API de l'organisation.
OrganizationReadOnlyLa 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.

AnalyseDroits à accorderCe que fait Ctadel
Disques des instancesInstancesFullAccess 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éesLes 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 StorageCouvert par AllProductsReadOnly.Les objets sont lus par l'interface S3 avec la même clé d'API.
Clusters KapsuleCouvert 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

  1. Ouvrez « Paramètres », onglet « Intégrations », sous-onglet « Fournisseurs cloud », puis « Ajouter un compte » sur la ligne Scaleway.
  2. Saisissez un « Libellé », l'« Access Key » et la « Secret Key ».
  3. 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.
  4. Choisissez le projet, ou cliquez sur « Ajouter les N comptes » pour créer un compte par projet découvert.
  5. 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.

FamilleRessources lues
IdentitésUtilisateurs, applications, groupes et clés d'API de l'organisation ; politiques IAM et leurs règles.
CalculInstances 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éseauVPC privés, passerelles publiques, adresses IP flexibles, répartiteurs de charge, domaines DNS.
DonnéesBuckets Object Storage et leur posture (lue par l'interface S3), instances Database et leurs règles d'accès.
KubernetesClusters Kapsule, leurs pools et leurs règles d'accès.
Secrets et clésSecrets 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.