Una forma de proteger los recursos sensibles es limitar el acceso a ellos. Sin embargo, limitar el acceso a recursos sensibles también genera fricciones para cualquier persona que ocasionalmente necesite acceder a esos recursos. Por ejemplo, un usuario puede necesitar acceso de emergencia a recursos sensibles para resolver un incidente.
En estas situaciones, recomendamos otorgarle al usuario permiso para acceder al recurso de forma temporal. También, para mejorar la auditoría, registra la justificación del usuario para acceder al recurso.
En Google Cloud, existen varias formas de administrar este tipo de acceso temporal con permisos elevados.
Condiciones de IAM
Puedes usar las Condiciones de IAM para otorgar a los usuarios acceso con vencimiento a los recursos de Google Cloud. Para obtener más información, consulta Configura el acceso temporal.
Si quieres registrar las justificaciones del usuario para acceder a recursos sensibles, debes definir tus propios procesos y herramientas operativos.
Las vinculaciones de roles vencidas no se quitan automáticamente de tus políticas de permisos. Para asegurarte de que tus políticas de permisos no excedan el tamaño máximo de las políticas de permisos, te recomendamos que quites periódicamente las vinculaciones de roles vencidas.
Las políticas de denegación no admiten condiciones basadas en el tiempo. Como resultado, no puedes usar condiciones en las políticas de denegación para eximir temporalmente a un usuario de una regla de denegación.
Identidad temporal como cuenta de servicio
Cuando un principal autenticado, como un usuario o cualquier otra cuenta de servicio, se autentica como una cuenta de servicio para obtener los permisos de la cuenta de servicio, se llama actuar en nombre de la cuenta de servicio. Actuar en nombre de una cuenta de servicio permite que una principal autenticada acceda a lo que puede acceder la cuenta de servicio. Solo las principales autenticadas con los permisos adecuados pueden imitar cuentas de servicio.
Para configurar una cuenta de servicio para el acceso temporal elevado, crea la cuenta de servicio y, luego, bríndale los roles que deseas otorgar de forma temporal a un usuario. Si usas políticas de denegación, también puedes agregar la cuenta de servicio exenta de cualquier regla de denegación relevante para evitar denegaciones inesperadas.
Después de configurar la cuenta de servicio, puedes otorgarles a los usuarios acceso temporal y elevado permitiéndoles actuar en nombre de la cuenta de servicio. Existen varias formas de permitir que los usuarios usen las identidades de cuentas de servicio:
Otorga a los usuarios un rol que les permita crear credenciales de corta duración para la cuenta de servicio. Luego, los usuarios pueden usar las credenciales de corta duración para usar la identidad de la cuenta de servicio.
Otorga el rol de creador de tokens de identidad de OpenID Connect para cuentas de servicio (
roles/iam.serviceAccountOpenIdTokenCreator
) para permitir que el usuario cree tokens de ID de OpenID Connect de corta duración (OIDC) para la cuenta de servicio.Otorga el rol de creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) para permitir que el usuario cree los siguientes tipos de credenciales de cuenta de servicio:- Tokens de acceso de OAuth 2.0, que puedes usar para autenticar con las APIs de Google.
- Tokens de ID de OIDC
- Tokens web JSON (JWT) firmados y BLOB binarios
Si le otorgas a un usuario una de estos roles, esta puede actuar en nombre de la cuenta de servicio en cualquier momento para elevar su propio acceso. Sin embargo, es menos probable que accedan a recursos sensibles o los modifiquen de forma no intencional.
Para obtener información sobre cómo actuar en nombre de cuentas de servicio, consulta Usa identidad temporal como cuenta de servicio.
Crea un servicio de agente de tokens que les proporcione a los usuarios credenciales de corta duración para la cuenta de servicio después de que se autentiquen y proporcionen una justificación. Luego, los usuarios pueden usar las credenciales de corta duración para usar la identidad de la cuenta de servicio.
Con este método, puedes decidir cuándo permitir que los usuarios imiten la cuenta de servicio.
Para obtener información sobre cómo generar credenciales de corta duración, consulta Crea credenciales de corta duración para una cuenta de servicio.
Para obtener más información sobre la identidad temporal como cuenta de servicio, consulta Identidad temporal como cuenta de servicio.
¿Qué sigue?
- Configura Privileged Access Manager para obtener acceso elevado temporal.
- Usa las Condiciones de IAM para otorgar acceso temporal a un principal.
- Crea credenciales de corta duración de forma manual para usar la identidad de una cuenta de servicio.