ResourceInfo

Contiene informazioni sulle risorse IAM.

Rappresentazione JSON
{
  "policyType": string,
  "policyName": string,
  "policyRegion": string,
  "resourceContainer": string,
  "resource": {
    object (Resource)
  },
  "monitoredResource": {
    object (MonitoredResource)
  },
  "permissions": [
    string
  ],
  "nextExpectedResourceState": {
    "@type": string,
    field1: ...,
    ...
  },
  "federatedResourceHierarchy": {
    object (FederatedResourceHierarchy)
  },
  "targetResourceLocations": [
    string
  ]
}
Campi
policyType

string

(Facoltativo) Il tipo di policy della risorsa. I valori validi per policyType potrebbero essere "compute_instances", "storage_buckets", "resourcemanager_projects" e così via.

policyName

string

(FACOLTATIVO) Il nome della policy della risorsa. I valori validi per policyName potrebbero essere "/myproject/myinstance", "/myproject/mybucket", "/myproject" e così via.

policyRegion

string

(FACOLTATIVO) La posizione della policy.

resourceContainer

string

(FACOLTATIVO) Il nome del contenitore delle risorse. Può essere in uno dei seguenti formati: - "projects/" - "folders/" - "organizations/"

resource

object (Resource)

FACOLTATIVO: gli attributi principali di una risorsa.

monitoredResource

object (MonitoredResource)

(FACOLTATIVO) La risorsa monitorata di controllo cloud.

permissions[]

string

(FACOLTATIVO) L'elenco dei nomi delle autorizzazioni IAM da controllare nel formato: {serviceName}/{plural}.{verb} o nel formato precedente: {serviceName}.{plural}.{verb}.

  • {serviceName} fa riferimento al servizio proprietario della risorsa.
  • {plural} fa riferimento al campo plural di questa risorsa. Deve essere in formato lowerCamelCase.

Esempio: ["library.googleapis.com/shelves.get", "library.googleapis.com/shelves.update", "library.shelves.get", "library.shelves.update"]

nextExpectedResourceState

object

Facoltativo. La visualizzazione prevista della risorsa dopo l'esecuzione di una mutazione.

Esempio: un CreateBookRequest potrebbe avere il seguente aspetto: { parent: "projects/project-123" book { author: "Someone Famous" title: "This is a Title" read: false } book_id: "book-123" }

nextExpectedResourceState potrebbe essere: { name: "projects/project-123/books/book-123" author: "Someone Famous" title: "This is a Title" }

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

federatedResourceHierarchy

object (FederatedResourceHierarchy)

(FACOLTATIVO) Gerarchia delle risorse federata per la federazione delle policy IAM.

targetResourceLocations[]

string

(FACOLTATIVO) Le località della risorsa di destinazione. Il proprietario dell'operazione può specificare le località di destinazione come array deduplicato di nomi di regioni Google Cloud o ["global"]. Nota: non è supportato il nome multiregionale.

Risorsa

Questo messaggio definisce gli attributi principali di una risorsa. Una risorsa è un'entità indirizzabile (denominata) fornita dal servizio di destinazione. Ad esempio, un file archiviato su un servizio di archiviazione di rete.

Rappresentazione JSON
{
  "service": string,
  "name": string,
  "type": string,
  "labels": {
    string: string,
    ...
  },
  "uid": string,
  "annotations": {
    string: string,
    ...
  },
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "etag": string,
  "location": string
}
Campi
service

string

Il nome del servizio a cui appartiene questa risorsa, ad esempio pubsub.googleapis.com. Il servizio potrebbe essere diverso dal nome host DNS che gestisce effettivamente la richiesta.

name

string

L'identificatore stabile (nome) di una risorsa su service. Una risorsa può essere identificata logicamente come "//{resource.service}/{resource.name}". Le differenze tra un nome risorsa e un URI sono:

  • Il nome della risorsa è un identificatore logico, indipendente dal protocollo di rete e dalla versione dell'API. Ad esempio, //pubsub.googleapis.com/projects/123/topics/news-feed.
  • L'URI spesso include informazioni sul protocollo e sulla versione, pertanto può essere utilizzato direttamente dalle applicazioni. Ad esempio, https://pubsub.googleapis.com/v1/projects/123/topics/news-feed.

Per i dettagli, vedi https://cloud.google.com/apis/design/resource_names.

type

string

Il tipo di risorsa. La sintassi è specifica della piattaforma perché le diverse piattaforme definiscono le proprie risorse in modo diverso.

