Questa pagina contiene informazioni sull'analisi delle impostazioni dei criteri dell'organizzazione per vedere quali risorse sono coperte da un criterio dell'organizzazione. Utilizzo Analizzatore criteri per i criteri dell'organizzazione, puoi creare un'analisi per ottenere informazioni sui criteri dell'organizzazione sia personalizzati che predefiniti.
Una query di analisi è composta da un ambito e un vincolo.
- Vincolo: specifica il nome risorsa di un vincolo.
- Ambito: specifica un'organizzazione per definire l'ambito dell'analisi. Tutta l'organizzazione i criteri con il vincolo specificato definito in questo ambito sono inclusi l'analisi.
Per ulteriori informazioni sui criteri dell'organizzazione, consulta Introduzione al servizio Criteri dell'organizzazione. Per ulteriori informazioni su come creare vincoli personalizzati, consulta Creazione e gestione di vincoli personalizzati.
Prima di iniziare
Attiva Cloud Asset API.
Devi abilitare l'API nel progetto o nell'organizzazione che utilizzerai per inviare la query. Non deve essere la stessa risorsa con cui limiti l'ambito della query a.
(Facoltativo) Se vuoi eseguire più di 20 query di analisi dei criteri per organizzazione al giorno, accertati di avere attivato l'abbonamento premium a livello di organizzazione livello di Security Command Center. Per ulteriori informazioni, consulta la sezione Fatturazione domande.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per eseguire un'analisi dei criteri dell'organizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM per la risorsa organizzazione su cui vuoi eseguire l'analisi:
-
Per condurre l'analisi:
Cloud Asset Viewer (
roles/cloudasset.viewer
) -
Per visualizzare i vincoli personalizzati:
Visualizzatore criteri organizzazione (
roles/orgpolicy.policyViewer
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti le autorizzazioni necessarie per eseguire un'analisi dei criteri dell'organizzazione. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire un'analisi dei criteri dell'organizzazione sono necessarie le seguenti autorizzazioni:
-
Per condurre l'analisi:
-
cloudasset.assets.analyzeOrgPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
-
Per visualizzare i vincoli personalizzati:
orgpolicy.customConstraints.get
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.
Prezzi e quote
Policy Analyzer per i criteri dell'organizzazione su larga scala (più di 20 query per organizzazione al giorno) e le visualizzazioni di ereditarietà sono disponibili solo per clienti con attivazioni a livello di organizzazione di Security Command Center.
La quota per l'Analizzatore criteri per i criteri dell'organizzazione è condivisa tra tutti Strumenti di Analizzatore criteri. Per ulteriori informazioni, vedi Domande sulla fatturazione.
Analizza i criteri configurati
Un criterio dell'organizzazione viene creato a partire da un vincolo e condizioni facoltative a cui viene applicato il vincolo. Puoi utilizzare la modalità Policy Analyzer per restituire un elenco di criteri dell'organizzazione con un un vincolo specifico e le risorse a cui sono collegati.
Per ogni criterio dell'organizzazione rilevato nell'ambito della query, Policy Analyzer restituisce una voce di risultato. Una voce di risultato contiene nei seguenti campi:
consolidatedPolicy
: la risorsa a cui si trova il criterio dell'organizzazione in allegato e l'applicazione effettiva dei criteri su quella risorsa in relazione regole di valutazione della gerarchia.project
: l'ID della risorsa di progetto in cui questo criterio consolidato .folders
: l'ID di tutte le risorse delle cartelle predecessori della risorsa a cui è collegato il criterio dell'organizzazione.organization
: l'ID della risorsa dell'organizzazione predecessore di alla risorsa a cui è collegato il criterio dell'organizzazione.policyBundle
: il criterio dell'organizzazione completamente configurato associato a quanto sopra risorsa e i criteri dell'organizzazione definiti sui predecessori nel nella gerarchia delle risorse.
Se le tue risorse sono protette da un perimetro di servizio Controlli di servizio VPC,
devi creare una regola di traffico in uscita
nel perimetro della risorsa dell'organizzazione che consente l'accesso
cloudasset.googleapis.com
e il servizio
google.cloud.asset.v1.AssetService.SearchAllResources
. In caso contrario
una regola in uscita, la richiesta avrà esito negativo e
NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
errore. Per ulteriori informazioni, vedi
Richieste di debug bloccate dai Controlli di servizio VPC.
Console
Nella console Google Cloud, vai alla pagina Analizzatore criteri.
Nella sezione Analizza il criterio dell'organizzazione, trova il riquadro con l'etichetta Dove sono configurati i criteri dell'organizzazione specifici? e fai clic su Crea query nel riquadro.
Nella casella Seleziona organizzazione query, scegli l'organizzazione per la quale vuoi analizzare i criteri dell'organizzazione.
Seleziona il tipo di vincolo che vuoi analizzare. Per un Vincolo integrato, seleziona Vincolo integrato. Per un vincolo personalizzato, seleziona Vincolo personalizzato.
Inserisci il nome del vincolo da analizzare. Il prefisso del il tipo di vincolo che stai analizzando è già incluso. Ad esempio: Per il vincolo di limitazione del dominio predefinito, inserisci
iam.allowedPolicyMemberDomains
e per un vincolo personalizzato, inserisci il relativo nome, ad esempiodisableGkeAutoUpgrade
.Fai clic su Analizza e poi su Esegui query. La pagina del report mostra la query i parametri specificati e una tabella dei risultati di tutte le risorse a cui il vincolo viene applicato direttamente.
Puoi salvare questa query per visualizzarla in un secondo momento facendo clic su Copia URL query. Per visualizzare questa query, vai all'URL generato.
Puoi visualizzare l'ereditarietà del vincolo analizzato selezionando almeno una risorsa dall'elenco e facendo clic Visualizza l'ereditarietà. Puoi anche andare immediatamente alla visualizzazione Visualizza quando crei la query di analisi facendo clic su Analizza e poi Visualizza. Consulta Visualizzare l'ereditarietà per ulteriori informazioni.
gcloud
per ottenere un'analisi dell'applicazione di un vincolo del criterio dell'organizzazione.
all'interno di un'organizzazione, utilizza
Comando gcloud asset analyze-org-policies
:
gcloud asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Sostituisci quanto segue:
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
LIMIT_POLICIES: il numero di voci nei risultati che vuoi da visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
.FILTER_QUERY: una query di filtro per visualizzare solo i criteri che corrispondono all'espressione di filtro. L'unico campo disponibile per il filtro è
consolidated_policy.attached_resource
. Ad esempio:consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
restituirà solo i criteri associati al progetto con con ID progetto1234567890
.
La risposta YAML è simile alla seguente:
Esempio di risposta YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
per ottenere un'analisi dell'applicazione di un vincolo del criterio dell'organizzazione.
all'interno di un'organizzazione, utilizza la classe
Metodo analyzeOrgPolicies
.
Metodo HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicies
Corpo JSON della richiesta:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Sostituisci quanto segue:
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
FILTER_QUERY: una query di filtro per visualizzare solo i criteri che corrispondono all'espressione di filtro. L'unico campo disponibile per il filtro è
consolidated_policy.attached_resource
. Ad esempio:consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
restituirà solo i criteri associati al progetto con con ID progetto1234567890
.PAGE_SIZE: il numero di voci di risultati per pagina che vuoi da visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
. Una richiesta effettuata con questo set di flag restituisce un valorenextPageToken
se il numero totale di le voci dei risultati sono maggiori di PAGE_SIZE.PAGE_TOKEN: da impostare solo per le richieste successive al primo che include il flag
page_size
. Puoi utilizzare lonextPageToken
valori ricevuti dalle risposte precedenti per restituire un pagina specifica di risultati.
La risposta JSON è simile alla seguente:
Esempio di risposta JSON
{ "orgPolicyResults": [ { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } }, { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "inheritFromParent": true, "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] }, { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/iam.allowedPolicyMemberDomains", "displayName": "Domain restricted sharing", "description": "This list constraint defines one or more Cloud Identity or Google Workspace customer IDs whose principals can be added to IAM policies. \u003cbr\u003eBy default, all user identities are allowed to be added to IAM policies. Only allowed values can be defined in this constraint, denied values are not supported. \u003cbr\u003eIf this constraint is active, only principals that belong to the allowed customer IDs can be added to IAM policies.", "constraintDefault": "ALLOW", "listConstraint": {} } } }
Analizza i container
Un container in questo contesto è un progetto, una cartella o una risorsa dell'organizzazione. Puoi usare Policy Analyzer per restituire un elenco di tutti i container a cui sono applicati in modo forzato criteri dell'organizzazione a cui è applicato un determinato vincolo. Policy Analyzer restituisce anche il nome completo di ogni container, dell'elemento principale del contenitore nella gerarchia e i tag ereditati o associati nel container.
Per ogni container rilevato nell'ambito della query, Policy Analyzer restituisce una voce di risultato. Una voce di risultato contiene nei seguenti campi:
consolidatedPolicy
: il container a cui si trova il criterio dell'organizzazione e l'applicazione delle norme efficace sul contenitore in relazione regole di valutazione della gerarchia.conditionEvaluation
: se le condizioni incluse comportano l'applicazione del criterio dell'organizzazione,evaluationValue
èTRUE
. Se le condizioni comporta l'applicazione forzata del criterio dell'organizzazione,evaluationValue
èFALSE
. Se la condizione non è supportata da una o più risorse su a cui viene applicato il criterio dell'organizzazione, viene restituita la condizione stessa.effectiveTags
: tutti i tag direttamente associati o ereditati dal e dai relativi elementi padre nella gerarchia.folders
: l'ID di tutte le risorse cartella che contengono il container in cui il criterio dell'organizzazione è collegato.fullResourceName
: il nome completo del container.organization
: l'ID della risorsa dell'organizzazione predecessore di dal container a cui è associato il criterio dell'organizzazione.parent
: il nome completo della risorsa dell'elemento padre di questo container.policyBundle
: il criterio dell'organizzazione configurato direttamente nel container se ne esiste uno e i criteri dell'organizzazione definiti sui predecessori container nella gerarchia delle risorse.project
: l'ID del container a cui si trova il criterio dell'organizzazione se si tratta di una risorsa di progetto.
Se le tue risorse sono protette da un perimetro di servizio Controlli di servizio VPC,
devi creare una regola di traffico in uscita
nel perimetro della risorsa dell'organizzazione che consente l'accesso
cloudasset.googleapis.com
e il servizio
google.cloud.asset.v1.AssetService.SearchAllResources
. In caso contrario
una regola in uscita, la richiesta avrà esito negativo e
NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
errore. Per ulteriori informazioni, vedi
Richieste di debug bloccate dai Controlli di servizio VPC.
Console
Nella console Google Cloud, vai alla pagina Analizzatore criteri.
Nella sezione Analizza il criterio dell'organizzazione, trova il riquadro con l'etichetta Quali progetti o cartelle sono interessati da un criterio dell'organizzazione vincolo? e fai clic su Crea query nel riquadro.
Nella casella Seleziona organizzazione query, scegli l'organizzazione per la quale vuoi analizzare i criteri dell'organizzazione.
Seleziona il tipo di vincolo che vuoi analizzare. Per un Vincolo integrato, seleziona Vincolo integrato. Per un vincolo personalizzato, seleziona Vincolo personalizzato.
Inserisci il nome del vincolo da analizzare. Il prefisso del il tipo di vincolo che stai analizzando è già incluso. Ad esempio: Per il vincolo di limitazione del dominio predefinito, inserisci
iam.allowedPolicyMemberDomains
e per un vincolo personalizzato, inserisci il relativo nome, ad esempiodisableGkeAutoUpgrade
.Fai clic su Esegui query. La pagina del report mostra i parametri di ricerca e una tabella dei risultati di tutti i container a cui il vincolo applicata in modo forzato o ereditato.
Puoi salvare questa query per visualizzarla in un secondo momento facendo clic su Copia URL query. Per visualizzare questa query, vai all'URL generato.
Puoi visualizzare l'ereditarietà del vincolo analizzato selezionando almeno un contenitore nell'elenco e facendo clic Visualizza l'ereditarietà. Puoi anche andare immediatamente alla visualizzazione Visualizza quando crei la query di analisi facendo clic su Analizza e poi Visualizza. Consulta Visualizzare l'ereditarietà per ulteriori informazioni.
gcloud
per ottenere un'analisi di come un vincolo del criterio dell'organizzazione viene applicato in modo forzato.
i container all'interno di un'organizzazione,
Comando gcloud asset analyze-org-policy-governed-containers
:
gcloud asset analyze-org-policy-governed-containers \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_CONTAINERS \
--filter=FILTER_QUERY
Sostituisci quanto segue:
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
LIMIT_CONTAINERS: il numero di voci nei risultati che che vuoi visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
.FILTER_QUERY: una query di filtro per visualizzare solo i contenitori. che corrispondono all'espressione di filtro. L'unico campo disponibile per il filtro è
parent
. Ad esempio,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
restituisce solo i container secondari dell'organizzazione l'ID organizzazione012345678901
.
La risposta YAML è simile alla seguente:
Esempio di risposta YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/donghe-project1 parent: //cloudresourcemanager.googleapis.com/folders/86513245445 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 inheritFromParent: true rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 rules: - denyAll: true fullResourceName: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 parent: //cloudresourcemanager.googleapis.com/organizations/474566717491 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 inheritFromParent: true rules: - denyAll: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 parent: //cloudresourcemanager.googleapis.com/folders/666681422980 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1
REST
per ottenere un'analisi di come un vincolo del criterio dell'organizzazione viene applicato in modo forzato.
i container all'interno di un'organizzazione, utilizza
Metodo analyzeOrgPolicyGovernedContainers
.
Metodo HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedContainers
Corpo JSON della richiesta:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Sostituisci quanto segue:
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
FILTER_QUERY: una query di filtro per visualizzare solo i contenitori. che corrispondono all'espressione di filtro. L'unico campo disponibile per il filtro è
parent
. Ad esempio:parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
lo farebbe restituire solo i container secondari dell'organizzazione con ID organizzazione012345678901
.PAGE_SIZE: il numero di pagine di voci di risultati desiderato da visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
. Una richiesta effettuata con questo set di flag restituisce un valorenextPageToken
se il numero totale di le voci dei risultati sono maggiori di PAGE_SIZE.PAGE_TOKEN: da impostare solo per le richieste successive al primo che include il flag
page_size
. Puoi utilizzare lonextPageToken
valori ricevuti dalle risposte precedenti per restituire un pagina specifica di risultati.
La risposta JSON è simile alla seguente:
Esempio di risposta JSON
{ "governedContainers": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] }, { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-1", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/compute.requireOsLogin", "displayName": "Require OS Login", "description": "This boolean constraint, when set to \u003ccode\u003etrue\u003c/code\u003e, enables OS Login on all newly created Projects. All VM instances created in new projects will have OS Login enabled. On new and existing projects, this constraint prevents metadata updates that disable OS Login at the project or instance level. \u003cbr\u003eBy default, the OS Login feature is disabled on Compute Engine projects.\u003cbr\u003eGKE instances in private clusters running node pool versions 1.20.5-gke.2000 and later support OS Login. GKE instances in public clusters do not currently support OS Login. If this constraint is applied to a Project running public clusters, GKE instances running in that Project may not function properly.", "constraintDefault": "ALLOW", "booleanConstraint": {} } } }
Analizzare gli asset
Un asset in questo contesto è una risorsa Google Cloud Criterio di autorizzazione di Identity and Access Management (IAM). Puoi utilizzare la modalità Analizzatore criteri per restituire un elenco di tutti gli asset che sono dei criteri dell'organizzazione a cui è applicato in modo forzato un vincolo specifico. Sono supportati i vincoli personalizzati e i seguenti vincoli predefiniti:
constraints/ainotebooks.accessMode
constraints/ainotebooks.disableFileDownloads
constraints/ainotebooks.disableRootAccess
constraints/ainotebooks.disableTerminal
constraints/ainotebooks.environmentOptions
constraints/ainotebooks.requireAutoUpgradeSchedule
constraints/ainotebooks.restrictVpcNetworks
constraints/compute.disableGuestAttributesAccess
constraints/compute.disableInstanceDataAccessApis
constraints/compute.disableNestedVirtualization
constraints/compute.disableSerialPortAccess
constraints/compute.disableSerialPortLogging
constraints/compute.disableVpcExternalIpv6
constraints/compute.requireOsLogin
constraints/compute.requireShieldedVm
constraints/compute.restrictLoadBalancerCreationForTypes
constraints/compute.restrictProtocolForwardingCreationForTypes
constraints/compute.restrictXpnProjectLienRemoval
constraints/compute.setNewProjectDefaultToZonalDNSOnly
constraints/compute.skipDefaultNetworkCreation
constraints/compute.trustedImageProjects
constraints/compute.vmCanIpForward
constraints/compute.vmExternalIpAccess
constraints/gcp.detailedAuditLoggingMode
constraints/gcp.resourceLocations
constraints/iam.allowedPolicyMemberDomains
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
constraints/iam.disableServiceAccountCreation
constraints/iam.disableServiceAccountKeyCreation
constraints/iam.disableServiceAccountKeyUpload
constraints/iam.restrictCrossProjectServiceAccountLienRemoval
constraints/iam.serviceAccountKeyExpiryHours
constraints/resourcemanager.accessBoundaries
constraints/resourcemanager.allowedExportDestinations
constraints/sql.restrictAuthorizedNetworks
constraints/sql.restrictNoncompliantDiagnosticDataAccess
constraints/sql.restrictNoncompliantResourceCreation
constraints/sql.restrictPublicIp
constraints/storage.publicAccessPrevention
constraints/storage.restrictAuthTypes
constraints/storage.uniformBucketLevelAccess
Policy Analyzer restituisce il nome completo di ogni asset, il relativo elemento padre nella gerarchia e qualsiasi progetto, cartella e organizzazione predecessore risorse al di sopra dell'asset nella gerarchia.
Per ogni asset rilevato nell'ambito della query, Policy Analyzer restituisce una voce di risultato.
Una voce di risultato per una risorsa contiene i seguenti campi:
consolidatedPolicy
: la risorsa a cui si trova il criterio dell'organizzazione in allegato e l'applicazione effettiva dei criteri su quella risorsa in relazione regole di valutazione della gerarchia.conditionEvaluation
: se le condizioni incluse comportano l'applicazione del criterio dell'organizzazione,evaluationValue
èTRUE
. Se le condizioni comporta l'applicazione forzata del criterio dell'organizzazione,evaluationValue
èFALSE
. Se la condizione non è supportata da una o più risorse su a cui viene applicato il criterio dell'organizzazione, viene restituita la condizione stessa.assetType
: tipo di risorsa dell'asset.effectiveTags
: tutti i tag direttamente associati o ereditati dal a cui è collegato il criterio dell'organizzazione e il relativo codice principali nella gerarchia.folders
: l'ID di tutte le risorse cartella che contengono la risorsa in cui il criterio dell'organizzazione è collegato.fullResourceName
: il nome completo della risorsa.organization
: il nome della risorsa relativo dell'organizzazione che contiene la risorsa.parent
: il nome completo della risorsa padre della risorsa.project
: l'ID del progetto che contiene la risorsa.policyBundle
: il criterio dell'organizzazione completamente configurato associato a quanto sopra risorsa e i criteri dell'organizzazione definiti sui predecessori nel nella gerarchia delle risorse.
Una voce nei risultati di un criterio di autorizzazione contiene i seguenti campi:
consolidatedPolicy
: la risorsa a cui si trova il criterio dell'organizzazione in allegato e l'applicazione effettiva dei criteri su quella risorsa in relazione regole di valutazione della gerarchia.assetType
: tipo di risorsa della risorsa a cui si trova il criterio di autorizzazione in allegato.attachedResource
: il nome completo della risorsa a cui appartiene il criterio di autorizzazione in allegato.folders
: il nome della risorsa relativo di tutte le cartelle che contengono l'etichetta di autorizzazione .organization
: il nome della risorsa relativo dell'organizzazione che contiene il criterio di autorizzazione.policy
: il criterio di autorizzazione.project
: il nome della risorsa relativo del progetto che contiene l'autorizzazione .policyBundle
: il criterio dell'organizzazione completamente configurato associato a quanto sopra risorsa e i criteri dell'organizzazione definiti sui predecessori nel nella gerarchia delle risorse.
Se le tue risorse sono protette da un perimetro di servizio Controlli di servizio VPC,
devi creare una regola di traffico in uscita
nel perimetro della risorsa dell'organizzazione che consente l'accesso
cloudasset.googleapis.com
e il servizio
google.cloud.asset.v1.AssetService.SearchAllResources
. In caso contrario
una regola in uscita, la richiesta avrà esito negativo e
NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
errore. Per ulteriori informazioni, vedi
Richieste di debug bloccate dai Controlli di servizio VPC.
Console
Nella console Google Cloud, vai alla pagina Analizzatore criteri.
Nella sezione Analizza il criterio dell'organizzazione, trova il riquadro con l'etichetta Quali risorse sono interessate da un vincolo del criterio dell'organizzazione? e fai clic su Crea query nel riquadro.
Nella casella Seleziona organizzazione query, scegli l'organizzazione per la quale vuoi analizzare i criteri dell'organizzazione.
Seleziona il tipo di vincolo che vuoi analizzare. Per un Vincolo integrato, seleziona Vincolo integrato. Per un vincolo personalizzato, seleziona Vincolo personalizzato.
Inserisci il nome del vincolo da analizzare. Il prefisso del il tipo di vincolo che stai analizzando è già incluso. Ad esempio: per il vincolo di accesso predefinito a livello di bucket, inserisci
storage.uniformBucketLevelAccess
e per un vincolo personalizzato, inserisci il relativo nome, ad esempiodisableGkeAccess
.Fai clic su Esegui query. La pagina del report mostra i parametri di ricerca e una tabella dei risultati di tutti gli asset a cui il vincolo applicata in modo forzato o ereditato.
Puoi salvare questa query per visualizzarla in un secondo momento facendo clic su Copia URL query. Per visualizzare questa query, vai all'URL generato.
Puoi visualizzare l'ereditarietà del vincolo analizzato selezionando almeno un asset dall'elenco e facendo clic Visualizza l'ereditarietà. Puoi anche andare immediatamente alla visualizzazione Visualizza quando crei la query di analisi facendo clic su Analizza e poi Visualizza. Consulta Visualizzare l'ereditarietà per ulteriori informazioni.
gcloud
per ottenere un'analisi di come un vincolo del criterio dell'organizzazione viene applicato in modo forzato.
asset all'interno di un'organizzazione, utilizza
Comando gcloud asset analyze-org-policy-governed-assets
:
gcloud asset analyze-org-policy-governed-assets \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_ASSETS \
--filter=FILTER_QUERY
Sostituisci quanto segue:
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
LIMIT_ASSETS: il numero di voci nei risultati che vuoi da visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
.FILTER_QUERY: una query di filtro per visualizzare solo gli asset che corrispondono all'espressione di filtro. I campi disponibili per i filtri sono
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
egoverned_iam_policy.project
. Per Ad esempio,governed_resource.project="projects/1234567890"
restituirà solo asset associati al progetto con l'ID progetto1234567890
.
La risposta YAML è simile alla seguente:
Esempio di risposta YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 rules: - enforce: false governedResource: folders: - folders/513502730678 - folders/666681422980 fullResourceName: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1 project: projects/892625391619 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false governedResource: folders: - folders/800636178739 - folders/408342778736 fullResourceName: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1 project: projects/761097189269 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false - appliedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 attachedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 rules: - condition: description: cond-desc1 expression: resource.matchTag("474566717491/env", "prod") title: cond-title1 enforce: false - enforce: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true governedResource: fullResourceName: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup project: projects/896190383908 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
per ottenere un'analisi di come un vincolo del criterio dell'organizzazione viene applicato in modo forzato.
gli asset all'interno di un'organizzazione, utilizza
Metodo analyzeOrgPolicyGovernedAssets
.
Metodo HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
Corpo JSON della richiesta:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Sostituisci quanto segue:
ORGANIZATION_ID: l'ID della tua organizzazione risorsa. Per saperne di più su come trovare l'ID organizzazione, consulta Creazione e gestione delle organizzazioni.
CONSTRAINT_NAME: il nome del criterio dell'organizzazione del vincolo che vuoi analizzare. Per un elenco dei vincoli, vedi Vincoli dei criteri dell'organizzazione.
FILTER_QUERY: una query di filtro per visualizzare solo gli asset che corrispondono all'espressione di filtro. I campi disponibili per i filtri sono
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
egoverned_iam_policy.project
. Per Ad esempio,governed_resource.project="projects/1234567890"
restituirà solo asset associati al progetto con l'ID progetto1234567890
.PAGE_SIZE: il numero di pagine di voci di risultati desiderato da visualizzare. Per visualizzare un numero illimitato di voci, inserisci
unlimited
. Una richiesta effettuata con questo set di flag restituisce un valorenextPageToken
se il numero totale di le voci dei risultati sono maggiori di PAGE_SIZE.PAGE_TOKEN: da impostare solo per le richieste successive al primo che include il flag
page_size
. Puoi utilizzare lonextPageToken
valori ricevuti dalle risposte precedenti per restituire un pagina specifica di risultati.
La risposta JSON è simile alla seguente:
Esempio di risposta JSON
{ "governedAssets": [ { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1", "project": "projects/892625391619", "folders": [ "folders/513502730678", "folders/666681422980" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "reset": true, "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] }, { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1", "project": "projects/761097189269", "folders": [ "folders/800636178739", "folders/408342778736" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736", "rules": [ { "enforce": false, "condition": { "expression": "resource.matchTag(\"474566717491/env\", \"prod\")", "title": "cond-title1", "description": "cond-desc1" } }, { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] } ] "constraint": { "customConstraint": { "name": "organizations/474566717491/customConstraints/custom.disableGkeAutoUpgrade", "resourceTypes": [ "container.googleapis.com/NodePool" ], "methodTypes": [ "CREATE", "UPDATE" ], "condition": "resource.management.autoUpgrade == false", "actionType": "ALLOW", "displayName": "Disable GKE auto upgrade", "description": "Only allow GKE NodePool resource create or updates if AutoUpgrade is not enabled" } } }
Visualizza l'ereditarietà
Se hai un'attivazione a livello di organizzazione del livello Premium di Security Command Center puoi visualizzare l'ereditarietà dei criteri dell'organizzazione utilizzando la console Google Cloud.
Per vedere la visualizzazione dell'ereditarietà, crea un'analisi dei criteri dell'organizzazione per i criteri configurati, container o asset. Il giorno Nella pagina Esegui analisi delle query, fai clic su Analizza e seleziona Visualizza.
Puoi anche accedere all'URL di una query salvata, selezionare le risorse vuoi evidenziare, quindi fai clic su
Visualizza l'ereditarietà.La pagina Eredità delle risorse mostra una visualizzazione della risorsa gerarchia per le risorse selezionate nella query di analisi:
Indica se la risorsa è un'organizzazione, una cartella o un progetto.
Un punto blu indica che la risorsa è selezionata nella query.
Indica che la risorsa sostituisce il criterio della risorsa padre.
Indica che la risorsa reimposta il criterio dell'organizzazione sullo stato gestito da Google predefinito per quel criterio. Una risorsa che reimposta il criterio al valore predefinito ha un linea tratteggiata che lo collega all'elemento principale.
Indica il criterio di unione della risorsa con quello dell'elemento padre.
Indica che il criterio dell'organizzazione su questa risorsa applica in modo forzato un vincolo booleano che viene applicato o un vincolo di elenco con e i relativi valori.
Indica che il criterio dell'organizzazione su questa risorsa è un vincolo dell'elenco con valori negati.
Indica che il criterio dell'organizzazione su questa risorsa è booleano un vincolo che non viene applicato.
Passaggi successivi
- Scopri di più sull'utilizzo dei vincoli.
- Scopri come creare e gestire vincoli personalizzati.