Policy

Un criterio IAM (Identity and Access Management), che specifica i controlli di accesso per le risorse Google Cloud.

Un Policy è una raccolta di bindings. Un elemento binding associa una o più members, o entità, a un singolo role. Le entità possono essere account utente, account di servizio, gruppi Google e domini, ad esempio G Suite. Un role è un elenco denominato di autorizzazioni. Ogni role può essere un ruolo IAM predefinito o un ruolo personalizzato creato dall'utente.

Per alcuni tipi di risorse Google Cloud, un binding può anche specificare un condition, che è un'espressione logica che consente l'accesso a una risorsa solo se l'espressione restituisce true. Una condizione può aggiungere vincoli in base agli attributi della richiesta, della risorsa o di entrambe. Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM.

Esempio di JSON:

    {
      "bindings": [
        {
          "role": "roles/resourcemanager.organizationAdmin",
          "members": [
            "user:mike@example.com",
            "group:admins@example.com",
            "domain:google.com",
            "serviceAccount:my-project-id@appspot.gserviceaccount.com"
          ]
        },
        {
          "role": "roles/resourcemanager.organizationViewer",
          "members": [
            "user:eve@example.com"
          ],
          "condition": {
            "title": "expirable access",
            "description": "Does not grant access after Sep 2020",
            "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
          }
        }
      ],
      "etag": "BwWWja0YfJA=",
      "version": 3
    }

Esempio YAML:

    bindings:
    - members:
      - user:mike@example.com
      - group:admins@example.com
      - domain:google.com
      - serviceAccount:my-project-id@appspot.gserviceaccount.com
      role: roles/resourcemanager.organizationAdmin
    - members:
      - user:eve@example.com
      role: roles/resourcemanager.organizationViewer
      condition:
        title: expirable access
        description: Does not grant access after Sep 2020
        expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
    etag: BwWWja0YfJA=
    version: 3

Per una descrizione di IAM e delle sue funzionalità, consulta la documentazione IAM.

Rappresentazione JSON
{
  "version": integer,
  "bindings": [
    {
      object (Binding)
    }
  ],
  "auditConfigs": [
    {
      object (AuditConfig)
    }
  ],
  "rules": [
    {
      object (Rule)
    }
  ],
  "etag": string
}
Campi
version

integer

Specifica il formato del criterio.

I valori validi sono 0, 1 e 3. Le richieste che specificano un valore non valido vengono rifiutate.

Per qualsiasi operazione che influisce sulle associazioni di ruoli condizionali deve specificare la versione 3. Questo requisito si applica alle seguenti operazioni:

  • Recupero di un criterio che include un'associazione di ruolo condizionale
  • Aggiunta di un'associazione di ruolo condizionale a un criterio
  • Modificare un'associazione di ruolo condizionale in un criterio
  • Rimuovere qualsiasi associazione di ruoli, con o senza una condizione, da un criterio che include condizioni

Importante:se utilizzi le condizioni IAM, devi includere il campo etag ogni volta che chiami setIamPolicy. Se ometti questo campo, IAM consente di sovrascrivere un criterio della versione 3 con un criterio della versione 1 e tutte le condizioni del criterio della versione 3 andranno perse.

Se un criterio non include condizioni, le operazioni su quel criterio possono specificare qualsiasi versione valida o lasciare il campo non impostato.

Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM.

bindings[]

object (Binding)

Associa un elenco di members, o entità, a un role. Facoltativamente, puoi specificare un condition che determina come e quando verranno applicati i bindings. Ciascun elemento bindings deve contenere almeno un'entità.

L'elemento bindings in un Policy può fare riferimento a un massimo di 1500 entità,fino a 250 possono essere gruppi Google. Ogni occorrenza di un'entità viene conteggiata per questi limiti. Ad esempio, se l'bindings concede 50 ruoli diversi a user:alice@example.com e non a qualsiasi altra entità, puoi aggiungere altre 1450 entità a bindings in Policy.

