ESPACE PUBLICITAIRE DISPONIBLE · PARLONS-EN

Comment configurer Mutable.ai au sein d'un VPC AWS privé pour protéger les bases de code propriétaires

365Finds Editorial
11 430 articles Wiki répertoriés

Utilisez 365 Wiki avec votre IA

Copiez le prompt ci-dessous, collez-le dans l’IA que vous utilisez déjà, puis posez directement votre question.

Télécharger le Skill complet

Commencez par essayer le prompt. Si vous utilisez souvent 365 Wiki, installez le Skill 365Wiki complet pour ne plus avoir à le coller. Sans IA habituelle, les versions web de Gemini ou Microsoft Copilot conviennent aussi.

Les directions de l'ingénierie logicielle évoluant dans des secteurs réglementés — tels que la fintech, la santé ou l'édition logicielle d'entreprise — font face à un dilemme marqué lors de l'adoption d'outils d'intelligence de code : des solutions comme Mutable.ai automatisent la documentation vivante (Auto Wiki), génèrent des diagrammes d'architecture et offrent une recherche conversationnelle avec citations à la ligne près, mais faire transiter du code source propriétaire par un service SaaS public multilocataire enfreint les règles strictes de sécurité et de conformité.

La réponse architecturale consiste à déployer Mutable.ai au sein d'un cloud privé virtuel (AWS VPC) dédié et contrôlé par l'entreprise. En isolant les moteurs d'analyse syntaxique et les index vectoriels dans des sous-réseaux privés, en acheminant les inférences de modèles de langage via AWS PrivateLink et en reliant le système aux dépôts Git internes, les organisations bénéficient d'une compréhension automatisée de leur code sans qu'aucune ligne ne quitte leur périmètre de sécurité ni ne participe à l'entraînement de modèles partagés.


1. Modèle de menaces et objectifs d'un déploiement privé

Dans une configuration SaaS multilocataire standard, le traitement du code source expose l'entreprise à trois risques majeurs :

  1. Contamination des modèles partagés : La logique métier propriétaire, les règles de calcul sensibles ou les composants cryptographiques risquent d'être absorbés par les jeux de données de réentraînement des modèles publics.
  2. Exposition des données en transit : Le code transitant par des points de terminaison publics est vulnérable à l'interception ou à des erreurs de configuration sur des infrastructures tierces.
  3. Délégation excessive de jetons d'accès : Accorder à un SaaS externe des permissions de lecture étendues sur l'ensemble des dépôts accroît la surface d'attaque sur la chaîne d'approvisionnement logicielle.

L'offre Enterprise de Mutable.ai propose une isolation à locataire unique (single-tenant). Déployée dans un VPC AWS dédié, l'intégralité du pipeline — analyse de l'arbre syntaxique abstrait (AST), vectorisation, rendu des diagrammes d'architecture et génération du wiki — s'exécute strictement à l'intérieur des frontières privées de l'entreprise. Des garanties contractuelles et techniques assurent que le code n'est jamais mutualisé pour entraîner des modèles de fondation externes.


2. Topologie réseau recommandée dans AWS VPC

Une architecture sécurisée dans AWS VPC isole complètement le plan de données (analyse du code et recherche vectorielle) d'Internet, en s'appuyant sur des points de terminaison d'interface privés.

+----------------------------------------------------------------------------------+
| VPC AWS Entreprise (Périmètre Réseau Isolé)                                      |
|                                                                                  |
|  [ Sous-réseaux Privés A et B - Couche de Calcul ]                               |
|    - Workers d'analyse et de génération Auto Wiki de Mutable.ai (ECS / EKS)      |
|    - Moteur de recherche et de chat sur la base de code                          |
|    - Magasin de vecteurs et métadonnées (Chiffré par clés AWS KMS)               |
|           |                                                                      |
|           |-- (Flux interne HTTPS / ENI privée)                                  |
|           v                                                                      |
|  [ Points de terminaison d'interface VPC (AWS PrivateLink) ]                     |
|    +-- com.amazonaws.<region>.bedrock-runtime  --> Inférence de modèle dédiée    |
|    +-- com.amazonaws.<region>.s3               --> Artéfacts et wikis statiques  |
|    +-- com.amazonaws.<region>.secretsmanager   --> Jetons et secrets Git         |
|    +-- com.amazonaws.<region>.kms              --> Clés de déchiffrement KMS     |
|                                                                                  |
+----------------------------------------------------------------------------------+
          ^                                                        ^
          | (VPC Peering / Transit Gateway)                        | (PrivateLink / SSO d'entreprise)
          v                                                        v
+-------------------------------+                       +--------------------------+
| Dépôt Git Interne             |                       | Fournisseur d'Identité   |
| (GitHub Enterprise / GitLab)  |                       | Okta / SAML / OIDC       |
+-------------------------------+                       +--------------------------+

Principes directeurs de l'architecture


3. Guide de configuration étape par étape

Étape 1 : Provisionner les sous-réseaux isolés et les groupes de sécurité

Créez des sous-réseaux privés répartis sur au moins deux zones de disponibilité (AZ) pour assurer la haute disponibilité. Les tables de routage ne doivent contenir que les routes locales du VPC et les liaisons vers les passerelles internes.

Définissez un groupe de sécurité (Security Group) hautement restrictif pour le cluster Mutable.ai :

Étape 2 : Déployer les points de terminaison d'interface AWS PrivateLink

Créez les points de terminaison d'interface nécessaires dans les sous-réseaux privés afin que les conteneurs Mutable.ai puissent communiquer avec les services AWS sans accès à Internet :

  1. Inférence de modèles : com.amazonaws.<region>.bedrock-runtime pour appeler les modèles de fondation autorisés (tels que Claude ou Llama hébergés sur Amazon Bedrock).
  2. Gestion des secrets : com.amazonaws.<region>.secretsmanager pour récupérer de manière sécurisée les jetons d'accès aux dépôts Git.
  3. Stockage d'objets : com.amazonaws.<region>.s3 (point de terminaison Gateway ou Interface) pour héberger les fichiers Markdown compilés, les diagrammes et les caches AST.
  4. Gestion des clés : com.amazonaws.<region>.kms pour les opérations de déchiffrement à la volée.

Activez l'option Private DNS sur chaque point de terminaison d'interface afin que les appels standards des SDK résolvent directement les adresses IP privées des interfaces réseau élastiques (ENI).

Étape 3 : Appliquer des stratégies de ressources aux points de terminaison (Endpoint Policies)

Restreignez l'accès aux seules ressources approuvées par le comité de sécurité directement au niveau du périmètre réseau :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSpecificModelsForMutableAI",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Resource": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet*"
    }
  ]
}

