Module Cloud Security
Audit de votre posture cloud — Microsoft 365 + Google Workspace + module CNAPP (AWS / Azure / GCP en preview)
Module Cloud Security
Le module Cloud Security audite la configuration de vos environnements cloud à la recherche de mauvaises configurations, d'expositions de données et de drift par rapport aux baselines CIS.
Il se compose de deux familles :
| Famille | Providers | Statut | Plan minimum |
|---|---|---|---|
| Cloud Security (productivité) | Microsoft 365 (M365), Google Workspace (GWS) | Stable | Pro |
| CNAPP (Cloud-Native Application Protection Platform) | AWS, Azure, GCP | Preview, gated derrière feature.cloudFullAnalysis | Enterprise |
Source : secuscan-api/internal/api/handlers/cloud_connectors.go.
Cloud Security — Microsoft 365 et Google Workspace
Microsoft 365 (M365)
Connexion
-
Naviguez vers
/cloud-security/connectors. -
Cliquez sur Connecter Microsoft 365.
-
Saisissez votre Tenant ID Azure AD (UUID).
-
Cliquez sur Autoriser via Microsoft : vous êtes redirigé vers l'écran de consentement Microsoft.
-
Approuvez les permissions Read-Only suivantes (scope
https://graph.microsoft.com/.default) :Directory.Read.All— lecture des utilisateurs et groupesPolicy.Read.All— lecture des Conditional Access policiesSecurityEvents.Read.All— lecture des événements de sécuritéAuditLog.Read.All— lecture des journaux d'auditIdentityRiskEvent.Read.All— lecture des risques Identity ProtectionReports.Read.All— lecture des rapports d'usage
-
Vous êtes redirigé vers Scanyze. Le connecteur passe au statut
connectedet un premier scan est lancé automatiquement.
L'authentification utilise le client_credentials flow (app-only) — aucun mot de passe utilisateur n'est stocké. Le secret de l'application est chiffré AES-256-GCM dans cloud_secrets.
Contrôles évalués
| Catégorie | Exemples de contrôles |
|---|---|
| Identité | MFA activé pour tous les admins, présence de comptes Global Admin sans MFA, comptes inactifs > 90 jours |
| Conditional Access | Policy MFA pour les admins, blocage des pays à risque, policy sur les apps SaaS |
| Exchange | Configuration anti-spam, anti-phishing, ATP Safe Links, ATP Safe Attachments, DKIM/DMARC actifs |
| SharePoint / OneDrive | Partage externe par défaut désactivé, expiration des liens anonymes, classification des sites |
| Teams | Politique de rétention, restriction des invités, partage de fichiers externe |
| Defender | Defender for Office 365 actif, Defender for Endpoint déployé sur les postes |
| Audit | Audit unifié activé, rétention min 90 jours |
Lecture du rapport
Sur /cloud-security/findings?provider=m365, vous voyez la liste des findings avec :
- Catégorie (Identity, Email, SharePoint, etc.)
- Sévérité
- Description du contrôle non respecté
- Evidence : valeur brute renvoyée par Graph API
- Recommandation : action à mener (souvent un lien direct vers la page Microsoft 365 admin pour corriger)
- Bouton « Remédier maintenant » (depuis v0.118.x) : pour certaines configs simples, Scanyze peut appliquer le fix directement via Graph API si vous avez délégué les permissions Write.
Google Workspace (GWS)
Connexion
- Cliquez sur Connecter Google Workspace.
- Téléchargez la fiche d'autorisation (PDF) générée par Scanyze — elle contient la liste exacte des scopes OAuth à approuver.
- Saisissez votre domaine Google Workspace (ex.
monentreprise.ca). - Cliquez sur Autoriser via Google : redirection vers Google Cloud OAuth pour consentement.
- Approuvez les scopes Read-Only :
https://www.googleapis.com/auth/admin.directory.user.readonlyhttps://www.googleapis.com/auth/admin.directory.group.readonlyhttps://www.googleapis.com/auth/admin.reports.audit.readonlyhttps://www.googleapis.com/auth/admin.reports.usage.readonlyhttps://www.googleapis.com/auth/cloud-platform.read-only
Contrôles évalués
- Comptes : MFA activé sur tous les comptes (notamment super admins), 2SV méthodes (clé physique vs SMS), comptes désactivés non purgés
- Drive : partage externe restreint, lien public detection
- Gmail : SPF/DKIM/DMARC, filtres anti-phishing, S/MIME
- Groups : politique d'accès externes, modération
- Calendar : visibilité par défaut, partage externe
- Apps : applications tierces autorisées avec scopes sensibles
CNAPP — AWS, Azure, GCP (Preview)
Le module CNAPP (/cnapp) est en preview et est gated derrière le flag feature.cloudFullAnalysis. Il sera ouvert progressivement aux clients Enterprise au cours de 2026.
Connecteur AWS
Méthode recommandée : AssumeRole avec Trust Policy externe.
- Dans AWS, créer un IAM Role
ScanyzeReadOnlyavec la trust policy fournie par Scanyze (compte AWS Scanyze + ExternalID unique). - Attacher la policy managée
SecurityAudit(AWS) + une policy custom incluantiam:GenerateCredentialReport,s3:GetEncryptionConfiguration,cloudtrail:DescribeTrails,config:DescribeConfigurationRecorders, etc. - Coller l'ARN du role dans Scanyze.
- Scanyze utilise STS AssumeRole pour appeler les APIs AWS en read-only.
Contrôles AWS
- IAM : root account MFA, IAM users avec MFA, password policy, access keys non rotées, policies trop permissives
- S3 : encryption at rest, public access blocked, logging, versioning
- EC2 : security groups ouverts (0.0.0.0/0), unencrypted volumes, instances avec metadata v1
- VPC : flow logs, NACL, default security group restrictif
- CloudTrail : tous les régions, intégrité du log, encryption KMS
- Config : Config Recorder actif, rules CIS appliquées
- GuardDuty : actif et configuré
- KMS : rotation des clés, policies
Connecteur Azure
Authentification via App Registration avec rôle Reader à la subscription ou au management group.
Contrôles Azure
- Microsoft Entra ID : Conditional Access, Privileged Identity Management
- Networking : NSG ouverts, App Gateway WAF
- Storage : encryption, public blob access, soft delete
- Compute : disques chiffrés, JIT access, vulnérabilité scanning
- Defender : Defender for Cloud Plans, Secure Score
Connecteur GCP
Authentification via Service Account avec rôles Security Reviewer + Viewer.
Contrôles GCP
- IAM : Owner roles excessifs, service accounts non rotés
- GCS : public buckets, uniform access
- GCE : default service account, OS Login
- Kubernetes (GKE) : private clusters, network policy, binary authorization
- Cloud SQL : SSL only, automatic backups
- Logging : Audit Logs, sinks vers external destination
Refonte du module Cloud (v0.126.0 — migration 000171)
Depuis la v0.126.0, le module Cloud est divisé en 3 sous-menus distincts dans la sidebar :
| Sous-menu | URL | Audience | Plan minimal |
|---|---|---|---|
| Dashboard Cloud | /cloud/dashboard | Vue exécutive multi-provider, score consolidé, top findings, drift recent | Starter |
| Cloud Sécurité | /cloud/security | Configuration des connecteurs M365 / Google Workspace, audit fins, exports compliance | Starter |
| CNAPP | /cnapp | Posture AWS / Azure / GCP, scan IaC, runtime threats (preview) | Enterprise (preview Business) |
Dashboard Cloud unifié
Sur /cloud/dashboard, vous avez :
- Score de posture cloud par provider (M365 / GWS / AWS / Azure / GCP)
- Graphique radar par catégorie (Identity, Network, Storage, etc.)
- Top 10 findings triés par criticité
- Drift récent : changements de config détectés sur 7 / 30 jours
- Lien vers le module CNAPP si activé
Cloud Sécurité
Sur /cloud/security, vous gérez les connecteurs M365 et Google Workspace :
- Création / révocation de connecteurs OAuth
- Liste des findings groupés par tenant cloud
- Re-scan manuel
- Export compliance (CSV / PDF)
CNAPP
Le sous-menu CNAPP est dédié aux providers IaaS / PaaS (AWS, Azure, GCP) — voir la section CNAPP plus bas.
Drift Detection
Scanyze peut surveiller les changements de configuration sur vos environnements cloud :
- À chaque scan, comparaison avec le scan précédent
- Notification dès qu'une config sécurité change (ex. un bucket S3 devient public)
- Audit trail conservé 12 mois
Ré-évaluation automatique
Les connecteurs cloud sont scannés automatiquement :
| Plan | Fréquence |
|---|---|
| Pro | 1× par semaine |
| Business | 1× par jour |
| Enterprise | Configurable (jusqu'à 1× par heure) |
Quotas par plan
| Plan | Connecteurs M365/GWS | Connecteurs CNAPP (AWS/Azure/GCP) | Drift Detection |
|---|---|---|---|
| Free | Non | Non | Non |
| Starter | 1 | Non | Non |
| Pro | 5 | Non | Non |
| Business | 10 | Preview (sur demande) | Oui |
| Enterprise | -1 | Oui | Oui |
| MSP internal | -1 | -1 | Oui |
Privacy
- Toutes les données récupérées des APIs cloud (utilisateurs, configs) sont stockées dans la DB OVH BHS (Québec).
- Les secrets de connecteur (client secret, refresh token, service account JSON) sont chiffrés AES-256-GCM dans la table
cloud_secrets(master key gérée via OVH KMS). - Aucun secret n'est jamais loggé en clair.
- Les permissions cloud sont strictement Read-Only par défaut. Les permissions Write ne sont activées que si vous activez explicitement la remédiation auto.
Sources de cette page
- Backend :
secuscan-api/internal/services/cloud/,secuscan-api/internal/services/cloudscan/,secuscan-api/internal/cloudscanner/ - Handlers :
secuscan-api/internal/api/handlers/cloud_connectors.go,cloud_remediation_m365.go - Migration refacto :
secuscan-api/internal/migrations/000171_cloud_security_refactor.up.sql
À jour pour Scanyze v0.130.x.