auditConfigs[]

object (AuditConfig)

Specifica la configurazione dell'audit logging del cloud per questo criterio.

rules[]

object (Rule)

Se vengono specificate più regole, queste vengono applicate nel seguente modo: - Tutte le regole LOG corrispondenti vengono sempre applicate. - Se viene trovata una corrispondenza con una regola DENY/DENY_WITH_LOG, l'autorizzazione viene negata. Il logging verrà applicato se una o più regole di corrispondenza richiedono il logging. - Altrimenti, se una qualsiasi regola ALLOW/ALLOW_WITH_LOG corrisponde, l'autorizzazione viene concessa. Il logging verrà applicato se una o più regole di corrispondenza richiedono il logging. - Altrimenti, se non si applica nessuna regola, l'autorizzazione viene negata.

etag

string (bytes format)

etag viene utilizzato per il controllo ottimistico della contemporaneità per evitare che gli aggiornamenti simultanei di un criterio si sovrascrivano a vicenda. Si consiglia vivamente ai sistemi di utilizzare etag nel ciclo di lettura, modifica e scrittura per eseguire aggiornamenti dei criteri al fine di evitare le condizioni di gara: viene restituito un etag nella risposta a getIamPolicy e i sistemi dovrebbero inserire questo etag nella richiesta a setIamPolicy per garantire che la modifica venga applicata alla stessa versione del criterio.

Importante:se utilizzi le condizioni IAM, devi includere il campo etag ogni volta che chiami setIamPolicy. Se ometti questo campo, IAM consente di sovrascrivere un criterio della versione 3 con un criterio della versione 1 e tutte le condizioni del criterio della versione 3 andranno perse.

Una stringa con codifica Base64.

Associazione

Associa members, o entità, a un role.

Rappresentazione JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  },
  "bindingId": string
}
Campi
role

string

Ruolo assegnato all'elenco di members, o entità. Ad esempio, roles/viewer, roles/editor o roles/owner.

Per una panoramica dei ruoli e delle autorizzazioni IAM, consulta la documentazione IAM. Per un elenco dei ruoli predefiniti disponibili, vedi qui.

members[]

string

Specifica le entità che richiedono l'accesso per una risorsa Google Cloud. members può avere i seguenti valori:

  • allUsers: un identificatore speciale che rappresenta tutti gli utenti di internet, con o senza un Account Google.

  • allAuthenticatedUsers: un identificatore speciale che rappresenta chiunque sia autenticato con un Account Google o un account di servizio. Non include le identità che provengono da provider di identità (IdP) esterni tramite la federazione delle identità.

  • user:{emailid}: un indirizzo email che rappresenta uno specifico Account Google. Ad esempio, alice@example.com .

  • serviceAccount:{emailid}: un indirizzo email che rappresenta un account di servizio Google. Ad esempio, my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: un identificatore di un account di servizio Kubernetes. Ad esempio: my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

  • group:{emailid}: un indirizzo email che rappresenta un gruppo Google. Ad esempio, admins@example.com.

  • domain:{domain}: il dominio G Suite (principale) che rappresenta tutti gli utenti del dominio. Ad esempio, google.com o example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: un'unica identità in un pool di identità della forza lavoro.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: tutte le identità della forza lavoro in un gruppo.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: tutte le identità della forza lavoro con un valore di attributo specifico.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: tutte le identità in un pool di identità della forza lavoro.

  • principal://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: una singola identità in un pool di identità per i carichi di lavoro.

  • principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: un gruppo di pool di identità per i carichi di lavoro.

  • principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: tutte le identità in un pool di identità per i carichi di lavoro con un determinato attributo.

  • principalSet://iam.googleapis.com/projects/{projectNumber}/locations/global/workloadIdentityPools/{pool_id}/*: tutte le identità in un pool di identità per i carichi di lavoro.

  • deleted:user:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un utente che è stato eliminato di recente. Ad esempio, alice@example.com?uid=123456789012345678901. Se l'utente viene recuperato, questo valore viene ripristinato su user:{emailid} e l'utente recuperato manterrà il ruolo nell'associazione.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un account di servizio eliminato di recente. Ad esempio, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Se l'account di servizio non viene eliminato, questo valore viene ripristinato su serviceAccount:{emailid} e l'account di servizio non eliminato manterrà il ruolo nell'associazione.

  • deleted:group:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un gruppo Google eliminato di recente. Ad esempio, admins@example.com?uid=123456789012345678901. Se il gruppo viene recuperato, questo valore viene ripristinato su group:{emailid} e il gruppo recuperato manterrà il ruolo nell'associazione.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: singola identità eliminata in un pool di identità della forza lavoro. Ad esempio, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