Per le API di Google, il formato del tipo deve essere "{service}/{kind}", ad esempio "pubsub.googleapis.com/Topic".

labels

map (key: string, value: string)

Le etichette o i tag sulla risorsa, ad esempio i tag delle risorse AWS e le etichette delle risorse Kubernetes.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Identificatore unico della risorsa. L'UID è unico nello spazio e nel tempo per questa risorsa nell'ambito del servizio. Viene tipicamente generato dal server durante la creazione di una risorsa e non deve essere modificato. L'UID viene utilizzato per identificare in modo unico le risorse quando i nomi risorsa vengono riutilizzati. Deve essere un UUID4.

annotations

map (key: string, value: string)

Le annotazioni sono una mappa chiave-valore non strutturata archiviata con una risorsa che può essere impostata da strumenti esterni per archiviare e recuperare metadati arbitrari. Non sono interrogabili e devono essere conservati durante la modifica degli oggetti.

Scopri di più: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

displayName

string

Modificabile. Il nome visualizzato impostato dai clienti. Deve contenere al massimo 63 caratteri.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione della risorsa. Può trattarsi del momento in cui è stata avviata la creazione o di quello in cui è stata completata.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento della risorsa. Qualsiasi modifica apportata alla risorsa dagli utenti deve aggiornare questo valore. Le modifiche a una risorsa apportate dal servizio devono aggiornare questo valore.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

deleteTime

string (Timestamp format)

Solo output. Timestamp di eliminazione della risorsa. Se la risorsa non viene eliminata, questo campo deve essere vuoto.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Solo output. Valore opaco che identifica in modo unico una versione o generazione di una risorsa. Può essere usato per confermare che client e server concordano nell'ordine di una risorsa in fase di scrittura.

location

string

Immutabile. Località della risorsa. La codifica della località è specifica del fornitore di servizi e con l'evoluzione del servizio potrebbe essere introdotta una nuova codifica.

Per i prodotti Google Cloud, la codifica è quella utilizzata dalle API Cloud, come us-east1, aws-us-east-1 e azure-eastus2. La semantica di location è identica all'etichetta cloud.googleapis.com/location utilizzata da alcune API Google Cloud.

FederatedResourceHierarchy

Rappresentazione JSON
{
  "version": integer,
  "federatedHierarchy": [
    {
      object (FederatedResource)
    }
  ],
  "nonFederatedParent": {
    object (PolicyName)
  }
}
Campi
version

integer

Specifica il formato di questa gerarchia federata. I valori validi sono 0 o 1. Le richieste che specificano un valore non valido vengono rifiutate.

Questo campo indica gli attributi federati di cui è a conoscenza il client. Tutti gli attributi di cui il client è a conoscenza devono avere un valore non predefinito impostato. Gli attributi di cui il cliente non è a conoscenza vengono considerati NOT_FEDERATED. Per una determinata versione, il client deve essere a conoscenza di tutti gli attributi a partire da quella versione.

             +----------+----------------------+
             | Version  | Supported Attributes |
             +----------+----------------------+
             | 0        | grant policies, tags |
             +----------+----------------------+
             | 1        | grant policies, tags |
             +----------+----------------------+

Nota: non esiste alcuna differenza tra le versioni 0 e 1. Preferisci utilizzare 1.

federatedHierarchy[]

object (FederatedResource)

In ordine, a partire dal nodo foglia, gli attributi delle risorse in questa richiesta che contengono informazioni federate. Il nome del nodo foglia della norma deve corrispondere al nome della norma di base per la risorsa nella richiesta: CheckPolicyRequest.name, BulkCheckPolicyRequest.requests.name e così via. Questo elenco può contenere al massimo 15 voci.

nonFederatedParent

object (PolicyName)

Nome del criterio della risorsa predecessore più vicina che contiene criteri e attributi archiviati centralmente.

FederatedResource

Rappresentazione JSON
{
  "policyName": {
    object (PolicyName)
  },
  "resourceName": string,

  // Union field grant_policy can be only one of the following:
  "grantPolicyStatus": enum (FederatedAttributeStatus),
  "federatedGrantPolicy": {
    object (FederatedGrantPolicy)
  }
  // End of list of possible types for union field grant_policy.

  // Union field tags can be only one of the following:
  "tagsStatus": enum (FederatedAttributeStatus),
  "federatedTags": {
    object (FederatedTags)
  }
  // End of list of possible types for union field tags.
}
Campi
policyName

