Utilizzare la modalità di sostituzione rigorosa

La modalità di emulazione rigorosa attiva un controllo di sicurezza aggiuntivo per le seguenti azioni utente in Dataform:

  • Creazione o aggiornamento di un repository
  • Creazione o aggiornamento di una configurazione del workflow
  • Creazione di una chiamata del workflow
  • Aggiornamento di una configurazione di release

Questo controllo di sicurezza aggiuntivo richiede che l'utente che esegue queste azioni disponga dell'autorizzazione iam.serviceAccounts.actAs per l'account di servizio effettivo, ovvero l'account di servizio le cui credenziali vengono utilizzate per eseguire i workflow. Per ulteriori informazioni sui service account, consulta Collegare i service account alle risorse.

Puoi attivare questa modalità nei seguenti modi:

  • Quando crei un repository
  • Quando aggiorni un repository esistente con il flag del repository strict_act_as_checks

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per completare le attività descritte in questo documento, chiedi all'amministratore di concederti il ruolo IAM Utente service account (roles/iam.serviceAccountUser) sul account di servizio personalizzato. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Determinare il account di servizio effettivo

Puoi determinare il account di servizio effettivo che esegue i flussi di lavoro in base al tipo di risorsa e alle seguenti condizioni:

Tipo di risorsa Service account effettivo
Repository

Se selezioni un account di servizio quando crei il repository, viene utilizzato il account di servizio Repository.ServiceAccount.

In caso contrario, il valore predefinito è l'account di servizio Dataform.

Configurazione del workflow

Puoi selezionare un account di servizio quando crei la configurazione del workflow.

In caso contrario, il valore predefinito è l'account di servizio Dataform del repository.

Richiamo del workflow

Se il risultato della compilazione è WORKFLOW_CONFIG, viene utilizzato il account di servizio effettivo della configurazione del flusso di lavoro.

Se crei una chiamata del flusso di lavoro da un risultato di compilazione, viene utilizzato l'account di servizio WorkflowInvocation.InvocationConfig, se impostato.

In caso contrario, il valore predefinito è l'account di servizio Dataform del repository.

Concedi il ruolo IAM Service Account User

Il ruolo Utente service account (roles/iam.serviceAccountUser) contiene l'autorizzazione iam.serviceAccounts.actAs, necessaria per la modalità Act-as rigorosa. Quando utilizzi l'API Dataform, devi disporre del ruolo Utente service account concesso per il account di servizio effettivo in base al metodo projects.locations.repositories che stai chiamando:

  • create o patch
    • Se la proprietà Repository.ServiceAccount è impostata, devi disporre del ruolo Utente service account concesso per quella proprietà.
    • Se chiami il metodo patch, devi disporre del ruolo Utente service account concesso per tutti i service account effettivi in tutte le configurazioni del flusso di lavoro nel repository.
  • workflowConfigs.create o workflowConfigs.patch
    • Devi disporre del ruolo Utente account di servizio per l'account di servizio effettivo utilizzato nella configurazione del workflow.
  • releaseConfigs.patch
    • Devi disporre del ruolo Utente account di servizio per tutti gli account di servizio effettivi utilizzati nelle configurazioni del flusso di lavoro utilizzando questa configurazione di rilascio.
  • workflowInvocations.create
    • Devi disporre del ruolo Utente account di servizio per l'account di servizio effettivo utilizzato nell'invocazione del workflow.

Per ulteriori informazioni, consulta i ruoli richiesti per creare una configurazione del flusso di lavoro e i ruoli richiesti per creare una configurazione di rilascio.

Release automatiche per i repository

Quando la modalità act-as è abilitata, le release automatiche sono disabilitate per le configurazioni di rilascio del repository Dataform. Questo non si applica ai repository connessi a repository di terze parti.

Inoltre, se attivi la modalità Agisci come, vengono eseguiti controlli sul repository per verificare se è impostata una configurazione di rilascio automatico utilizzando la pianificazione Cron. Questo non si applica ai repository connessi a repository di terze parti.

Passaggi successivi