Panoramica
Questa guida descrive come impostare una policy dell'organizzazione che includa il vincolo delle località delle risorse.
Puoi limitare la posizione fisica di una nuova risorsa con il vincolo per le località delle risorse del servizio Organization Policy Service. Puoi utilizzare la proprietà location di una risorsa per identificare dove viene implementata e gestita dal servizio. Per le risorse contenenti dati di alcuni servizi, questa proprietà riflette anche la posizione in cui vengono archiviati i dati. Google Cloud Questo vincolo ti consente di definire le località Google Cloud consentite in cui è possibile creare le risorse per i servizi supportati nella tua gerarchia.
Dopo aver definito le località delle risorse, questa limitazione verrà applicata solo alle risorse appena create. Le risorse create prima dell'impostazione del vincolo delle località delle risorse continueranno a esistere e a svolgere la loro funzione.
Un criterio che include questo vincolo non verrà applicato alla creazione di risorse secondarie per determinati servizi, come Cloud Storage e Dataproc.
Limitazioni
Il vincolo del servizio criteri dell'organizzazione per le località delle risorse controlla la possibilità di creare risorse per le quali è possibile selezionare una località. Questo vincolo non influisce sulla posizione in cui vengono create le risorse globali, come gli indirizzi globali di Compute Engine o le risorse che non supportano la selezione di una località.
Per evitare di interrompere l'infrastruttura di pubblicazione esistente, devi testare qualsiasi nuova policy su progetti e cartelle non di produzione, quindi applicarla gradualmente all'interno dell'organizzazione.
Per gli impegni relativi all'archiviazione dei dati, consulta i Termini di servizio diGoogle Cloud e i Termini specifici del servizio. Le policy dell'organizzazione che contengono il vincolo delle località delle risorse non sono impegni di archiviazione dei dati.
Questo vincolo si applica a un sottoinsieme specifico di prodotti e tipi di risorse. Per un elenco dei servizi supportati e dettagli sul comportamento di ciascun servizio, consulta la pagina Servizi supportati dalle località delle risorse.
Tipi di località
Puoi eseguire il deployment delle risorse Google Cloud nei tipi di
località che rappresentano diverse categorie di dimensioni.
Il tipo di località più grande è multi-region
, che include più di un
region
. Ogni region
è ulteriormente suddiviso in zones
. Per saperne di più
su regioni e zone, consulta la
panoramica di regioni e zone.
Le località
Multi-region
sono supportate da risorse fisiche in più di unregion
e vengono in genere utilizzate solo da risorse basate sullo spazio di archiviazione. Alcuni esempi includonous
,asia
,europe
eglobal
.Le località
Region
sono isolate geograficamente l'una dall'altra. Alcuni esempi includonous-west1
(Oregon),asia-northeast1
(Tokyo) eeurope-west1
(Belgio).Le località
Zone
sono il tipo di località più granulare e isolato utilizzato per il deployment delle risorse. Unzone
è un dominio in errore indipendente all'interno di unregion
. Alcuni esempi sonous-east1-b
,us-west1-b
easia-northeast1-a
.
Quando configuri le località, devi utilizzare il prefisso in:
e un
gruppo di valori. L'utilizzo di un gruppo di valori curato da Google Cloud
ti consente di scegliere una o più località geografiche, senza dover specificare le località Cloud attuali o future.
Il prefisso in:
di un gruppo di valori specifica che tutti i valori esistenti all'interno del gruppo di valori sono considerati parte delle norme. Se inserisci un valore di gruppo o una regione Google Cloud senza il prefisso, il prefisso in:
verrà aggiunto automaticamente, in base a queste regole:
- Se inserisci una località che utilizza il prefisso
in:
e contiene un gruppo non valido, la modifica delle norme non andrà a buon fine. - Se inserisci una località che è una regione, ad esempio
us-east1
, verrà aggiunto il prefissoin:
, che in questo esempio diventain:us-east1-locations
. - Se inserisci un gruppo di valori di regione o multi-regione come
us-locations
, verrà aggiunto il prefissoin:
, per ottenerein:us-locations
in questo esempio. - Se inserisci una zona o una regione multipla come
us-east1-b
ous
, i valori non verranno modificati.
Impostazione del criterio dell'organizzazione
Il vincolo relativo alle località delle risorse è un tipo di vincolo gestito legacy con
regole di elenco.
Puoi aggiungere e rimuovere località dagli elenchi allowed_values
o denied_values
di un vincolo di località delle risorse. Per evitare che le policy dell'organizzazione
limitino in modo imprevisto il comportamento del servizio man mano che vengono aggiunte nuove località all'elenco
disponibile, utilizza un gruppo di valori o un elenco di
allowed_values
che rappresentano l'intero confine geografico che vuoi
definire.
Per impostare un criterio dell'organizzazione che includa un vincolo delle località delle risorse:
Console
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Nel selettore di progetti, seleziona l'organizzazione, la cartella o il progetto per cui vuoi impostare il criterio dell'organizzazione.
Seleziona il vincolo Google Cloud Platform - Restrizione sulla località delle risorse per aprire la pagina Dettagli criterio.
Fai clic su Gestisci policy.
Nella pagina Modifica policy, seleziona Esegui override della policy dell'unità organizzativa principale.
Nella sezione Applicazione criterio, seleziona Sostituisci.
Fai clic su Aggiungi regola.
In Valori policy, seleziona Personalizzato.
In Tipo di policy, seleziona Consenti per creare un elenco di località consentite o seleziona Nega per creare un elenco di località negate.
Nella casella Valore criterio, inserisci il prefisso
in
e una stringa di posizione del gruppo di valori, poi premi Invio.Ad esempio,
in:us-locations
oin:us-west1-locations
. Puoi inserire più stringhe di località facendo clic su Nuovo valore norma.Puoi anche inserire località specifiche di zona, regione o multi-regione come stringhe di località. Per un elenco delle località disponibili, consulta la pagina Servizi supportati dalle località delle risorse.
Per applicare il criterio, fai clic su Imposta criterio.
gcloud
Per creare un criterio dell'organizzazione che applichi il vincolo delle località delle risorse, crea un file YAML dei criteri che faccia riferimento al vincolo:
name: organizations/ORGANIZATION_ID/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:us-east1-locations
- in:northamerica-northeast1-locations
Per applicare la policy dell'organizzazione contenente il vincolo, esegui questo comando:
gcloud org-policies set-policy POLICY_PATH
Sostituisci quanto segue:
ORGANIZATION_ID
: l'ID organizzazione, ad esempio 01234567890.POLICY_PATH
: il percorso completo del file YAML contenente i criteri dell'organizzazione.
Verrà restituita una risposta con i risultati della nuova policy dell'organizzazione:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:us-east1-locations
- in:northamerica-northeast1-locations
Puoi anche inserire località specifiche di zona, regione o multi-regione come stringhe di località. Per un elenco delle località disponibili, consulta la pagina Servizi supportati dalle località delle risorse.
API
Puoi utilizzare l'API Resource Manager per impostare un criterio dell'organizzazione su una risorsa. Per l'autenticazione e l'autorizzazione, avrai bisogno di un token di connessione OAuth 2.0.
Per impostare un criterio dell'organizzazione utilizzando il vincolo delle località delle risorse:
curl -X POST -H "Content-Type: application/json" -H "Authorization: \
Bearer ${bearer_token}" -d '{policy: {etag: "BwVtXec438Y=", constraint: \
"constraints/gcp.resourceLocations", list_policy: {denied_values: \
["in:europe-locations", "in:southamerica-locations"] }}}' \
https://cloudresourcemanager.googleapis.com/v1/organizations/123456789:setOrgPolicy
Verrà restituita una risposta con i risultati del nuovo criterio dell'organizzazione:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:europe-locations
- in:southamerica-locations
Puoi anche inserire località specifiche di zona, regione o multi-regione come stringhe di località. Per un elenco delle località disponibili, consulta la pagina Servizi supportati dalle località delle risorse.
Per scoprire di più sull'utilizzo dei vincoli nei criteri dell'organizzazione, consulta la sezione Utilizzo dei vincoli.
Utilizzo dell'ereditarietà nei criteri dell'organizzazione
Puoi perfezionare il criterio dell'organizzazione per ereditare il criterio dell'organizzazione dai nodi padre della risorsa. L'ereditarietà ti offre un controllo granulare sui criteri dell'organizzazione utilizzati in tutta la gerarchia delle risorse.
Per abilitare l'ereditarietà in un nodo risorsa, imposta inheritFromParent = true
nel
file YAML dei criteri dell'organizzazione. Ad esempio:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
inheritFromParent: true
rules:
- values:
deniedValues:
- in:us-west1
Esempio di messaggio di errore
I servizi che supportano il vincolo della località della risorsa non possono creare nuove risorse in località che violerebbero il vincolo. Se un servizio tenta di creare una risorsa in una località che viola il vincolo, il tentativo non andrà a buon fine e verrà generato un messaggio di errore.
Questo messaggio di errore avrà il seguente formato:
LOCATION_IN_REQUEST violates constraint
constraints/gcp.resourceLocations on the resource RESOURCE_TESTED.
Nell'esempio seguente, una risorsa Compute Engine non riesce a creare una nuova istanza a causa dell'applicazione dei criteri:
Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations
on the resource
projects/policy-violation-test/zones/us-east1-b/instances/instance-3.
Voce di log di Google Cloud Observability e Cloud Audit Logs:
{
insertId: "5u759gdngec"
logName: "projects/policy-violation-test/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
authenticationInfo: {…}
authorizationInfo: [6]
methodName: "beta.compute.instances.insert"
request: {…}
requestMetadata: {…}
resourceLocation: {…}
resourceName: "projects/policy-violation-test/zones/us-east1-b/instances/instance-3"
response: {
@type: "type.googleapis.com/error"
error: {
code: 412
errors: [
0: {
domain: "global"
location: "If-Match"
locationType: "header"
message: "Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations on the resource projects/policy-violation-test/zones/us-east1-b/instances/instance-3."
reason: "conditionNotMet"
}
]
message: "Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations on the resource projects/policy-violation-test/zones/us-east1-b/instances/instance-3."
}
}
serviceName: "compute.googleapis.com"
status: {
code: 3
message: "INVALID_ARGUMENT"
}
}
receiveTimestamp: "2019-06-14T03:04:23.660988360Z"
resource: {
labels: {…}
type: "gce_instance"
}
severity: "ERROR"
timestamp: "2019-06-14T03:04:22.783Z"
}
Risultati di vulnerabilità e correzione
Il vincolo di località delle risorse limita la creazione di risorse in fase di runtime. Questa funzionalità aiuta a prevenire le violazioni della posizione, ma non identifica né corregge le violazioni esistenti. Puoi utilizzare Security Health Analytics, un servizio integrato di Security Command Center, per rilevare violazioni della località nella gerarchia delle risorse. Per ulteriori informazioni, consulta Risultati delle vulnerabilità di Policy dell'organizzazione.
Se sono presenti risultati di Security Health Analytics relativi a violazioni della posizione, consulta la sezione Correzione dei risultati di Security Health Analytics per i passaggi da seguire per correggere questi risultati.
Gruppi di valori
I gruppi di valori sono raccolte di gruppi e località curate da Google per offrire una soluzione semplice al fine di definire le località delle tue risorse. I gruppi di valori includono molte sedi correlate e vengono espansi nel tempo da Google senza che sia necessario modificare le norme dell'organizzazione per includere le nuove sedi.
Per utilizzare i gruppi di valori nelle policy dell'organizzazione, aggiungi il prefisso
in:
alle voci. Per ulteriori informazioni sull'utilizzo dei prefissi dei valori, consulta la sezione
Utilizzare i vincoli.
I nomi dei gruppi vengono convalidati nella chiamata per impostare il criterio dell'organizzazione. L'utilizzo di un nome di gruppo non valido
causerà l'errore dell'impostazione del criterio.
La seguente tabella contiene l'elenco attuale dei gruppi disponibili:
Gruppo | Dettagli | Membri diretti |
---|---|---|
Johannesburg | Tutte le località all'interno di Johannesburg:in:africa-south1-locations |
Valori:
|
Asia | Tutte le località in Asia:in:asia-locations |
Gruppi:
Valori:
|
Hong Kong | Tutte le località di Hong Kong:in:asia-east2-locations |
Valori:
|
Indonesia | Tutte le località in Indonesia:in:id-locations |
Gruppi:
Valori:
|
Giacarta | Tutte le località all'interno di Giacarta:in:asia-southeast2-locations |
Valori:
|
Israele | Tutte le località in Israele:in:il-locations |
Gruppi:
Valori:
|
Israele | Tutte le località in Israele:in:me-west1-locations |
Valori:
|
India | Tutte le località in India:in:in-locations |
Gruppi:
Valori:
|
Mumbai | Tutte le località all'interno di Mumbai:in:asia-south1-locations |
Valori:
|
Delhi | Tutte le località di Delhi:in:asia-south2-locations |
Valori:
|
Giappone | Tutte le località in Giappone:in:jp-locations |
Gruppi:
Valori:
|
Tokyo | Tutte le posizioni all'interno di Tokyo:in:asia-northeast1-locations |
Valori:
|
Osaka | Tutte le località all'interno di Osaka:in:asia-northeast2-locations |
Valori:
|
Corea del Sud | Tutte le località in Corea del Sud:in:kr-locations |
Gruppi:
Valori:
|
Seul | Tutte le località di Seul:in:asia-northeast3-locations |
Valori:
|
Doha | Tutte le località all'interno di Doha:in:me-central1-locations |
Valori:
|
Arabia Saudita | Tutte le località in Arabia Saudita:in:sa-locations |
Gruppi:
Valori:
|
Dammam | Tutte le località all'interno di Dammam:in:me-central2-locations |
Valori:
|
Singapore | Tutte le località di Singapore:in:sg-locations |
Gruppi:
Valori:
|
Singapore | Tutte le località di Singapore:in:asia-southeast1-locations |
Valori:
|
Taiwan | Tutte le località di Taiwan:in:tw-locations |
Gruppi:
Valori:
|
Taiwan | Tutte le località di Taiwan:in:asia-east1-locations |
Valori:
|
Australia | Tutte le località in Australia:in:australia-locations |
Gruppi:
Valori:
|
Sydney | Tutte le località all'interno di Sydney:in:australia-southeast1-locations |
Valori:
|
Melbourne | Tutte le località all'interno di Melbourne:in:australia-southeast2-locations |
Valori:
|
AWS | Tutte le località AWS:in:aws-locations |
Valori:
|
Azure | Tutte le località Azure:in:azure-locations |
Valori:
|
Unione Europea | Tutte le località all'interno dell'Unione Europea:in:eu-locations |
Gruppi:
Valori:
|
Germania | Tutte le località in Germania:in:de-locations |
Gruppi:
Valori:
|
Berlino | Tutte le località di Berlino:in:europe-west10-locations |
Valori:
|
Francoforte | Tutte le località all'interno di Francoforte:in:europe-west3-locations |
Valori:
|
Varsavia | Tutte le posizioni all'interno di Varsavia:in:europe-central2-locations |
Valori:
|
Finlandia | Tutte le località in Finlandia:in:europe-north1-locations |
Valori:
|
Stoccolma | Tutte le località di Stoccolma:in:europe-north2-locations |
Valori:
|
Madrid | Tutte le località all'interno di Madrid:in:europe-southwest1-locations |
Valori:
|
Belgio | Tutte le località in Belgio:in:europe-west1-locations |
Valori:
|
Paesi Bassi | Tutte le località nei Paesi Bassi:in:europe-west4-locations |
Valori:
|
Parigi | Tutte le sedi a Parigi:in:europe-west9-locations |
Valori:
|
Italia | Tutte le località in Italia:in:it-locations |
Gruppi:
Valori:
|
Torino | Tutte le località di Torino:in:europe-west12-locations |
Valori:
|
Milano | Tutte le sedi di Milano:in:europe-west8-locations |
Valori:
|
Europa | Tutte le posizioni in Europa:in:europe-locations |
Gruppi:
Valori:
|
Svizzera | Tutte le località in Svizzera:in:ch-locations |
Gruppi:
Valori:
|
Zurigo | Tutte le località di Zurigo:in:europe-west6-locations |
Valori:
|
Regno Unito | Tutte le località del Regno Unito:in:gb-locations |
Gruppi:
Valori:
|
Londra | Tutte le località all'interno di Londra:in:europe-west2-locations |
Valori:
|
Località a basse emissioni di carbonio | Tutte le località con un basso impatto di carbonio:in:low-carbon-locations |
Gruppi:
|
Canada a basse emissioni di carbonio | Tutte le località in Canada con un basso impatto di emissioni di carbonio:in:canada-low-carbon-locations |
Gruppi:
|
Montréal | Tutte le sedi di Montréal:in:northamerica-northeast1-locations |
Valori:
|
Toronto | Tutte le sedi all'interno di Toronto:in:northamerica-northeast2-locations |
Valori:
|
Unione Europea a basse emissioni di carbonio | Tutte le località all'interno dell'Unione Europea con un basso impatto di carbonio:in:eu-low-carbon-locations |
Gruppi:
|
Europa a basse emissioni di carbonio | Tutte le località in Europa con un basso impatto di carbonio:in:europe-low-carbon-locations |
Gruppi:
|
Nord America a basse emissioni di CO2 | Tutte le sedi in Nord America con un basso impatto di emissioni di CO2:in:northamerica-low-carbon-locations |
Gruppi:
|
Iowa | Tutte le località in Iowa:in:us-central1-locations |
Valori:
|
Oregon | Tutte le località in Oregon:in:us-west1-locations |
Valori:
|
Sud America a basse emissioni di carbonio | Tutte le località in Sud America con un basso impatto di emissioni di CO2:in:southamerica-low-carbon-locations |
Gruppi:
|
San Paolo | Tutte le località di San Paolo:in:southamerica-east1-locations |
Valori:
|
Stati Uniti a basse emissioni di CO2 | Tutte le località negli Stati Uniti con un basso impatto di emissioni di carbonio:in:us-low-carbon-locations |
Gruppi:
|
Nord America | Tutte le località in Nord America:in:northamerica-locations |
Gruppi:
Valori:
|
Canada | Tutte le località in Canada.in:canada-locations |
Gruppi:
Valori:
|
Messico | Tutte le località in Messico:in:northamerica-south1-locations |
Valori:
|
Stati Uniti | Tutte le località negli Stati Uniti:in:us-locations |
Gruppi:
Valori:
|
Oklahoma | Tutte le località in Oklahoma:in:us-central2-locations |
Valori:
|
Carolina del Sud | Tutte le zone della Carolina del Sud:in:us-east1-locations |
Valori:
|
Virginia del Nord | Tutte le località in Virginia del Nord:in:us-east4-locations |
Valori:
|
Columbus | Tutte le località all'interno di Columbus:in:us-east5-locations |
Valori:
|
Dallas | Tutte le sedi a Dallas:in:us-south1-locations |
Valori:
|
Los Angeles | Tutte le località all'interno di Los Angeles:in:us-west2-locations |
Valori:
|
Salt Lake City | Tutte le località all'interno di Salt Lake City:in:us-west3-locations |
Valori:
|
Las Vegas | Tutte le località all'interno di Las Vegas:in:us-west4-locations |
Valori:
|
Sud America | Tutte le località in Sud America:in:southamerica-locations |
Gruppi:
|
Brasile | Tutte le località in Brasile:in:br-locations |
Gruppi:
Valori:
|
Cile | Tutte le località in Cile:in:cl-locations |
Gruppi:
Valori:
|
Santiago | Tutte le località all'interno di Santiago:in:southamerica-west1-locations |
Valori:
|
Autenticazione
Organization Policy Service utilizza OAuth 2.0 per l'autenticazione e l'autorizzazione delle API. Per ottenere un token di connessione OAuth 2.0:
Vai alla pagina di OAuth 2.0 Playground.
Nell'elenco degli ambiti del Passaggio 1, seleziona API Cloud Resource Manager v2 > https://www.googleapis.com/auth/cloud-platform, e poi fai clic su Autorizza API.
Nella pagina Accedi con Google visualizzata, seleziona il tuo account e accedi.
Per fornire l'accesso a Google OAuth 2.0 Playground, fai clic su Consenti nel prompt visualizzato.
Nel passaggio 2, fai clic su Exchange authorization code for tokens (Scambia codice di autorizzazione per i token).
In fondo al riquadro Richiesta / Risposta a destra, viene visualizzata la stringa del token di accesso:
{ "access_token": "ACCESS_TOKEN", "token_type": "Bearer", "expires_in": 3600 }
Dove ACCESS_TOKEN è la stringa del token di autenticazione OAuth 2.0 che puoi utilizzare per l'autorizzazione API.