Aller au contenu principal
INSTALLATION & CLÉS • ENVIRONNEMENT SECOPS

Installation & Gestion des Clés API

Installation des capteurs Python et Node.js, hachage SHA-256 des clés bnd_live_* et configuration sécurisée multi-environnements.

Installation & Gestion des Clés API

Installation & Gestion des Clés API

Le Sensor Boundry est conçu pour s'intégrer de manière transparente et non-intrusive dans les environnements de production (serveurs bare-metal, conteneurs Docker, pods Kubernetes, AWS Lambda, Google Cloud Run).


1. Installation du Package​

Environnement Python (3.9 à 3.13)​

Installez le package officiel depuis le dépôt PyPI :

# Via pip
pip install boundry-sensor

# Ou via Poetry
poetry add boundry-sensor

# Ou via Pipenv
pipenv install boundry-sensor
Empreinte mémoire

Le package Python a une empreinte mémoire inférieure à 12 Mo et n'embarque aucune dépendance C native lourde, garantissant une compatibilité universelle sur architectures x86_64 et ARM64 (Apple Silicon, AWS Graviton).


Environnement Node.js & TypeScript (18+)​

Pour les agents développés en TypeScript ou Node.js (LangChain.js, Vercel AI SDK) :

# Via npm
npm install @boundry/sensor

# Ou via pnpm
pnpm add @boundry/sensor

# Ou via yarn
yarn add @boundry/sensor

2. Variables d'Environnement Requises​

La configuration du Sensor s'effectue préférentiellement via des variables d'environnement afin de respecter les principes des 12-Factor Apps :

.env / Shell Environment
# Clé d'API secrète de votre organisation (Obligatoire)
BOUNDRY_API_KEY="sk_org_07fd47fe4b89fd10f2f8212f33af2378e901..."

# URL de la passerelle SecOps (Défaut : https://api.boundry.cloud)
BOUNDRY_GATEWAY_URL="https://api.boundry.cloud"

# Comportement en cas d'indisponibilité réseau :
# true = bloque l'action suspecte (Fail-Secure)
# false = autorise l'action et met en file d'attente locale (Fail-Open)
BOUNDRY_FAIL_SECURE="true"

# Timeout maximal d'inspection synchrone en millisecondes (Défaut : 2500ms)
BOUNDRY_TIMEOUT_MS="2500"

# Activer l'évacuation asynchrone par lots pour la télémétrie non-bloquante
BOUNDRY_ASYNC_FLUSH="true"

3. Gestion et Rotation des Clés d'API​

Chaque clé d'API commence par le préfixe normalisé sk_org_ suivi d'une chaîne hexadécimale de 64 caractères générée cryptographiquement.

Procédure de Rotation Sans Interruption de Service (Zero-Downtime)​

Pour renouveler une clé d'API de production sans risquer de bloquer vos agents en cours d'exécution :

  1. Rendez-vous dans la console Paramètres > Clés API sur https://boundry.cloud/settings.
  2. Cliquez sur Générer une clé secondaire. Deux clés valides coexistent alors simultanément.
  3. Déployez la nouvelle clé dans vos gestionnaires de secrets (AWS Secrets Manager, HashiCorp Vault, Kubernetes Secrets, Doppler).
  4. Redémarrez vos services applicatifs pour charger la nouvelle variable.
  5. Une fois les métriques vérifiées sur la nouvelle clé, supprimez l'ancienne clé depuis la console.
Cycle de vie des Clés API :
[Clé Principale Active] [Génération Clé Secondaire] [Mise à jour Déploiement] [Révocation Ancienne Clé]

4. Prérequis Réseau & Pare-feu Egress​

Si votre cluster d'exécution applique des règles de filtrage réseau sortant strictes (Egress Network Policies Kubernetes, règles AWS Security Groups) :

  • Hôte de destination : api.boundry.cloud
  • Protocole : HTTPS (TLS 1.3 strict avec Perfect Forward Secrecy)
  • Port : 443 (TCP)
  • Adresses IP : Anycast mondial Cloudflare (les adresses IP statiques dédiées sont disponibles pour les forfaits Enterprise).

Support des Proxies HTTP d'Entreprise​

Le Sensor respecte automatiquement les variables d'environnement de proxy standard du système d'exploitation :

export HTTP_PROXY="http://proxy.internal.corp:8080"
export HTTPS_PROXY="http://proxy.internal.corp:8080"
export NO_PROXY="localhost,127.0.0.1,internal.corp"

5. Script de Validation de Connectivité (5 secondes)​

Exécutez ce script de test pour valider instantanément la communication entre votre environnement local et la passerelle Boundry :

test_boundry_connection.py
import os
import sys
from boundry.sensor import BoundryClient

api_key = os.getenv("BOUNDRY_API_KEY", "sk_org_...")

print(" Test de connexion à api.boundry.cloud...")
client = BoundryClient(api_key=api_key)

try:
health = client.check_health()
if health.get("status") == "healthy":
print(f"[VALIDE] Connexion réussie ! Organisation: {health.get('organization')}")
print(f" Région passerelle : {health.get('region', 'eu-frankfurt')}")
print(f" Latence RTT : {health.get('latency_ms')}ms")
else:
print("[ATTENTION] Réponse inattendue de la passerelle :", health)
except Exception as e:
print(f"[REJET] Échec de la connexion : {e}")
sys.exit(1)