Aller au contenu principal

Accès d'urgence

L'écran Accès d'urgence permet de demander un accès d'urgence (rôles ou portées supplémentaires pour une durée limitée), de le suivre jusqu'à l'approbation par deux personnes distinctes, de le révoquer et, en tant que bénéficiaire, d'émettre le contexte d'exécution signé qui porte l'élévation. Chemin dans le portail : /security/break-glass, menu Sécurité et gouvernance > Accès d'urgence. Il sert à tout utilisateur du tenant qui a besoin d'un accès d'urgence, et aux responsables sécurité et administrateurs de tenant qui supervisent et approuvent.

Ce que montre l'écran​

L'écran (BreakGlass dans portal/src/screens/security-kit.tsx) commence par l'indication « Un accès exige deux approbateurs distincts (responsable sécurité ou administrateur du locataire), jamais le demandeur ni le bénéficiaire. Décidez-le dans la boîte des approbations. », puis le tableau Accès accordés lu dans GET /v1/break-glass (50 lignes).

ColonneContenu
AccèsIdentifiant de l'accès.
DemandeurQui a demandé.
BénéficiaireQui reçoit l'élévation (le demandeur par défaut).
RôlesRôles accordés, par exemple tenant_admin.
RaisonJustification.
Statutpending, active, expired, rejected, revoked.
ApprobationIdentifiant de la demande d'approbation.
ExpireFin de l'accès.

Filtre Statut. Un clic sur une ligne ouvre l'accès chargé par GET /v1/break-glass/{grant_id}. Un accès active dont l'échéance est passée devient expired à la lecture suivante. Tableau vide : « Aucun accès », « Demandez un accès d'urgence avec un motif et une durée. »

Formulaire Demander un accès :

ChampDéfautRemarques
RaisonObligatoire, au moins 10 caractères.
Durée (s)900Obligatoire, de 60 à break_glass_max_seconds (3600 par défaut).
RôlesRôles du tenant séparés par des virgules, par exemple tenant_admin ; platform_admin est refusé.
PortéesPortées séparées par des virgules. Rôles ou portées : au moins un.
BénéficiairePar défaut : vous.
Référence d'incidentLien vers l'incident.

Actions​

Bouton ou actionEffetAppel APIRôles
Demander un accès (puis Créer)Enregistre l'accès pending et ouvre une demande d'approbation avec un quorum de deux approbateurs distincts, demandeur et bénéficiaire exclus ; audité sous break_glass.request.POST /v1/break-glassTout utilisateur du tenant
Révoquer (menu de la ligne, accès pending ou active)Ouvre un formulaire avec une Raison facultative, puis Révoquer : l'élévation cesse aussitôt.POST /v1/break-glass/{grant_id}/revokeDemandeur ; security_officer, tenant_admin pour tous
Émettre un contexte (menu de la ligne, accès active)Ouvre un formulaire avec Audience (liste) et Durée de vie (secondes) (30 à 86400), puis Émettre un contexte : renvoie un contexte d'exécution signé portant l'élévation, borné par l'échéance de l'accès, affiché dans un panneau latéral.POST /v1/break-glass/{grant_id}/contextLe bénéficiaire seulement
Clic sur une ligne ou Voir le détailOuvre l'accès.GET /v1/break-glass/{grant_id}Demandeur, bénéficiaire ; tenant_admin, security_officer, auditor
Filtrer, icône d'actualisationAppliquent le filtre Statut, relisent la liste.GET /v1/break-glass (paramètre status)Tout utilisateur du tenant

L'approbation elle-même ne se décide pas sur cet écran : les deux approbateurs la décident dans la boîte des approbations.

danger

Un accès d'urgence élève les privilèges. Gardez une Durée (s) courte, renseignez Référence d'incident et révoquez l'accès dès la fin de l'urgence.

Rôles​