La condizione associata a questa associazione.

Se la condizione ha come valore true, questa associazione si applica alla richiesta corrente.

Se la condizione ha come valore false, questa associazione non si applica alla richiesta corrente. Tuttavia, un'associazione di ruoli diversa potrebbe concedere lo stesso ruolo a una o più entità in questa associazione.

Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM.

bindingId

string

Expr

Rappresenta un'espressione testuale nella sintassi Common Expression Language (CEL). Il CEL è un linguaggio di espressione simile al C. La sintassi e la semantica della tecnologia CEL sono illustrate all'indirizzo https://github.com/google/cel-spec.

Esempio (confronto):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Esempio (Uguaglianza):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Esempio (Logica):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Esempio (manipolazione di dati):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

Le variabili e le funzioni esatte a cui è possibile fare riferimento all'interno di un'espressione sono determinate dal servizio che la valuta. Per ulteriori informazioni, consulta la documentazione del servizio.

Rappresentazione JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campi
expression

string

Rappresentazione testuale di un'espressione nella sintassi Common Expression Language.

title

string

Facoltativo. Titolo dell'espressione, ad esempio una breve stringa che ne descrive lo scopo. Può essere utilizzato, ad esempio, nelle UI che consentono di inserire l'espressione.

description

string

Facoltativo. Descrizione dell'espressione. Si tratta di un testo più lungo che descrive l'espressione, ad esempio passando il mouse sopra l'espressione in un'interfaccia utente.

location

string

Facoltativo. Stringa che indica la posizione dell'espressione per la segnalazione degli errori, ad esempio il nome di un file e una posizione nel file.

AuditConfig

Specifica la configurazione dell'audit per un servizio. La configurazione determina quali tipi di autorizzazione vengono registrati e quali identità, se presenti, sono esenti dal logging. Un AuditConfig deve avere uno o più AuditLogConfig.

Se esistono AuditConfig sia per allServices sia per un servizio specifico, per quel servizio viene utilizzata l'unione dei due AuditConfig: i log_type specificati in ogni AuditConfig sono abilitati, mentre gli elementi exceptedMembers in ogni AuditLogConfig sono esenti.

Criterio di esempio con più AuditConfig:

{
  "auditConfigs": [
    {
      "service": "allServices",
      "auditLogConfigs": [
        {
          "logType": "DATA_READ",
          "exemptedMembers": [
            "user:jose@example.com"
          ]
        },
        {
          "logType": "DATA_WRITE"
        },
        {
          "logType": "ADMIN_READ"
        }
      ]
    },
    {
      "service": "sampleservice.googleapis.com",
      "auditLogConfigs": [
        {
          "logType": "DATA_READ"
        },
        {
          "logType": "DATA_WRITE",
          "exemptedMembers": [
            "user:aliya@example.com"
          ]
        }
      ]
    }
  ]
}

Per sampleservice, questo criterio consente il logging DATA_READ, DATA_WRITE e ADMIN_READ. Esclude inoltre jose@example.com dal logging DATA_READ e aliya@example.com dal logging DATA_WRITE.

