Usa el modo de actuar como estricto

El modo estricto de actuar como habilita una verificación de seguridad adicional para las siguientes acciones del usuario en Dataform:

  • Crea o actualiza un repositorio
  • Crear o actualizar una configuración de flujo de trabajo
  • Cómo crear una invocación de flujo de trabajo
  • Actualiza una configuración de lanzamiento

Esta verificación de seguridad adicional requiere que el usuario que realiza 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 Cómo conectar cuentas de servicio a recursos.

Puedes habilitar este modo de las siguientes maneras:

  • Cuando creas un repositorio
  • Cuando actualizas un repositorio existente con la marca de repositorio strict_act_as_checks

Roles obligatorios

Para obtener los permisos que necesitas para completar las tareas de este documento, pídele a tu administrador que te otorgue el rol de IAM de usuario de la cuenta de servicio (roles/iam.serviceAccountUser) en la cuenta de servicio personalizada. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Determina la cuenta de servicio vigente

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 vigente
Repositorios

Si seleccionas una cuenta de servicio cuando creas el repositorio, se usará la cuenta de servicio Repository.ServiceAccount.

De lo contrario, se usará la cuenta de servicio de Dataform de forma predeterminada.

Configuración del flujo de trabajo

Puedes seleccionar una cuenta de servicio cuando creas 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 flujo de trabajo

Si el resultado de la compilación es WORKFLOW_CONFIG, se usa la cuenta de servicio efectiva de la configuración del flujo de trabajo.

Si creas una invocación de flujo de trabajo a partir de un resultado de compilación, se usará la cuenta de servicio WorkflowInvocation.InvocationConfig si está configurada.

De lo contrario, se usará de forma predeterminada la cuenta de servicio de Dataform del repositorio.

Otorga el rol de IAM de usuario de cuenta de servicio

El rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser) contiene el permiso iam.serviceAccounts.actAs, que es obligatorio para el modo de actuar como. Cuando usas la API de Dataform, debes tener otorgado el rol de usuario de cuenta de servicio para la cuenta de servicio efectiva según el método projects.locations.repositories al que llamas:

  • create o patch
    • Si la propiedad Repository.ServiceAccount está configurada, deberías tener asignado el rol de usuario de cuenta de servicio para esa propiedad.
    • Si llamas al método patch, debes tener otorgado el rol de usuario de cuenta de servicio para todas las cuentas de servicio efectivas en todas las configuraciones de flujo de trabajo del repositorio.
  • workflowConfigs.create o workflowConfigs.patch
    • Debes tener el rol de usuario de cuenta de servicio otorgado para la cuenta de servicio efectiva que se usa en la configuración del flujo de trabajo.
  • releaseConfigs.patch
    • Debes tener el rol de usuario de cuenta de servicio otorgado a todas las cuentas de servicio efectivas que se usan en las configuraciones de flujo de trabajo con esta configuración de lanzamiento.
  • workflowInvocations.create
    • Debes tener el rol de usuario de cuenta de servicio otorgado para 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.

Versiones automáticas para repositorios

Cuando se habilita el modo act-as, se inhabilitan los lanzamientos automáticos para las configuraciones de lanzamiento 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 realizan verificaciones en el repositorio para verificar si tiene una configuración de lanzamiento automático establecida con la programación de Cron. Esto no se aplica a los repositorios conectados a repositorios de terceros.

¿Qué sigue?