Le portail ne masque aucun bouton sur cet écran ; les actions de ligne suivent le statut de l'accès. Le Control Plane (services/control-plane/src/eai/domains/delegation/routes.py et services/control-plane/src/eai/domains/delegation/break_glass.py) décide :

  • tout utilisateur du tenant peut demander ; tenant_admin, security_officer et auditor voient tous les accès, les autres utilisateurs seulement ceux qu'ils ont demandés ou reçoivent ;
  • les approbateurs sont security_officer ou tenant_admin, deux distincts, jamais le demandeur ni le bénéficiaire ;
  • le demandeur, un security_officer ou un tenant_admin peut révoquer ;
  • seul le bénéficiaire peut émettre le contexte d'exécution d'un accès active ;
  • platform_admin passe tous les contrôles de rôle, mais ne peut jamais être accordé par accès d'urgence.

Tâches courantes​

Obtenir un accès d'urgence​

  1. Le demander. L'accès est limité dans le temps et rattaché à un incident. Cliquez Demander un accès, remplissez Raison (au moins 10 caractères), Durée (s), Rôles tenant_admin, Référence d'incident, puis Créer. Résultat attendu : le message Créé et une ligne pending avec son Approbation. En cas d'échec : break_glass_duration_exceeded (HTTP 400) pour une durée hors de 60 au maximum ; invalid_request (HTTP 400) pour un rôle inconnu, platform_admin, ni rôle ni portée, ou une raison trop courte.
  2. Le faire approuver. Deux approbateurs décident la demande d'approbation dans la boîte des approbations. Sollicitez deux security_officer ou tenant_admin, autres que vous et le bénéficiaire. Résultat attendu : le statut active et une date Expire. En cas d'échec : le statut rejected signifie qu'un approbateur a refusé.
  3. Émettre le contexte. L'élévation voyage dans un contexte d'exécution signé. En tant que bénéficiaire, menu de la ligne > Émettre un contexte, Audience et Durée de vie (secondes) facultatives, puis Émettre un contexte. Résultat attendu : un panneau latéral avec le contexte signé. En cas d'échec : forbidden (HTTP 403) si vous n'êtes pas le bénéficiaire ; break_glass_not_active (HTTP 409) si l'accès n'est pas active ; context_wrong_audience (HTTP 400) pour une audience inconnue.

Mettre fin à l'accès plus tôt​

  1. Le révoquer. La révocation ferme l'élévation avant son échéance. Menu de la ligne > Révoquer, Raison facultative, puis Révoquer. Résultat attendu : le message Terminé et le statut revoked. En cas d'échec : break_glass_closed (HTTP 409) si l'accès est déjà expiré, rejeté ou révoqué ; forbidden si vous n'êtes ni le demandeur ni un rôle approbateur.

Dépannage​

SymptômeCauseCorrection
break_glass_duration_exceeded (HTTP 400)La durée doit être comprise entre 60 secondes et le maximum de la plateforme.Réduisez Durée (s).
invalid_request (HTTP 400) avec rolesUn rôle est inconnu ou vaut platform_admin, ou ni rôle ni portée n'est fourni.Indiquez des rôles du tenant ou des portées.
invalid_request avec « a justification of 10 characters at least is required »Raison est trop courte.Rédigez une justification plus longue.
validation_error (HTTP 422)Durée (s) sous 60 ou Raison sous 10 caractères, refusés avant tout contrôle.Corrigez le champ.
break_glass_not_found (HTTP 404)Accès inconnu, ou que vous ne pouvez pas voir.Vérifiez l'identifiant et vos rôles.
break_glass_not_active (HTTP 409)L'accès n'est pas actif.Attendez les approbations, ou demandez un nouvel accès.
break_glass_closed (HTTP 409)L'accès est déjà fermé.Rien à révoquer.
context_wrong_audience (HTTP 400)L'audience n'est pas connue de la Context Authority.Laissez Audience vide ou utilisez une audience connue.

Pages liées​