Présentation de l'accès élevé temporaire

Pour protéger les ressources sensibles, vous pouvez limiter leur accès. Toutefois, la limitation de l'accès aux ressources sensibles crée également des frictions pour toute personne ayant parfois besoin d'y accéder. Par exemple, un utilisateur peut avoir besoin d'un accès "bris de glace" ou d'un accès en urgence à des ressources sensibles pour résoudre un incident.

Dans ce cas, nous vous recommandons d'accorder à l'utilisateur l'autorisation d'accéder temporairement à la ressource. Nous vous recommandons également d'enregistrer la justification de l'utilisateur pour l'accès à la ressource afin d'améliorer l'audit.

Dans Google Cloud, vous pouvez gérer ce type d'accès élevé temporaire de plusieurs manières.

Privileged Access Manager

Vous pouvez utiliser Privileged Access Manager (PAM) pour gérer l'élévation temporaire des privilèges juste à temps pour certains comptes principaux, et pour consulter les journaux d'audit par la suite afin de savoir qui a eu accès à quoi et quand.

Vous pouvez accorder une élévation de privilège temporaire via Privileged Access Manager dans les situations suivantes :

  • Accorder un accès d'urgence : autorisez certains services d'urgence à effectuer des tâches critiques sans avoir à attendre d'y être autorisés. Vous pouvez exiger des justifications pour obtenir des informations supplémentaires sur la raison pour laquelle l'accès d'urgence est nécessaire.

  • Contrôler l'accès aux ressources sensibles : contrôlez étroitement l'accès aux ressources sensibles, en exigeant des approbations et des justifications professionnelles. Privileged Access Manager peut également être utilisé pour auditer l'utilisation de cet accès (par exemple, quand les rôles accordés étaient actifs pour un utilisateur, quelles ressources étaient accessibles pendant cette période, la justification de l'accès et qui l'a approuvé).

    Par exemple, vous pouvez utiliser Privileged Access Manager pour effectuer les opérations suivantes :

    • Donnez aux développeurs un accès temporaire aux environnements de production pour le dépannage ou les déploiements.

    • Autorisez les ingénieurs du service d'assistance à accéder aux données client sensibles pour des tâches spécifiques.

    • Accordez aux administrateurs de bases de données des droits d'accès élevés pour la maintenance ou les modifications de configuration.

  • Sécuriser les comptes de service : au lieu d'attribuer des rôles de manière permanente aux comptes de service, autorisez-les à s'élever et à assumer des rôles uniquement lorsque cela est nécessaire pour les tâches automatisées.

  • Gérer l'accès des prestataires et du personnel élargi : accordez aux prestataires ou aux membres du personnel élargi un accès temporaire et limité dans le temps aux ressources, avec les approbations et les justifications requises.

Pour en savoir plus sur la configuration de Privileged Access Manager, consultez la présentation de Privileged Access Manager.

Pour en savoir plus sur la demande d'élévation temporaire, consultez Demander un accès temporaire avec privilèges élevés.

Groupes Google

Pour gérer l'accès temporaire avec privilèges élevés, vous pouvez accorder à un groupe Google l'accès à des ressources sensibles, puis ajouter ou supprimer des utilisateurs de ce groupe pour contrôler leur accès.

Pour configurer un groupe Google pour un accès temporaire avec privilèges élevés, commencez par créer un groupe, puis attribuez-lui les rôles que vous souhaitez attribuer temporairement aux utilisateurs. Si vous utilisez des stratégies de refus, envisagez également de rendre le groupe exclu de toute règle de refus appropriée afin d'éviter les refus inattendus.

Après avoir configuré votre groupe, vous pouvez ajouter et supprimer des utilisateurs pour modifier leur accès. Si vous utilisez l'API Google Groupes, vous pouvez ajouter temporairement des utilisateurs à un groupe à l'aide de la date d'expiration de l'adhésion.

Si vous souhaitez enregistrer les justifications de l'utilisateur concernant l'accès aux ressources sensibles, vous devez définir vos propres processus et outils.

Par exemple, pour gérer l'accès d'urgence aux ressources Compute Engine, vous pouvez créer un groupe emergency-compute-access@example.com et lui accorder le rôle Administrateur de Compute (roles/compute.admin). Si un utilisateur a besoin d'un accès administrateur d'urgence aux ressources de calcul, vous pouvez l'ajouter au groupe emergency-compute-access@example.com. Une fois l'urgence résolue, vous pouvez le retirer du groupe.

Conditions IAM

Vous pouvez utiliser les conditions IAM pour accorder aux utilisateurs un accès arrivant à expiration aux ressources Google Cloud. Pour en savoir plus, consultez la section Configurer un accès temporaire.

