Connecter un compte OUTSCALE
L'utilisateur EIM, sa politique de lecture, les droits à ajouter pour les analyses de contenu, une entrée par région et ce que Ctadel lit.
Cette page décrit l'utilisateur EIM à créer pour qu'un compte 3DS OUTSCALE soit inventorié, la politique à lui lier, et ce que le collecteur lit.
Ce qu'il vous faut
L'API OUTSCALE est régionale : chaque appel vise api.<région>.outscale.com. Un compte Ctadel correspond donc à un compte OUTSCALE dans une région ; créez une entrée par région à analyser.
| Région | Usage |
|---|---|
eu-west-2 | Paris. Valeur par défaut. |
cloudgouv-eu-west-1 | Région qualifiée SecNumCloud. |
us-east-2, us-west-1, ap-northeast-1 | Autres régions. |
Il vous faut l'identifiant du compte (douze chiffres, dans Cockpit, « Compte ») et une clé d'accès EIM.
Créer l'utilisateur et sa politique
- Dans Cockpit ou avec
osc-cli, créez un utilisateur EIMctadel-scannersans accès à la console. - Créez une politique gérée avec le document
outscale-readonly-policy.jsonremis par l'équipe Ctadel et liez-la à l'utilisateur :
osc-cli api CreatePolicy --PolicyName CtadelReadOnly --Document "$(cat outscale-readonly-policy.json)"
osc-cli api LinkPolicy --PolicyOrn <ORN_DE_LA_POLITIQUE> --UserName ctadel-scanner- Créez une clé d'accès, avec une date d'expiration si vous le souhaitez, et notez le secret : il n'est plus jamais renvoyé.
osc-cli api CreateAccessKey --UserName ctadel-scanner --ExpirationDate <DATE_ISO_8601>La politique n'accorde que les actions api:Read* de l'API OUTSCALE et sept lectures de configuration des buckets OOS : oos:ListAllMyBuckets, oos:GetBucketLocation, oos:GetBucketAcl, oos:GetBucketVersioning, oos:GetBucketEncryption, oos:GetBucketLogging et oos:GetBucketPolicy. Vérifiez les noms d'actions OOS contre la référence EIM de votre version.
Analyses de contenu
| Analyse | Droits à ajouter | Ce que fait Ctadel |
|---|---|---|
| Disques des machines virtuelles | api:CreateSnapshot, CreateVolume, LinkVolume, UnlinkVolume, CreateVms, DeleteVms, CreateKeypair, DeleteKeypair, CreateSecurityGroup, CreateSecurityGroupRule, DeleteSecurityGroup, CreatePublicIp, LinkPublicIp, UnlinkPublicIp, DeletePublicIp, DeleteVolume, DeleteSnapshot, CreateTags. | Un instantané du volume BSU, un volume recréé dans la même sous-région, une machine Ubuntu temporaire avec une paire de clés jetable et un groupe de sécurité ouvert sur le port 22 à la seule adresse de sortie de votre instance Ctadel, une adresse publique sauf placement privé ; puis tout est supprimé. Chaque ressource temporaire porte l'étiquette ctadel-managed et un nom ctadel-scanner. |
| Contenu des buckets OOS | La lecture des objets (oos:GetObject, oos:ListBucket), absente de la politique fournie. | Les objets sont lus sur oos.<région>.outscale.com avec la même clé d'accès. |
| Objets des clusters OKS | Couvert par la clé d'accès : l'API OKS s'authentifie avec la même clé. | Le kubeconfig de chaque cluster est obtenu par GET /clusters/<id>/kubeconfig sur api.<région>.oks.outscale.com, puis les objets du cluster sont lus. |
Le placement de la machine de scan (sous-réseau par sous-région, adresse privée) se règle par compte dans la section « Réseau du scanner de disques (facultatif) » du dialogue ; voir Réglages du scanner.
Déclarer le compte dans Ctadel
- Ouvrez « Paramètres », onglet « Intégrations », sous-onglet « Fournisseurs cloud », puis « Ajouter un compte » sur la ligne 3DS OUTSCALE.
- Saisissez un « Libellé » et l'identifiant du compte dans « Account ID / Project ID ».
- Choisissez la « Région ».
- Saisissez l'« Access Key » et la « Secret Key ».
- Cliquez sur « Créer ». Répétez pour chaque région.
Les identifiants ne sont pas vérifiés à la saisie. Au premier scan, le collecteur appelle ReadAccounts : si la clé appartient à un autre compte que celui saisi, le scan s'arrête avec l'erreur « the access key belongs to account X, not Y » ; si l'identifiant a été laissé vide, il est rempli depuis la clé.
Ce que le collecteur lit
| Famille | Ressources lues |
|---|---|
| Identités | Utilisateurs, groupes et politiques EIM (document analysé), clés d'accès avec leur âge et leur expiration, politique et règles d'accès à l'API. |
| Calcul | Machines virtuelles, images OMI (partage public ou entre comptes, âge). |
| Réseau | Nets, sous-réseaux et leur route vers Internet, internet services et NAT services, peerings, groupes de sécurité et leurs règles, répartiteurs LBU et certificats serveur, connexions VPN (état des tunnels, routes), DirectLink (clé BGP des interfaces). |
| Stockage | Volumes et instantanés BSU (partage public), buckets OOS (ACL publique, versioning, chiffrement, journalisation). |
| Kubernetes | Clusters OKS. |
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.
Limites
- Une entrée ne couvre qu'une région ; un compte présent dans plusieurs régions demande autant d'entrées.
- Ctadel n'analyse aucune base de données sur OUTSCALE.
- La politique fournie ne permet pas de lire le contenu des buckets ; ajoutez la lecture des objets si vous la souhaitez.
- EIM n'expose pas l'état MFA par utilisateur : Ctadel ne l'évalue pas sur OUTSCALE.
- Une politique dont le document ou les liaisons ne se lisent pas, ou un bucket dont un appel échoue, sont ignorés pour le scan en cours.
- Une connexion VPN supprimée ou en cours de suppression, que l'API liste encore quelque temps, n'est pas inventoriée.
- Si le scan tourne avec les clés du compte racine, elles sont inventoriées sur un utilisateur racine ; préférez l'utilisateur EIM dédié.
- La détection sur les journaux d'API (
ReadApiLogs) est en validation interne, non disponible pour les clients.