Étape 4 : Interconnexion avec les dépôts Git internes et automatisation des webhooks

L'atout de Mutable.ai réside dans la mise à jour continue de la documentation au fil des commits. Pour les serveurs GitHub Enterprise Server ou GitLab auto-hébergés :

  1. Interconnectez le VPC de Mutable.ai et le VPC hébergeant Git via AWS Transit Gateway.
  2. Stockez dans AWS Secrets Manager un jeton d'application Git avec des droits minimaux de lecture seule sur les dépôts sélectionnés.
  3. Pointez les webhooks de Pull Requests vers l'Application Load Balancer (ALB) interne de Mutable.ai afin de déclencher l'analyse différentielle et de publier les résumés d'architecture directement dans le PR.

Étape 5 : Chiffrement systématique au repos et en transit


4. Contrôles opérationnels et critères d'audit

Avant et pendant l'exploitation en production, les équipes de sécurité doivent valider les critères suivants :

Critère d'AuditOutil et MécanismeCritère de Conformité
Blocage des sorties vers InternetAnalyse des journaux de flux (VPC Flow Logs) dans CloudWatchZéro paquet autorisé à destination d'adresses IP publiques non-AWS (0 paquet de fuite).
Non-rétention des données de modèleRevue de la configuration Bedrock et des accords contractuelsConfirmation que ni les invites (prompts) ni les réponses générées ne sont conservées pour l'entraînement.
Héritage des autorisations GitIntégration SSO via SAML 2.0 / OIDC (Okta / Entra ID)Seuls les développeurs disposant de droits de lecture sur un dépôt peuvent consulter le wiki correspondant.
Audit des opérations de déchiffrementSuivi des événements KMS Decrypt dans AWS CloudTrailLes requêtes proviennent exclusivement du rôle d'exécution IAM associé au cluster Mutable.ai.

5. Compromis d'architecture et conseils pratiques

Approche DéployéeAvantage PrincipalContrainte OpérationnelleScénario Conseillé
VPC Client Totalement Privé (Auto-hébergé)Souveraineté totale sur les données ; aucune dépendance externe à l'exécutionMaintenance des conteneurs, correctifs et dimensionnement à la charge de l'équipe interneDéfense, banques d'investissement, systèmes de santé critiques
VPC Géré à Locataire Unique (Liaison PrivateLink)Aucune charge de gestion d'infrastructure ; mises à jour logicielles automatiquesNécessite des conventions d'audit inter-entreprises et la gestion des points de terminaisonFintechs en forte croissance, éditeurs de logiciels SaaS B2B

Recommandations concrètes pour les architectes

  1. Démarrer par un périmètre restreint de composants partagés : Déployez la solution sur 2 à 3 bibliothèques transversales afin de valider la pertinence de l'analyse syntaxique et de mesurer la consommation de jetons.
  2. Nettoyer les secrets au niveau des hooks pré-commit et CI : Évitez que des clés d'API oubliées dans les commentaires de code ne soient indexées dans les pages Markdown de la documentation.
  3. Privilégier la synchronisation incrémentielle sur les monorépôts : Dans les dépôts volumineux, une réindexation intégrale à chaque commit consomme d'importantes ressources de calcul. Configurez Mutable.ai pour traiter uniquement les diffs Git lors des fusions.

Références