Questo documento descrive gli attributi supportati in un'espressione di condizione.
Attributi di condizione supportati
Le sezioni seguenti riepilogano gli attributi supportati e indicano quali serviziCloud de Confiance by S3NS riconoscono ciascun attributo.
Attributi risorsa
I seguenti attributi si riferiscono alla risorsa oggetto della richiesta.
| Attributo | Riepilogo utilizzo | Servizi Cloud de Confiance supportati |
|---|---|---|
| Attributo del servizio di risorse |
Gestisci l'accesso in base al servizio Cloud de Confiance utilizzato. Puoi utilizzare questo attributo nelle associazioni dei ruoli delle policy di autorizzazione. |
|
| Attributo del tipo di risorsa |
Gestisci l'accesso in base al tipo di risorsa. Puoi utilizzare questo attributo nelle associazioni dei ruoli delle policy di autorizzazione. |
|
| Attributo del nome della risorsa |
Gestisci l'accesso in base al nome della risorsa. Puoi utilizzare questo attributo nelle associazioni dei ruoli delle policy di autorizzazione. |
|
| Tag delle risorse |
Gestisci l'accesso in base ai tag associati alla risorsa. Puoi utilizzare questo attributo nelle seguenti posizioni:
|
Tutti i servizi Cloud de Confiance (consulta Supporto per le condizioni ereditate) |
Per ulteriori dettagli sugli attributi delle risorse, consulta Attributi delle risorse in questa pagina.
Attributi della richiesta
I seguenti attributi si riferiscono ai dettagli della richiesta.
| Attributo | Riepilogo utilizzo | Servizi Cloud de Confiance supportati |
|---|---|---|
|
Gestisci l'accesso in base ai dati forniti da un'API o un servizio Cloud de Confiancespecifico. Puoi utilizzare questo attributo nelle associazioni dei ruoli delle policy di autorizzazione. |
Non tutti i servizi riconoscono tutti gli attributi dell'API. Per un elenco dei servizi che riconoscono ogni attributo, consulta Attributi API. | |
|
Imposta l'accesso con scadenza, programmato o di durata limitata alle risorse Cloud de Confiance . Puoi utilizzare questi attributi nelle associazioni dei ruoli delle policy di autorizzazione. |
Tutti i servizi Cloud de Confiance (consulta Supporto per le condizioni ereditate) |
|
|
Specifica i tipi di regole di forwarding che un'entità può creare. Ad esempio, puoi consentire a un'entità di creare regole di forwarding per ibilanciatori del carico Cloud de Confiance by S3NS interni, che gestiscono il traffico proveniente dall'interno di una rete Cloud de Confiance , ma non per i bilanciatori del carico Cloud de Confiance esterni, che gestiscono il traffico proveniente da internet. Puoi utilizzare questi attributi nelle associazioni dei ruoli delle policy di autorizzazione. |
|
Per maggiori dettagli sugli attributi della richiesta, consulta Attributi della richiesta in questa pagina.
Supporto per le condizioni ereditate
Oltre ad aggiungere condizioni alle policy di autorizzazione di alcune risorse specifiche del servizio, è possibile aggiungere associazioni di ruoli condizionali alle risorse a livello di organizzazione, cartella o progetto. Se aggiunte a livello di risorsa container, le associazioni di ruoli condizionali vengono ereditate da altre risorse tramite la gerarchia delle risorse. Le condizioni ereditate sono utili quando una risorsa non consente condizioni nelle proprie policy di autorizzazione o non ha una policy di autorizzazione.
Quando utilizzi gli attributi a livello di organizzazione, cartella o progetto, tieni presente che la maggior parte degli attributi è disponibile solo per tipi di risorse specifici. Se parte di una condizione utilizza un attributo
non disponibile per una risorsa, quella parte della condizione non viene mai interpretata come
concessione dell'accesso. Ad esempio, la condizione resource.name.endsWith == devResource non concede mai l'accesso a nessuna risorsa IAM perché le risorse IAM non forniscono il nome della risorsa.
Per evitare questo problema, utilizza gli attributi tipo di risorsa e servizio della risorsa per limitare l'ambito della condizione. Ad esempio, la seguente condizione restituisce true per tutti i tipi di risorse diversi dalle istanze Compute Engine; al contrario, per le istanze Compute Engine, la condizione controlla il nome della risorsa:
resource.type != 'compute.googleapis.com/Disk' ||
resource.name.endsWith('devResource')
Attributi risorsa
Gli attributi del servizio, del tipo e del nome della risorsa vengono in genere utilizzati per modificare l'ambito di una concessione di accesso fornita dall'associazione dei ruoli. Quando un ruolo contiene autorizzazioni che si applicano ad attributi diversi specifici per le risorse, è possibile utilizzare condizioni basate sulle risorse per concedere un sottoinsieme delle autorizzazioni del ruolo per tipi o servizi specifici.
Attributo resource.service
L'attributo resource.service ti consente di impostare una condizione in base al servizioCloud de Confiance utilizzato. Ad esempio, puoi impostare una condizione che limita l'accesso di un utente alle risorse che utilizzano il servizio cloudresourcemanager.googleapis.com. Per un elenco dei valori supportati, consulta Valori del servizio di risorse.
Puoi utilizzare l'attributo resource.service nelle associazioni dei ruoli delle policy di autorizzazione.
| Variabile attributo | resource.service |
|---|---|
| Tipo di attributo |
Per un elenco dei valori supportati, consulta Valori del servizio di risorse. |
| Operatori supportati | , |
| Dettagli |
Quando utilizzi l'attributo resource.type nelle condizioni, verifica l'uguaglianza esatta () o la disuguaglianza esatta () con l'attributo.
Altri confronti, come la ricerca di un prefisso o di un suffisso, potrebbero dare risultati imprevisti.
|
| Esempio |
Restituisce resource.service == "compute.googleapis.com" |
| Servizi supportati |
|
Attributo resource.type
L'attributo resource.type consente di impostare una condizione in base al tipo di risorsa. Ad esempio, puoi impostare una condizione che limita l'accesso di un utente alle risorse di tipo storage.googleapis.com/Object. Per un elenco dei valori supportati, consulta Valori dei tipi di risorse.
Se la condizione utilizza l'attributo resource.name, ti consigliamo vivamente di utilizzare l'attributo resource.type per controllare i tipi di risorse a cui si applica la condizione. Per maggiori dettagli, consulta la sezione
Attributo resource.name di questa pagina.
Puoi utilizzare l'attributo resource.type nelle associazioni dei ruoli delle policy di autorizzazione.
| Variabile attributo | resource.type |
||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tipo di attributo |
Per un elenco dei valori supportati, consulta Valori dei tipi di risorse. |
||||||||||||||||||||||||||||
| Operatori supportati | , |
||||||||||||||||||||||||||||
| Dettagli |
Quando utilizzi l'attributo resource.type nelle condizioni, verifica l'uguaglianza esatta () o la disuguaglianza esatta () con l'attributo. Altri confronti, come la ricerca di un prefisso o di un suffisso, potrebbero dare risultati imprevisti.
|
||||||||||||||||||||||||||||
| Esempi |
Restituisce resource.type != "compute.googleapis.com/Image"
Restituisce (resource.type == "compute.googleapis.com/Image" || resource.type == "compute.googleapis.com/Disk") |
||||||||||||||||||||||||||||
| Tipi di risorse supportati |
1 Cloud Key Management Service utilizza questo tipo di risorsa come risorsa principale delle risorse di chiavi automatizzate. |
Attributo resource.name
L'attributo resource.name consente di impostare una condizione in base a tutto o parte del nome di una risorsa. Per un elenco dei formati dei nomi delle risorse, consulta Formato del nome della risorsa.
L'attributo resource.name è disponibile solo per tipi di risorse specifici, elencati nella tabella di questa sezione. Ti consigliamo vivamente di limitare l'applicabilità della condizione al tipo di risorsa previsto. Se un ruolo contiene autorizzazioni per un tipo di risorsa che non fornisce l'attributo resource.name, devi assicurarti che queste autorizzazioni non siano limitate dalla parte della condizione che controlla resource.name.
L'esempio seguente mostra come garantire questo comportamento. In questo esempio, la condizione consente l'accesso a tutti i tipi di risorse, ad eccezione dei bucket Cloud Storage e degli oggetti. Al contrario, per i bucket e gli oggetti, la condizione consente l'accesso solo al bucket example-bucket e agli oggetti che contiene:
(resource.type != 'storage.googleapis.com/Bucket' &&
resource.type != 'storage.googleapis.com/Object') ||
resource.name.startsWith('projects/_/buckets/example-bucket')
Tieni presente che la prima parte della condizione verifica se la risorsa non è né un bucket né un oggetto. Se la risorsa è di un tipo diverso, l'intera condizione restituisce true, indipendentemente dal nome della risorsa.
Inoltre, tieni presente che la condizione controlla l'attributo resource.type, non l'attributo resource.service. La verifica dell'attributo resource.type offre diversi vantaggi:
- Limita il controllo
resource.nameall'insieme di risorse appropriato. Ad esempio, se vuoi concedere l'accesso alle istanze Compute Engine con un nome specifico, è opportuno escludere tutti i tipi di risorse diversi dalle istanze Compute Engine. - In questo modo, l'ambito della condizione non cambia se un servizio aggiunge nuovi tipi di risorse in futuro.
Infine, tieni presente che la condizione utilizza la funzione startsWith() per valutare il nome della risorsa, anziché verificare l'uguaglianza con l'operatore . Poiché la condizione esamina l'inizio del nome della risorsa, corrisponde a un bucket e agli oggetti al suo interno. Se controllasse l'uguaglianza, corrisponderebbe solo al bucket.
Non puoi utilizzare caratteri jolly come * per trovare corrispondenze con più nomi di risorse. Valuta queste alternative:
Utilizza la funzione
extract()per estrarre un valore da un nome risorsa. Ad esempio, puoi estrarre un ID progetto dal nome della risorsa di un'istanza VM di Compute Engine, quindi scrivere un'espressione di condizione che faccia riferimento all'ID progetto.Per maggiori dettagli, consulta Estrazione di valori dagli attributi in questa pagina.
Utilizza la funzione
startsWith()oendsWith()per scrivere una condizione che valuta l'inizio o la fine del nome della risorsa.
Puoi utilizzare l'attributo resource.name nelle associazioni dei ruoli delle policy di autorizzazione.
| Variabile attributo | resource.name |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tipo di attributo |
Ogni tipo di risorsa utilizza un formato specifico per il nome della risorsa. Per un elenco dei formati, consulta Formato del nome della risorsa. |
||||||||||||||||||||||
| Funzioni e operatori supportati |
startsWith(), endsWith(), extract(), ,
|
||||||||||||||||||||||
| Dettagli |
La funzione
La funzione
La funzione
Gli operatori |
||||||||||||||||||||||
| Esempi |
Restituisce resource.name != "projects/_/buckets/secret-bucket-123"
Restituisce
resource.name.startsWith("projects/project-123/zones/us-east1-b/instances/prod-")
Restituisce
resource.name.startsWith("projects/_/buckets/my_bucket/objects/test-object-")
Restituisce
resource.name.endsWith(".jpg")Restituisce il nome o il numero del progetto, se presente:
resource.name.extract("projects/{project}/") |
||||||||||||||||||||||
| Tipi di risorse supportati |
|
Tag di risorse
Le funzioni dei tag delle risorse ti consentono di impostare una condizione in base ai tag collegati alle risorse supportate o ereditati dai discendenti di queste risorse. Ad esempio, puoi impostare una condizione che concede un ruolo solo per le risorse a cui è associato il tag env: prod. Per saperne di più sul controllo dell'accesso con i tag, consulta Tag e controllo dell'accesso.
Ogni tag è composto da una chiave e un valore. Esistono diversi tipi di identificatori per ogni chiave e valore:
-
Un ID permanente, che è univoco a livello globale e non può mai essere riutilizzato. Ad esempio, una chiave tag potrebbe avere l'ID permanente
tagKeys/123456789012e un valore tag potrebbe avere l'ID permanentetagValues/567890123456. -
Un nome breve. Il nome breve di ogni chiave deve essere univoco all'interno del progetto o dell'organizzazione in cui è definita la chiave, mentre il nome breve di ogni valore deve essere univoco per la chiave associata. Ad esempio, una chiave tag potrebbe avere il nome breve
enve un valore tag potrebbe avere il nome breveprod. -
Un nome con spazio dei nomi, che aggiunge l'ID numerico della tua organizzazione o l'ID del progetto al nome breve di una chiave tag. Ad esempio, una chiave di tag creata per un'organizzazione potrebbe avere il nome con spazio dei nomi
123456789012/env. Per scoprire come ottenere l'ID organizzazione, consulta Recupero dell'ID risorsa dell'organizzazione. Una chiave di tag creata per un progetto potrebbe avere il nome con spazio dei nomimyproject/env. Per scoprire come ottenere l'ID progetto, consulta Identificazione dei progetti.
Per indicazioni su come scegliere il tipo di identificatore da utilizzare nelle condizioni, consulta Definizioni e identificatori dei tag.
Puoi utilizzare le condizioni basate su tag per condizionare l'accesso a qualsiasi risorsa. Sono incluse le risorse con i propri tag e le risorse che ereditano i tag da altre risorse. Per scoprire di più su come i tag vengono ereditati tramite la gerarchia delle risorse, consulta Ereditarietà dei tag.
Tuttavia, alcune aree della console Cloud de Confiance non riconoscono le associazioni dei ruoli delle policy di autorizzazione con condizioni basate su tag. Di conseguenza, se hai un ruolo con una condizione basata su tag, la console Cloud de Confiance potrebbe impedirti erroneamente di eseguire determinate azioni. Se riscontri questo problema, utilizza un metodo alternativo, ad esempio gcloud CLI, per eseguire l'azione.
Puoi utilizzare le condizioni basate su tag nei seguenti casi:
- Associazioni dei ruoli delle policy di autorizzazione
- Regole di negazione della policy di negazione
Puoi utilizzare le seguenti funzioni per impostare condizioni basate sui tag:
| Funzione | Descrizione |
|---|---|
resource.hasTagKey(
bool
|
Controlla se la risorsa per la richiesta ha un tag con la chiave specificata. La chiave tag viene cercata in base al nome con spazio dei nomi. Per verificare la presenza di una chiave tag utilizzando il relativo ID permanente, utilizza la funzione
|
resource.hasTagKeyId(
bool
|
Controlla se la risorsa per la richiesta ha un tag con la chiave specificata. La chiave tag viene cercata in base al suo ID permanente.
Per verificare la presenza di una chiave tag utilizzando il relativo nome con spazio dei nomi, utilizza la funzione
|
resource.matchTag(
bool
|
Controlla se la risorsa per la richiesta ha un tag con la chiave e il valore specificati. La chiave viene cercata in base al nome con spazio dei nomi e il valore in base al nome breve. Per verificare la presenza di una chiave e di un valore tag utilizzando i relativi ID permanenti, utilizza la funzione
|
resource.matchTagId(
bool
|
Controlla se la risorsa per la richiesta ha un tag con la chiave e il valore specificati. La chiave e il valore vengono cercati in base ai relativi ID permanenti. Per verificare la presenza di una chiave tag utilizzando il relativo nome con spazio dei nomi e un valore utilizzando il relativo nome breve, utilizza la funzione
|
Attributi della richiesta
Gli attributi della richiesta ti consentono di creare condizioni che valutano i dettagli della richiesta, ad esempio i ruoli modificati da una richiesta o la data e l'ora della richiesta.
Attributi API
Gli attributi API ti aiutano a gestire l'accesso in base ai dati forniti da un'API o un servizioCloud de Confiance specifico. Puoi utilizzare gli attributi API nelle associazioni dei ruoli delle policy di autorizzazione.
Per esempi di casi in cui potresti dover utilizzare gli attributi API in una condizione, consulta le seguenti pagine:
Non tutti i servizi riconoscono gli attributi dell'API. Le sezioni seguenti indicano quali servizi riconoscono ogni attributo dell'API.
Funzioni per gli attributi API
Puoi utilizzare la seguente funzione per lavorare con gli attributi dell'API:
| Funzione | Descrizione | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
api.getAttribute(
V<T>
|
Recupera l'attributo API richiesto.
|
||||||||||||
hasOnly(
bool |
Verifica che un elenco contenga solo gli elementi consentiti o un sottoinsieme di questi elementi. Puoi chiamare la funzione su un elenco restituito da
|
Attributi dell'API IAM
IAM fornisce il seguente attributo API:
| Variabile attributo | iam.googleapis.com/modifiedGrantsByRole |
|---|---|
| Tipo di attributo | list<string> |
| Dettagli |
Per una richiesta di impostazione della policy di autorizzazione di una risorsa, questo attributo contiene i nomi dei ruoli dalle associazioni dei ruoli modificate dalla richiesta. Per altri tipi di richieste, l'attributo non è definito. |
| Tipi di risorse che accettano questo attributo |
I seguenti tipi di risorse accettano condizioni con l'attributo
|
| Servizi che riconoscono questo attributo |
I seguenti servizi riconoscono l'attributo
|
Attributi dell'API Vertex AI Agent Engine
Vertex AI Agent Engine fornisce i seguenti attributi API per i suoi servizi di gestione del contesto Memory Bank e Session:
| Variabile attributo | aiplatform.googleapis.com/memoryScope |
|---|---|
| Tipo di attributo | map<string, string> |
| Dettagli |
Per una richiesta che accede o modifica le risorse di Memory Bank, contiene il valore del campo Per altri tipi di richieste, l'attributo non è definito. |
| Servizi che riconoscono questo attributo | Vertex AI Agent Engine |
| Variabile attributo | aiplatform.googleapis.com/sessionUserId |
|---|---|
| Tipo di attributo | string |
| Dettagli |
Per una richiesta che accede o modifica le risorse Session, contiene il valore del campo Per altri tipi di richieste, l'attributo non è definito. |
| Servizi che riconoscono questo attributo | Vertex AI Agent Engine |
Attributo data/ora
L'attributo data/ora viene utilizzato per impostare l'accesso con scadenza, pianificato o di durata limitata alle risorse Cloud de Confiance . Puoi utilizzare gli attributi di data/ora nelle associazioni dei ruoli delle policy di autorizzazione.
Questo attributo è supportato per tutti i servizi e i tipi di risorse Cloud de Confiance . Per scoprire come applicare condizioni di data/ora alle risorse che non le supportano direttamente, consulta Supporto delle condizioni ereditate in questa pagina.
L'attributo request.time contiene il timestamp della richiesta. Puoi confrontare questo timestamp con un altro timestamp o con una durata di tempo.
Le sezioni seguenti elencano le funzioni che puoi utilizzare per impostare condizioni basate su timestamp e durate.
Crea, confronta e modifica timestamp e durate
| Funzione o operatore | Descrizione |
|---|---|
date(
Timestamp |
Converte una data da
|
duration(
Duration |
Converte un periodo di tempo da
|
timestamp(
Timestamp |
Converte un valore
|
, , , |
Confronta due valori
|
|
Aggiungi o sottrai un
|
Estrai informazioni da un timestamp
Le funzioni di questa sezione consentono di estrarre informazioni da un timestamp, ad esempio il giorno della settimana in cui cade il timestamp.
Nelle condizioni IAM, tutti i timestamp sono in formato UTC. Tuttavia, potresti voler estrarre informazioni in base a un fuso orario diverso. Ad esempio, potresti voler sapere se un timestamp UTC cade di lunedì nel fuso orario di Berlino, in Germania.
Per specificare un fuso orario diverso, passalo alla funzione. Utilizza un nome o un offset UTC del database dei fusi orari IETF. Ad esempio, puoi utilizzare Europe/Berlin o +01:00 per il fuso orario dell'Europa centrale (CET).
| Funzioni e operatori supportati | Descrizione |
|---|---|
Timestamp.getDate(
int
|
Restituisce il giorno del mese da
|
Timestamp.getDayOfMonth(
int
|
Restituisce il giorno del mese da
|
Timestamp.getDayOfWeek(
int
|
Restituisce il giorno della settimana da
|
Timestamp.getDayOfYear(
int
|
Restituisce il giorno dell'anno da
|
Timestamp.getFullYear(
int
|
Restituisce l'anno da
|
Timestamp.getHours(
int
|
Restituisce l'ora del giorno da
Puoi combinare questa funzione con
|
Timestamp.getMilliseconds(
int
|
Restituisce il numero di millisecondi da
|
Timestamp.getMinutes(
int
|
Restituisce il numero di minuti dopo l'ora da
|
Timestamp.getMonth(
int
|
Restituisce il mese dell'anno da
|
Timestamp.getSeconds(
int
|
Restituisce il numero di secondi da
|
, , , |
Confronta l'output di due funzioni in questa tabella. |
Attributi della regola di forwarding
Gli attributi della regola di forwarding consentono di specificare i tipi di regole di forwarding che un'entità può creare. Ad esempio, potresti consentire a un'entità di creare regole di forwarding per i bilanciatori del carico Cloud de Confiance by S3NSinterni, che gestiscono il traffico proveniente dall'interno di una rete Cloud de Confiance , ma non per i bilanciatori del carico Cloud de Confianceesterni, che gestiscono il traffico proveniente da internet. Puoi utilizzare gli attributi regola di forwarding nelle associazioni dei ruoli delle policy di autorizzazione.
Per Cloud Load Balancing, gli attributi della regola di forwarding non influiscono sulla possibilità di creare altri componenti di un bilanciatore del carico Cloud de Confiance , come servizi di backend, proxy di destinazione, controlli di integrità e mappe URL.
Funzioni supportate
| Funzione | Descrizione |
|---|---|
compute.isForwardingRule
bool
|
Controlla se la richiesta sta creando una regola di forwarding.
|
compute.matchLoad
bool
|
Controlla se la richiesta influisce su uno dei tipi di schema di bilanciamento del carico specificati. Per trovare l'identificatore di ogni schema di bilanciamento del carico e ulteriori dettagli, consulta Utilizzo delle condizioni IAM sui bilanciatori del carico Cloud de Confiance .
|
Tipi di risorse supportati
Questo attributo è disponibile per le richieste di creazione dei seguenti tipi di risorse:
| Servizio | Tipi di risorse |
|---|---|
| Cloud Load Balancing | Regole di forwarding |
| Cloud VPN | Regole di forwarding (globali e regionali) |
| Compute Engine | Regole di forwarding (per il forwarding del protocollo) |
| Cloud Service Mesh1 | Regole di forwarding |
1 Utilizza gli attributi delle risorse per Compute Engine.
Estrai valori dagli attributi
Puoi utilizzare la funzione extract() per estrarre un valore da un attributo. Ad esempio, puoi estrarre una parte arbitraria del nome di una risorsa e poi scrivere un'espressione di condizione che faccia riferimento al testo estratto.
Per utilizzare la funzione extract(), devi fornire un modello di estrazione, che specifica la parte dell'attributo da estrarre. Ad esempio, se vuoi estrarre un ID progetto dal nome della risorsa di un'istanza VM di Compute Engine, puoi utilizzare il template projects/{project}/.
Un template di estrazione contiene le seguenti parti:
Un identificatore, racchiuso tra parentesi graffe, che identifica la sottostringa da estrarre.
Scegli un identificatore breve e significativo che indichi chiaramente il valore che vuoi estrarre. Puoi utilizzare lettere maiuscole e minuscole da
AaZ, cifre numeriche e trattini bassi (_).Nel modello
projects/{project}/, l'identificatore èproject.(Facoltativo) Un prefisso, che deve apparire prima della sottostringa da estrarre.
Nel modello
projects/{project}/, il prefisso èprojects/.(Facoltativo) Un suffisso, che deve apparire dopo la sottostringa da estrarre.
Nel modello
projects/{project}/, il suffisso è/.
La funzione extract() estrae parti diverse dell'attributo a seconda che il modello di estrazione abbia un prefisso, un suffisso o entrambi:
| Ha un prefisso | Ha un suffisso | Valore estratto |
|---|---|---|
| - | - | L'intero attributo |
| - | I caratteri dopo la prima occorrenza del prefisso o una stringa vuota se non sono presenti caratteri dopo il prefisso | |
| - | I caratteri prima della prima occorrenza del suffisso o una stringa vuota se non sono presenti caratteri prima del suffisso | |
| I caratteri tra la prima occorrenza del prefisso e la prima occorrenza successiva del suffisso oppure una stringa vuota se non sono presenti caratteri tra il prefisso e il suffisso |
Se specifichi un prefisso o un suffisso che non compaiono nell'attributo o se il suffisso compare solo prima del prefisso, la funzione extract() restituisce una stringa vuota.
I seguenti esempi mostrano l'output di diversi modelli di estrazione. Questi esempi fanno riferimento al nome di una risorsa per un oggetto Cloud Storage, projects/_/buckets/acme-orders-aaa/objects/data_lake/orders/:
| Modello di estrazione | Output |
|---|---|
/order_date={date}/ |
2019-11-03 |
buckets/{name}/ |
acme-orders-aaa |
/orders/{empty}order_date |
string vuoto |
{start}/objects/data_lake |
projects/_/buckets/acme-orders-aaa |
orders/{end} |
order_date=2019-11-03/aef87g87ae0876 |
{all} |
projects/_/buckets/acme-orders-aaa/objects/data_lake/orders/ |
/orders/{none}/order_date= |
string vuoto |
/orders/order_date=2019-11-03/ |
string vuoto |
Se estrai una stringa che rappresenta una data, puoi utilizzare le funzioni e gli operatori di data/ora in questa pagina per convertire il valore estratto in un Timestamp. Per alcuni esempi, consulta Configurazione dell'accesso basato sulle risorse.