Si vous souhaitez enregistrer les justifications de l'utilisateur concernant l'accès aux ressources sensibles, vous devez définir vos propres processus et outils.

Les liaisons de rôle expirées ne sont pas automatiquement supprimées de vos stratégies d'autorisation. Pour vous assurer que vos stratégies d'autorisation ne dépassent pas la taille maximale des stratégies d'autorisation, nous vous recommandons de supprimer régulièrement les liaisons de rôles expirées.

Les règles de refus n'acceptent pas les conditions basées sur l'heure. Par conséquent, vous ne pouvez pas utiliser de conditions dans les stratégies de refus pour exempter temporairement un utilisateur d'une règle de refus.

Accès privilégié en temps opportun

L'accès en temps opportun (Just-In-Time) est une application Open Source qui utilise les conditions IAM pour accorder aux utilisateurs un accès privilégié en temps opportun aux ressources Google Cloud. Cette application est conçue pour s'exécuter sur App Engine ou Cloud Run.

Cette application présente les avantages suivants par rapport à l'ajout manuel de liaisons de rôles conditionnelles:

  • Les utilisateurs peuvent rechercher les rôles qu'ils peuvent activer avec l'accès Just-In-Time.
  • Les utilisateurs doivent fournir des justifications avant d'obtenir l'accès.
  • L'application remplace la liaison conditionnelle existante au lieu de créer des liaisons, ce qui permet de respecter la taille de la stratégie d'autorisation IAM.

Pour en savoir plus sur l'accès Just-In-Time, consultez la page Gérer l'accès privilégié à des projets avec Just-In-Time.

Emprunter l'identité d'un compte de service

Lorsqu'un compte principal authentifié, tel qu'un utilisateur ou un autre compte de service, s'authentifie en tant que compte de service pour obtenir les autorisations de ce dernier, cela s'appelle emprunter l'identité du compte de service. Emprunter l'identité d'un compte de service permet à un compte principal authentifié d'accéder à ce que le compte de service peut accéder. Seuls les comptes principaux authentifiés disposant des autorisations appropriées peuvent emprunter l'identité des comptes de service.

Pour configurer un compte de service pour un accès temporaire avec privilèges élevés, créez le compte de service, puis accordez-lui les rôles que vous souhaitez attribuer temporairement à un utilisateur. Si vous utilisez des stratégies de refus, envisagez également d'ajouter le compte de service exempté de toutes les règles de refus pertinentes afin d'éviter les refus inattendus.

Une fois que vous avez configuré le compte de service, vous pouvez accorder aux utilisateurs un accès avec privilèges élevés temporaire en leur permettant d'emprunter l'identité du compte de service. Il existe plusieurs façons d'autoriser les utilisateurs à emprunter l'identité des comptes de service:

  • Attribuez aux utilisateurs un rôle leur permettant de créer des identifiants éphémères pour le compte de service. Les utilisateurs peuvent ensuite utiliser les identifiants éphémères pour emprunter l'identité du compte de service.

    • Attribuez le rôle Créateur de jetons d'identité OpenID Connect au compte de service (roles/iam.serviceAccountOpenIdTokenCreator) pour permettre à l'utilisateur de créer des jetons d'identification OpenID Connect (OIDC) éphémères pour le service. compte.

    • Attribuez le rôle Créateur de jetons de compte de service (roles/iam.serviceAccountTokenCreator) pour permettre à l'utilisateur de créer les types d'identifiants de compte de service suivants:

      • Jetons d'accès OAuth 2.0 que vous pouvez utiliser pour vous authentifier auprès des API Google
      • Jetons d'ID OIDC
      • Jetons Web JSON (JWT) signés et blobs binaires

    Si vous attribuez l'un de ces rôles à un utilisateur, il peut emprunter l'identité du compte de service à tout moment pour élever son propre accès. Toutefois, ils sont moins susceptibles d'accéder à des ressources sensibles ou de les modifier involontairement.

    Pour savoir comment emprunter l'identité des comptes de service, consultez la page Utiliser l'emprunt d'identité des comptes de service.

  • Créez un agent de service de jetons qui fournit aux utilisateurs des identifiants éphémères pour le compte de service après s'être authentifiés et avoir fourni une justification. Les utilisateurs peuvent ensuite utiliser les identifiants éphémères pour emprunter l'identité du compte de service.

    Cette méthode vous permet de décider à quel moment autoriser les utilisateurs à emprunter l'identité du compte de service.

    Pour savoir comment générer des identifiants éphémères, consultez la section Créer des identifiants éphémères pour un compte de service.

Pour en savoir plus sur l'emprunt d'identité d'un compte de service, consultez la section Emprunter l'identité d'un compte de service.

Étape suivante