Questo argomento illustra il supporto per l'applicazione di filtri nel seguente elenco di risorse chiamate in Secret Manager:
Utilizzo
L'intento di filtro in un'operazione list
è indicato dalla presenza dell'elemento filter
nel campo stringa nel corpo della richiesta di elenco. L'API utilizza un linguaggio semplice per fare riferimento ai campi dell'oggetto sottoposto a filtro.
Nei seguenti esempi, supponiamo che un sottoinsieme di secret contenga la sottostringa "asecret" o "bsecret". Specifica un filtro corrispondente a questi secret. I risultati vengono ordinati per nome in ordine crescente.
gcloud
I filtri vengono specificati utilizzando il flag --filter
. Se il filtro contiene un parametro
uno spazio o un altro carattere speciale, devono essere racchiusi tra virgolette.
gcloud secrets list --filter="name:asecret OR name:bsecret"
Google Cloud CLI supporta anche espressioni regolari (regex), ad esempio:
gcloud secrets list --filter='name ~ "secret_ab.*"'
API
Questi esempi utilizzano curl per dimostrare l'utilizzo dell'API. Puoi generare token di accesso con gcloud auth stampa-access-token. In Compute Engine o GKE, devi eseguire l'autenticazione con l'ambito cloud-platform.
I filtri sono specificati come parametro della stringa di query filter
e devono essere
Codificato come URL. Ad esempio, il filtro name:asecret OR name:bsecret
avere la codifica URL name%3Aasecret+OR+name%3Absecret
.
curl "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?filter=FILTER" \
--request "GET" \
--header "Authorization: Bearer ACCESS_TOKEN"
Le espressioni regolari non sono supportate nell'API.
Esempi
Scenario | Filtro |
---|---|
Secret il cui nome contiene la sottostringa "mysecret" |
name:mysecret |
Secret con un'etichetta specifica | labels.environment=production |
Secret creati entro l'intervallo di date/ore | create_time<2021-01-01T06:00:00Z AND create_time>2021-01-01T12:00:00Z |
Secret con replica automatica | replication.automatic:* |
Secret con replica gestita dall'utente, ma non archiviati in nessuna delle regioni specificate | replication.user_managed.replicas.location:* AND NOT replication.user_managed.replicas.location:(us-central1 OR us-east1) |
Secret criptati con chiavi CMEK | replication.user_managed.replicas.customerManagedEncryption:* |
Secret criptati con una chiave CMEK specifica | replication.user_managed.replicas.customerManagedEncryption.kmsKeyName=projects/p/locations/us-central1/keyRings/kr/cryptoKeys/my-cmek-key |
Secret senza periodo di rotazione | NOT rotation.next_rotation_time:* |
Secret con un periodo di rotazione > 30 giorni | rotation.rotation_period>259200s |
Secret con scadenza impostata | expire_time:* |
Secret in scadenza prima di una data | expire_time<2021-07-31 |
Versioni attivate o disattivate | state:(ENABLED OR DISABLED) |
Versioni eliminate, eliminate dopo la data | state:DESTROYED AND destroy_time>2021-01-01 |
Sintassi filtro
La sintassi del filtro consiste in un'espressione su uno o più campi degli oggetti essere filtrati.
Puoi utilizzare i seguenti operatori di espressione.
Operatore | Descrizione |
---|---|
= |
Uguaglianza. |
> |
Maggiore di. |
< |
Minore di |
>= |
Maggiore di o uguale a. |
<= |
Minore o uguale a. |
!= - NOT |
Disequazione. I seguenti valori sono equivalenti:name!="topsecret" -name="topsecret" NOT name="topsecret"
|
: |
Contenimento. Si tratta di una corrispondenza di sottostringhe senza distinzione tra maiuscole e minuscole.
Ad esempio, |
AND |
AND logico.
Uno spazio è equivalente a |
OR |
OR logico. |
* |
Carattere jolly.
Può essere usato come autonomo, se |
In modo coerente con l'API Cloud Search, OR
ha la precedenza su AND
per impostazione predefinita.
È possibile utilizzare le parentesi per indicare la priorità dell'operazione desiderata.
Quando filtri i valori time
, codifica l'ora come stringa nel
RFC 3399
come 2020-10-15T01:30:15Z
.
Quando accedi a un sottocampo, utilizza la sintassi dot. Ad esempio,
La risorsa Secret
può includere il campo labels
il cui valore è una coppia chiave-valore map
.
Se viene utilizzata un'etichetta color
, puoi filtrare i risultati Secret
nel sottocampo
labels.color
come segue:
labels.color=red
Se vuoi elencare solo i secret con l'etichetta color
impostata, utilizza un carattere jolly:
labels.color:*
Una stringa tra virgolette viene interpretata come un singolo valore anziché come una sequenza di e i relativi valori.
Filtra campi
Puoi filtrare in base a qualsiasi campo dell'oggetto Secret
o SecretVersion
.
Metodo elenco | Link ai campi filtrabili |
---|---|
projects.secrets.list
|
Campi con dati sensibili |
projects.secrets.versions.list
|
Campi SecretVersion |
Conteggio totale dei risultati
Se filter
è impostato in una richiesta di elenco, la risposta non indica il numero totale di risultati (total_size=0
nella risposta).
Passaggi successivi
- Scopri come modificare i secret.
- Scopri come impostare una data di scadenza per un secret.