Rappresentazione JSON
{
  "service": string,
  "auditLogConfigs": [
    {
      object (AuditLogConfig)
    }
  ]
}
Campi
service

string

Specifica un servizio che verrà abilitato per l'audit logging. Ad esempio, storage.googleapis.com, cloudsql.googleapis.com. allServices è un valore speciale che copre tutti i servizi.

auditLogConfigs[]

object (AuditLogConfig)

La configurazione per il logging di ciascun tipo di autorizzazione.

AuditLogConfig

Fornisce la configurazione per il logging di un tipo di autorizzazione. Esempio:

{
  "auditLogConfigs": [
    {
      "logType": "DATA_READ",
      "exemptedMembers": [
        "user:jose@example.com"
      ]
    },
    {
      "logType": "DATA_WRITE"
    }
  ]
}

Questo abilita il logging "DATA_READ" e "DATA_WRITE", escludendo jose@example.com dal logging DATA_READ.

Rappresentazione JSON
{
  "logType": enum (LogType),
  "exemptedMembers": [
    string
  ],
  "ignoreChildExemptions": boolean
}
Campi
logType

enum (LogType)

Il tipo di log abilitato da questa configurazione.

exemptedMembers[]

string

Specifica le identità che non causano il logging per questo tipo di autorizzazione. Deve seguire lo stesso formato di Binding.members.

ignoreChildExemptions

boolean

LogType

L'elenco dei tipi di autorizzazione validi per i quali è possibile configurare il logging. Le scritture amministrative vengono sempre registrate e non sono configurabili.

Enum
LOG_TYPE_UNSPECIFIED Maiuscole predefinite. Non dovrebbe mai essere così.
ADMIN_READ Letture dell'amministratore. Esempio: CloudIAM getIamPolicy
DATA_WRITE Operazioni di scrittura dati. Esempio: gli utenti Cloud SQL creano
DATA_READ Letture dei dati. Esempio: elenco utenti Cloud SQL

Regola

Una regola da applicare in un criterio.

Rappresentazione JSON
{
  "description": string,
  "permissions": [
    string
  ],
  "action": enum (Action),
  "in": [
    string
  ],
  "notIn": [
    string
  ],
  "conditions": [
    {
      object (Condition)
    }
  ],
  "logConfig": [
    {
      object (LogConfig)
    }
  ]
}
Campi
description

string

Descrizione leggibile della regola.

permissions[]

string

Un'autorizzazione è una stringa nel formato ".." (ad esempio, "storage.buckets.list"). Un valore "*" corrisponde a tutte le autorizzazioni, mentre una parte del verbo "*" (ad es. 'storage.buckets.*') corrisponde a tutti i verbi.

action

enum (Action)

Obbligatorio

in[]

string

Se vengono specificate una o più clausole "in", la regola trova una corrispondenza se PRINCIPAL/AUTHORITY_SELECTOR è presente in almeno una di queste voci.

notIn[]

string

Se vengono specificate una o più clausole "notIn", la regola corrisponde se PRINCIPAL/AUTHORITY_SELECTOR non è presente in nessuna delle voci.

conditions[]

object (Condition)

Limitazioni aggiuntive che devono essere soddisfatte. Affinché la regola corrisponda, devono essere soddisfatte tutte le condizioni.

logConfig[]

object (LogConfig)

La configurazione è stata restituita ai chiamanti di CheckPolicy per le voci che corrispondono all'azione LOG.

Azione

Tipi di azioni delle regole.

Enum
NO_ACTION Nessuna azione predefinita.
ALLOW Concedi l'accesso alle "Voci" corrispondenti.
ALLOW_WITH_LOG "Voci" corrispondenti concede l'accesso e il chiamante promette di registrare la richiesta in base al log_configs restituito.
DENY Accesso per negare le "Voci" corrispondenti.
DENY_WITH_LOG "Voci" corrispondenti per negare l'accesso e il chiamante promette di registrare la richiesta in base al log_configs restituito.
LOG Le "Voci" corrispondenti indicano a IAM.Controlla che i chiamanti generino log.

