Questa pagina mostra come utilizzare i vincoli personalizzati del servizio Policy dell'organizzazione per limitare operazioni specifiche sulle seguenti risorse Google Cloud :
dataform.googleapis.com/CompilationResultdataform.googleapis.com/Folderdataform.googleapis.com/ReleaseConfigdataform.googleapis.com/Repositorydataform.googleapis.com/TeamFolderdataform.googleapis.com/WorkflowConfigdataform.googleapis.com/WorkflowInvocationdataform.googleapis.com/Workspace
Per saperne di più sulle policy dell'organizzazione, consulta Policy dell'organizzazione personalizzate.
Informazioni sulle policy dell'organizzazione e sui vincoli
Il servizio Google Cloud Policy dell'organizzazione offre un controllo centralizzato e programmatico sulle risorse della tua organizzazione. In qualità di amministratore della policy dell'organizzazione, puoi definire una policy dell'organizzazione, ovvero un insieme di limitazioni chiamate vincoli che si applicano alle risorseGoogle Cloud e ai discendenti di queste risorse nella gerarchia delle risorseGoogle Cloud . Puoi applicare le policy dell'organizzazione a livello di organizzazione, cartella o progetto.
Policy dell'organizzazione fornisce vincoli gestiti integrati per vari servizi Google Cloud . Tuttavia, se cerchi un controllo più granulare e personalizzabile sui campi specifici limitati nelle policy dell'organizzazione, puoi anche creare vincoli personalizzati e utilizzarli in una policy dell'organizzazione personalizzata.
Ereditarietà delle policy
Per impostazione predefinita, le policy dell'organizzazione vengono ereditate dai discendenti delle risorse su cui applichi la policy. Ad esempio, se applichi una policy a una cartella, Google Cloud applica la policy a tutti i progetti contenuti nella cartella. Per scoprire di più su questo comportamento e su come modificarlo, consulta Regole di valutazione della gerarchia.
Vantaggi
Puoi utilizzare policy dell'organizzazione personalizzate per consentire o negare valori specifici per le risorse Dataform. Ad esempio, se una richiesta di creazione o aggiornamento di una risorsa dataform.googleapis.com/Repository non supera la convalida dei vincoli personalizzati impostata dalla policy dell'organizzazione, la richiesta non va a buon fine e viene restituito un errore al chiamante.
L'utilizzo di policy dell'organizzazione personalizzate aggiunge un ulteriore livello di sicurezza, conformità e governance. Ad esempio, puoi definire policy che consentano la creazione di risorse solo in una determinata regione o che vietino l'utilizzo di repository Git remoti al di fuori della tua organizzazione.
Limitazioni
Come tutti i vincoli delle policy dell'organizzazione, le modifiche alle policy non vengono applicate retroattivamente alle risorse esistenti:
- Una nuova policy non influisce sulle risorse esistenti.
- Se modifichi il criterio, una risorsa esistente rimane valida, a meno che non la modifichi da un valore conforme a uno non conforme utilizzando la consoleGoogle Cloud o una RPC.
Ti consigliamo di rendere tutte le risorse esistenti conformi a una norma prima di applicarne una nuova. Per verificare quali risorse esistenti non saranno conformi dopo l'applicazione forzata di una policy, utilizza Policy Simulator per le policy dell'organizzazione.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Assicurati di conoscere il tuo ID organizzazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le policy dell'organizzazione personalizzate, chiedi all'amministratore di concederti il ruolo IAM Organization Policy Administrator (roles/orgpolicy.policyAdmin) sulla risorsa organizzazione.
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.
Risorse supportate da Dataform
La tabella seguente elenca le risorse Dataform a cui puoi fare riferimento nei vincoli personalizzati.| Risorsa | Campo |
|---|---|
| dataform.googleapis.com/CompilationResult |
resource.codeCompilationConfig.assertionSchema
|
resource.codeCompilationConfig.builtinAssertionNamePrefix
| |
resource.codeCompilationConfig.databaseSuffix
| |
resource.codeCompilationConfig.defaultDatabase
| |
resource.codeCompilationConfig.defaultLocation
| |
resource.codeCompilationConfig.defaultNotebookRuntimeOptions.aiPlatformNotebookRuntimeTemplate
| |
resource.codeCompilationConfig.defaultNotebookRuntimeOptions.gcsOutputBucket
| |
resource.codeCompilationConfig.defaultSchema
| |
resource.codeCompilationConfig.schemaSuffix
| |
resource.codeCompilationConfig.tablePrefix
| |
resource.codeCompilationConfig.vars
| |
resource.gitCommitish
| |
resource.releaseConfig
| |
resource.workspace
| |
| dataform.googleapis.com/Folder |
resource.containingFolder
|
resource.displayName
| |
| dataform.googleapis.com/ReleaseConfig |
resource.codeCompilationConfig.assertionSchema
|
resource.codeCompilationConfig.builtinAssertionNamePrefix
| |
resource.codeCompilationConfig.databaseSuffix
| |
resource.codeCompilationConfig.defaultDatabase
| |
resource.codeCompilationConfig.defaultLocation
| |
resource.codeCompilationConfig.defaultNotebookRuntimeOptions.aiPlatformNotebookRuntimeTemplate
| |
resource.codeCompilationConfig.defaultNotebookRuntimeOptions.gcsOutputBucket
| |
resource.codeCompilationConfig.defaultSchema
| |
resource.codeCompilationConfig.schemaSuffix
| |
resource.codeCompilationConfig.tablePrefix
| |
resource.codeCompilationConfig.vars
| |
resource.cronSchedule
| |
resource.disabled
| |
resource.gitCommitish
| |
resource.name
| |
resource.releaseCompilationResult
| |
resource.timeZone
| |
| dataform.googleapis.com/Repository |
resource.containingFolder
|
resource.displayName
| |
resource.gitRemoteSettings.authenticationTokenSecretVersion
| |
resource.gitRemoteSettings.defaultBranch
| |
resource.gitRemoteSettings.sshAuthenticationConfig.hostPublicKey
| |
resource.gitRemoteSettings.sshAuthenticationConfig.userPrivateKeySecretVersion
| |
resource.gitRemoteSettings.url
| |