Aller au contenu
Documentation

Démarrer

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égionUsage
eu-west-2Paris. Valeur par défaut.
cloudgouv-eu-west-1Région qualifiée SecNumCloud.
us-east-2, us-west-1, ap-northeast-1Autres 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

  1. Dans Cockpit ou avec osc-cli, créez un utilisateur EIM ctadel-scanner sans accès à la console.
  2. Créez une politique gérée avec le document outscale-readonly-policy.json remis 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
  1. 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

AnalyseDroits à ajouterCe que fait Ctadel
Disques des machines virtuellesapi: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 OOSLa 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 OKSCouvert 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

  1. Ouvrez « Paramètres », onglet « Intégrations », sous-onglet « Fournisseurs cloud », puis « Ajouter un compte » sur la ligne 3DS OUTSCALE.
  2. Saisissez un « Libellé » et l'identifiant du compte dans « Account ID / Project ID ».
  3. Choisissez la « Région ».
  4. Saisissez l'« Access Key » et la « Secret Key ».
  5. 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

FamilleRessources lues
IdentitésUtilisateurs, 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.
CalculMachines virtuelles, images OMI (partage public ou entre comptes, âge).
RéseauNets, 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).
StockageVolumes et instantanés BSU (partage public), buckets OOS (ACL publique, versioning, chiffrement, journalisation).
KubernetesClusters 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.