Condizione

Una condizione da soddisfare.

Rappresentazione JSON
{
  "op": enum (Operator),
  "values": [
    string
  ],

  // Union field Subject can be only one of the following:
  "iam": enum (Attr),
  "sys": enum (Attr),
  "svc": string
  // End of list of possible types for union field Subject.
}
Campi
op

enum (Operator)

Un operatore con cui applicare l'oggetto.

values[]

string

Gli oggetti della condizione.

Campo di unione Subject. Oggetto della condizione. Subject può essere solo uno dei seguenti:
iam

enum (Attr)

Attributi attendibili forniti dal sistema IAM.

sys

enum (Attr)

Attributi attendibili forniti da qualsiasi servizio che possiede risorse e utilizza il sistema IAM per controllo dell'accesso#39;accesso.

svc

string

Attributi attendibili applicati dal servizio.

Attr

Tipi di attributi.

Enum
NO_ATTR Valore predefinito non attributo.
AUTHORITY Selettore dell'entità o dell'autorità (se presente).
ATTRIBUTION L'entità (anche se è presente un selettore di autorità), che deve essere utilizzato solo per l'attribuzione, non per l'autorizzazione.
SECURITY_REALM Qualsiasi area di autenticazione della sicurezza in IAMContext (go/security-realms). Se utilizzata con IN, la condizione indica "qualsiasi area di autenticazione della richiesta corrisponde a uno dei valori specificati; con NOT_IN, "nessuna delle aree di autenticazione corrisponde a nessuno dei valori specificati". Tieni presente che un valore può essere: - 'self:campus' (ovvero, i clienti che si trovano nello stesso campus) - 'self:metro' (ovvero i clienti che si trovano nella stessa area metropolitana) - 'self:cloud-region' (ovvero consentono le connessioni da client che si trovano nella stessa regione cloud) - 'self:prodi-region' (ovvero, consentono le connessioni dalla stessa regione cloud) Per ulteriori informazioni, visita la pagina go/security-realms-glossary#guardian). - "self" [DEPRECATED] (ad esempio, consente le connessioni dai client che si trovano nello stesso ambiente di sicurezza, la cui dimensione del campus non è attualmente garantita) - un'area di autenticazione (ad es. "campus-abc"): un gruppo realm (ad es. 'realms-for-borg-cell-xx', vedi: go/realm-groups) Una corrispondenza viene determinata da un controllo dell'appartenenza al gruppo realm eseguito da un oggetto RealmAclRep (go/realm-acl-howto). Non è consentito concedere l'accesso in base all'assenza di un'area di autenticazione, quindi le condizioni di area di autenticazione possono essere utilizzate solo in un contesto "positivo" (ad esempio, ALLOW/IN o DENY/NOT_IN).
APPROVER Un approvatore (distinto dal richiedente) che ha autorizzato questa richiesta. Se utilizzata con IN, la condizione indica che uno degli approvatori associati alla richiesta corrisponde all'entità specificata o è un membro del gruppo specificato. Gli approvatori possono concedere solo accesso aggiuntivo e, pertanto, vengono utilizzati solo in un contesto strettamente positivo (ad es. ALLOW/IN o DENY/NOT_IN).
JUSTIFICATION_TYPE

Quali tipi di giustificazioni sono state fornite con questa richiesta. I valori stringa devono corrispondere ai nomi enum di security.credentials.JustificationType, ad esempio "MANUAL_STRING". Non è consentito concedere l'accesso in base all'assenza di una giustificazione, quindi le condizioni di giustificazione possono essere utilizzate solo in un contesto "positivo" (ad es. ALLOW/IN o DENY/NOT_IN).

