El modo de actuar como estricto habilita una comprobación de seguridad adicional para las siguientes acciones del usuario en Dataform:
- Crear o actualizar un repositorio
- Crear o actualizar una configuración de flujo de trabajo
- Crear una invocación de flujo de trabajo
- Actualizar una configuración de lanzamiento
Esta comprobación de seguridad adicional requiere que el usuario que realice estas acciones tenga el permiso iam.serviceAccounts.actAs
en la cuenta de servicio efectiva, que es la cuenta de servicio cuyas credenciales se usan para ejecutar flujos de trabajo. Para obtener más información sobre las cuentas de servicio, consulta el artículo Asociar cuentas de servicio a recursos.
Puedes habilitar este modo de las siguientes formas:
- Cuando crees un repositorio
- Al actualizar un repositorio con la marca
strict_act_as_checks
repository
Roles obligatorios
Para obtener los permisos que necesitas para completar las tareas de este documento, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Usuario de cuenta de servicio (roles/iam.serviceAccountUser
) en la cuenta de servicio personalizada.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Determinar la cuenta de servicio efectiva
Puedes determinar la cuenta de servicio efectiva que ejecuta los flujos de trabajo según el tipo de recurso y las siguientes condiciones:
Tipo de recurso | Cuenta de servicio efectiva |
---|---|
Repositorios | Si seleccionas una cuenta de servicio al crear el repositorio, se usará la cuenta de servicio De lo contrario, se usará de forma predeterminada la cuenta de servicio de Dataform. |
Configuración del flujo de trabajo | Puedes seleccionar una cuenta de servicio cuando crees la configuración del flujo de trabajo. De lo contrario, se usará de forma predeterminada la cuenta de servicio de Dataform del repositorio. |
Invocación de flujos de trabajo | Si el resultado de la compilación es Si creas una invocación de flujo de trabajo a partir de un resultado de compilación, se usará la cuenta de servicio De lo contrario, se usará de forma predeterminada la cuenta de servicio de Dataform del repositorio. |
Asignar el rol de IAM Usuario de cuenta de servicio
El rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser
) contiene el permiso iam.serviceAccounts.actAs
, que es necesario para el modo Actúa como estricto. Cuando usas la API Dataform, debes tener asignado el rol Usuario de cuenta de servicio a la cuenta de servicio efectiva en función del método projects.locations.repositories
que estés llamando:
create
opatch
- Si se define la propiedad
Repository.ServiceAccount
, debes tener el rol Usuario de cuenta de servicio concedido para esa propiedad. - Si llamas al método
patch
, debes tener el rol Usuario de cuenta de servicio asignado a todas las cuentas de servicio efectivas de todas las configuraciones de flujo de trabajo del repositorio.
- Si se define la propiedad
workflowConfigs.create
oworkflowConfigs.patch
- Debes tener asignado el rol Usuario de cuenta de servicio a la cuenta de servicio efectiva que se usa en la configuración del flujo de trabajo.
releaseConfigs.patch
- Debes tener el rol Usuario de cuenta de servicio asignado a todas las cuentas de servicio efectivas que se usen en las configuraciones de flujo de trabajo con esta configuración de lanzamiento.
workflowInvocations.create
- Debes tener el rol Usuario de cuenta de servicio asignado a la cuenta de servicio efectiva que se usa en la invocación del flujo de trabajo.
Para obtener más información, consulta los roles necesarios para crear una configuración de flujo de trabajo y los roles necesarios para crear una configuración de lanzamiento.
Lanzamientos automáticos de repositorios
Cuando el modo Actúa como está habilitado, las versiones automáticas se inhabilitan en las configuraciones de versiones del repositorio de Dataform. Esto no se aplica a los repositorios conectados a repositorios de terceros.
Además, si habilitas el modo de actuar como, se comprueba si el repositorio tiene una configuración de lanzamiento automático establecida mediante la programación Cron. Esto no se aplica a los repositorios conectados a repositorios de terceros.
Siguientes pasos
- Para obtener más información sobre cómo crear un repositorio, consulta Crear un repositorio.
- Para saber cómo crear una configuración de flujo de trabajo, consulta Programar ejecuciones.
- Para saber cómo crear una configuración de lanzamiento, consulta Configurar compilaciones.