object (PolicyName)

resourceName

string

Il nome della risorsa relativa, senza il prefisso / (ad es. "projects/project-id"). Vedi: https://cloud.google.com/apis/design/resource_names#relative_resource_name

Questo campo viene utilizzato per i limiti di accesso alle credenziali (CAB) per corrispondere a "availableResource" della regola CAB. Consulta la pagina https://cloud.google.com/iam/docs/downscoping-short-lived-credentials

Campo unione grant_policy.

grant_policy può essere solo uno dei seguenti tipi:

grantPolicyStatus

enum (FederatedAttributeStatus)

federatedGrantPolicy

object (FederatedGrantPolicy)

Campo unione tags.

tags può essere solo uno dei seguenti tipi:

tagsStatus

enum (FederatedAttributeStatus)

federatedTags

object (FederatedTags)

PolicyName

Un nome interno per una policy IAM, basato sulla risorsa a cui si applica la policy. Da non confondere con il nome risorsa completo esterno di una risorsa. Per ulteriori informazioni su questa distinzione.

Rappresentazione JSON
{
  "type": string,
  "id": string,
  "region": string
}
Campi
type

string

Tipo di risorsa. I tipi sono definiti nei file .service di IAM. I valori validi per il tipo potrebbero essere "storage_buckets", "compute_instances", "resourcemanager_customers", "billing_accounts" e così via.

id

string

Identifica un'istanza del tipo. Il formato dell'ID varia in base al tipo. Il formato dell'ID è definito nel file .service IAM che definisce il tipo, nel mapping del percorso o in un commento.

region

string

Per Cloud IAM: la posizione del criterio. Deve essere vuoto o "globale" per i criteri di proprietà di IAM globale. Deve essere specificato il nome di una regione da prodspec/cloud-iam-cloudspec per i criteri IAM regionali.

Per IAM locale: questo campo deve essere impostato su "local".

FederatedGrantPolicy

Policy di concessione federata fornita dal chiamante. Questi valori verranno utilizzati al posto delle policy archiviate durante la valutazione di CheckPolicy. Garantito per essere al massimo 257 KiB. L'aumento di questo limite richiede la revisione dei servizi integrati con la federazione IAM.

Rappresentazione JSON
{
  "version": integer,
  "policyData": {
    "@type": string,
    field1: ...,
    ...
  },
  "visibleReferences": {
    object (VisibleReferences)
  },
  "sha256": string
}
Campi
version

integer

Versione dello schema di questo oggetto delle norme. Eventuali modifiche sostanziali allo schema delle norme federate comporteranno l'incremento del numero di versione. I numeri di versione validi sono: 1: versione iniziale. Qualsiasi altro valore genererà un errore di argomento non valido.

policyData

object

Dati specifici di IAM che memorizzano i contenuti dei criteri. I team federati non devono fare ipotesi sui contenuti o sulle dimensioni dei dati dei criteri senza l'approvazione di IAM. I dati delle policy non devono essere letti o modificati al di fuori del codice di proprietà di IAM.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

visibleReferences

object (VisibleReferences)

sha256

string (bytes format)

Hash di policyData per la memorizzazione nella cache. È previsto che lo stesso criterio su risorse diverse abbia lo stesso hash.

Una stringa con codifica in base64.

VisibleReferences

Entità o altre entità a cui viene fatto riferimento nella policy. Se una di queste entità viene eliminata, la policy deve essere inviata a IAM per la pulizia. Le voci per ogni campo non verranno ripetute, ma potrebbero non essere ordinate.

Rappresentazione JSON
{
  "gaiaIds": [
    string
  ],
  "customRoles": [
    string
  ],
  "cpis": [
    string
  ],
  "projectNumbers": [
    string
  ]
}
Campi
gaiaIds[]

string (int64 format)

customRoles[]

string

Nome del ruolo personalizzato utilizzato nella policy. Ad esempio: organizations/1234/roles/myRole.

cpis[]

string

projectNumbers[]

string (int64 format)

Numero di progetto di projectOwner, projectEditor e projectViewer

FederatedTags

Un wrapper per una mappa di coppie chiave/valore dei tag, perché le mappe non possono essere un campo in un oneof. Non ancora supportato per l'utilizzo del servizio Google Cloud.

Rappresentazione JSON
{
  "tags": {
    string: string,
    ...
  }
}
Campi
tags

map (key: string, value: string)

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.