Più giustificazioni, ad esempio un ID Buganizer e un motivo inserito manualmente, sono normali e supportate.

CREDENTIALS_TYPE Il tipo di credenziali fornite con questa richiesta. I valori stringa devono corrispondere ai nomi enum di security_loas_l2.CredentialsType. Al momento, è supportato solo CREDS_TYPE_EMERGENCY. Non è consentito concedere l'accesso in base all'assenza di un tipo di credenziali, quindi le condizioni possono essere utilizzate solo in un contesto "positivo" (ad es. ALLOW/IN o DENY/NOT_IN).
CREDS_ASSERTION

SPERIMENTALI - NON UTILIZZARE.

Le condizioni possono essere utilizzate solo in un contesto "positivo" (ad es. ALLOW/IN o DENY/NOT_IN).

Attr

Tipi di attributi.

Enum
NO_ATTR Tipo non attributo predefinito
REGION Regione della risorsa
SERVICE Nome servizio
NAME Nome della risorsa
IP Indirizzo IP del chiamante

Operatore

Tipi di operatori della condizione.

Enum
NO_OP Autonomo predefinito.
EQUALS OBSOLETO. Usa IN.
NOT_EQUALS OBSOLETO. Utilizzare NOT_IN.
IN La condizione è vera se il soggetto (o qualsiasi suo elemento se è un insieme) corrisponde a uno dei valori specificati.
NOT_IN La condizione è vera se il soggetto (o ogni suo elemento se è un insieme) corrisponde a nessuno dei valori specificati.
DISCHARGED Il soggetto è dimesso

LogConfig

Specifica il tipo di log che il chiamante deve scrivere

Rappresentazione JSON
{

  // Union field type can be only one of the following:
  "counter": {
    object (CounterOptions)
  },
  "dataAccess": {
    object (DataAccessOptions)
  },
  "cloudAudit": {
    object (CloudAuditOptions)
  }
  // End of list of possible types for union field type.
}
Campi
Campo di unione type. Deve essere impostato, type può essere solo uno dei seguenti:
counter

object (CounterOptions)

Opzioni contatore.

dataAccess

object (DataAccessOptions)

Opzioni di accesso ai dati.

cloudAudit

object (CloudAuditOptions)

Opzioni di controllo di Cloud.

CounterOptions

Aumenta un contatore Streamz con i nomi della metrica e dei campi specificati.

I nomi delle metriche devono iniziare con "/", in genere essere composti solo da lettere minuscole e terminare con "_count". I nomi dei campi non devono contenere una barra iniziale. Ai nomi effettivi delle metriche esportate verrà anteposto "/iam/policy".

I nomi dei campi corrispondono ai parametri della richiesta IAM e i valori dei campi sono i rispettivi valori.

Nomi dei campi supportati: - "authority", che è "[token]" se è presente IAMContext.token, altrimenti il valore di IAMContext.authority_selector se presente e in caso contrario una rappresentazione di IAMContext.principal; oppure - "iamPrincipal", una rappresentazione di IAMContext.principal anche se è presente un token o un selettore di autorità; oppure - "" (stringa vuota), che genera un contatore senza campi.

Esempi: contatore { metric: "/debug_access_count" campo: "iamPrincipal" } ==> incrementa il contatore /iam/policy/debug_access_count {iamPrincipal=[valore di IAMContext.principal]}

Rappresentazione JSON
{
  "metric": string,
  "field": string,
  "customFields": [
    {
      object (CustomField)
    }
  ]
}
Campi
metric

string

La metrica da aggiornare.

field

string

Il valore del campo da attribuire.

customFields[]

object (CustomField)

Campi personalizzati

CustomField

Campi personalizzati Possono essere utilizzate per creare un contatore con coppie campo/valore arbitrarie. Consulta: go/rpcsp-custom-fields.

Rappresentazione JSON
{
  "name": string,
  "value": string
}
Campi
name

string

"Name" corrisponde al nome del campo.

