Crea vincoli personalizzati delle policy dell'organizzazione

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/CompilationResult
  • dataform.googleapis.com/Folder
  • dataform.googleapis.com/ReleaseConfig
  • dataform.googleapis.com/Repository
  • dataform.googleapis.com/TeamFolder
  • dataform.googleapis.com/WorkflowConfig
  • dataform.googleapis.com/WorkflowInvocation
  • dataform.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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Installa Google Cloud CLI.

  5. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  6. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  7. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Installa Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. 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