La modalità di simulazione 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 ilaccount di serviziot effettivo,
ovvero l'agente di servizio o iaccount di serviziont le cui credenziali vengono utilizzate per
eseguire i workflow. Per ulteriori informazioni, vedi
Collegare 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 personalizzato quando crei il repository, viene utilizzato il account di servizio In caso contrario, il valore predefinito è Agente di servizio Dataform. |
Configurazione del workflow | Puoi selezionare un account di servizio personalizzato quando crei la configurazione del workflow. In caso contrario, il valore predefinito è l'agente di servizio Dataform del repository. |
Richiamo del workflow | Se il risultato della compilazione è Se crei una chiamata del flusso di lavoro da un risultato di compilazione, viene utilizzato l'account di servizio In caso contrario, il valore predefinito è l'agente 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
opatch
- Se la proprietà
Repository.ServiceAccount
è impostata, devi disporre del ruolo Utente account di servizio 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.
- Se la proprietà
workflowConfigs.create
oworkflowConfigs.patch
- Devi disporre del ruolo Utente account di servizio per l'account di servizio effettivo utilizzato nella configurazione del flusso di lavoro.
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 flusso di lavoro.
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à actAs è attivata, le release automatiche sono disabilitate per le configurazioni di release 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
- Per scoprire come creare un repository, consulta Crea un repository.
- Per scoprire di più su come Dataform funziona con BigQuery, consulta la panoramica dei workflow.
- Per scoprire come creare una configurazione del flusso di lavoro, consulta Pianificare le esecuzioni.
- Per scoprire come creare una configurazione della release, consulta Configurare le compilazioni.