value

string

"Valore" indica il valore del campo. È importante che, a differenza del campo CounterOptions.field, il valore indicato qui sia una costante non derivata da IAMContext.

DataAccessOptions

Scrivere un log di accesso ai dati (Gin)

Rappresentazione JSON
{
  "logMode": enum (LogMode),
  "isDirectAuth": boolean
}
Campi
logMode

enum (LogMode)

isDirectAuth

boolean

Indica che l'accesso è stato concesso da un criterio di autorizzazione regolare

LogMode

Specifica il comportamento del client in relazione al logging di Gin.

Enum
LOG_MODE_UNSPECIFIED Il client non è tenuto a scrivere un Gin log parziale subito dopo il controllo dell'autorizzazione. Se il client sceglie di scriverne una e non funziona, potrebbe non essere possibile aprire (consentire il proseguimento dell'operazione) o chiuderlo (handle come risultato DENY).
LOG_FAIL_CLOSED

L'operazione dell'applicazione nel contesto del quale viene effettuato questo controllo dell'autorizzazione può essere eseguita solo se è stata registrata correttamente in Gin. Ad esempio, la libreria di autorizzazione può soddisfare questo obbligo emettendo una voce di log parziale al momento del controllo dell'autorizzazione e restituendo ALLOW all'applicazione solo se l'operazione ha esito positivo.

Se una regola corrispondente ha questa istruzione, ma il client non ha indicato che soddisferà tali requisiti, il controllo IAM comporterà un errore di autorizzazione impostando CheckPolicyResponse.success=false.

CloudAuditOptions

Scrivi un audit log di Cloud

Rappresentazione JSON
{
  "logName": enum (LogName),
  "authorizationLoggingOptions": {
    object (AuthorizationLoggingOptions)
  },
  "permissionType": enum (PermissionType)
}
Campi
logName

enum (LogName)

Il nome del log da compilare nel record di controllo di Cloud.

authorizationLoggingOptions

object (AuthorizationLoggingOptions)

Informazioni utilizzate dalla pipeline di audit logging di Cloud. Verrà deprecato al termine della migrazione ad PermissionType (b/201806118).

permissionType

enum (PermissionType)

Il tipo associato all'autorizzazione.

LogName

Enum dei nomi di log.

Enum
UNSPECIFIED_LOG_NAME Predefinito. Non deve essere utilizzato.
ADMIN_ACTIVITY Corrisponde a "cloudaudit.googleapis.com/activity"
DATA_ACCESS Corrisponde a "cloudaudit.googleapis.com/dataAccess"

AuthorizationLoggingOptions

Informazioni relative all'autorizzazione utilizzate da audit logging di Cloud.

Rappresentazione JSON
{
  "permissionType": enum (PermissionType)
}
Campi
permissionType

enum (PermissionType)

Il tipo di autorizzazione verificata.

PermissionType

L'elenco dei tipi di autorizzazione validi che è possibile controllare.

Enum
PERMISSION_TYPE_UNSPECIFIED Predefinito. Non deve essere utilizzato.
ADMIN_READ Una lettura dei dati amministrativi (meta).
ADMIN_WRITE Una scrittura di dati amministrativi (meta).
DATA_READ Una lettura dei dati standard.
DATA_WRITE Una scrittura di dati standard.

PermissionType

L'elenco dei tipi di autorizzazione validi che è possibile controllare.

Enum
PERMISSION_TYPE_UNSPECIFIED Predefinito. Non deve essere utilizzato.
ADMIN_READ Autorizzazioni che limitano la configurazione delle risorse di lettura o i metadati.
ADMIN_WRITE Autorizzazioni che limitano la modifica della configurazione delle risorse o dei metadati.
DATA_READ Autorizzazioni che limitano la lettura dei dati forniti dagli utenti.
DATA_WRITE Autorizzazioni che limitano la scrittura dei dati forniti dall'utente.