Puoi controllare l'accesso alle risorse Vertex AI Feature Store (legacy) l'impostazione dei criteri IAM a diversi livelli gerarchia delle risorse. Ad esempio:
Un criterio IAM a livello di progetto si applica a tutte le risorse in un progetto. Puoi impostare un criterio a livello di progetto per concedere le autorizzazioni agli utenti per leggere tutti gli archivi di caratteristiche nel tuo progetto.
Un criterio IAM a livello di risorsa consente di specificare quali utenti possono accedere a risorse specifiche. Per un sottoinsieme di utenti, puoi impostare un criterio a livello di risorsa per concedere autorizzazioni di scrittura ad archivi di caratteristiche specifici in del progetto.
Puoi impostare criteri IAM (Identity and Access Management) a livello di risorsa su quanto segue Risorse Vertex AI Feature Store (legacy):
Archivio di caratteristiche: quando imposti un criterio di Identity and Access Management su un archivio di caratteristiche, il criterio si applica all'archivio di caratteristiche e a tutti i tipi di entità creati in quel di caratteristiche.
Tipo di entità: quando imposti un criterio di Identity and Access Management su un tipo di entità, il criterio si applica solo al tipo di entità e all'archivio di caratteristiche in cui il tipo di entità viene creato.
Un criterio IAM include una o più associazioni di ruoli che e definire quali ruoli IAM sono associati a quali entità. R ruolo è un insieme di autorizzazioni concesse a un'entità. Vertex AI offre ruoli predefiniti che puoi utilizzare nelle tue norme. In alternativa, puoi creare ruoli personalizzati.
Considerazioni
Non puoi impostare criteri condizionali delle risorse. Ad esempio, non puoi creare una
criterio che concede l'accesso a qualsiasi risorsa che ha o avrà un nome che inizia
con una determinata stringa, come testing
.
Caso d'uso di esempio
Ad esempio, immagina che la tua organizzazione abbia due insiemi di utenti. Un set gestisce la tua infrastruttura di base in un ruolo di amministratore DevOps. Un altro insieme gestisce una particolare entità di machine learning e le loro caratteristiche, come un data engineer.
Un amministratore DevOps gestisce gli archivi di caratteristiche e i tipi di entità a livello di progetto. Quando i data engineer richiedono un nuovo tipo di entità, un amministratore DevOps può creare delegano la proprietà di quel tipo di entità ai data engineer. Data engineer possono gestire liberamente le caratteristiche nei tipi di entità di loro proprietà, ma non possono operare sull'archivio di caratteristiche o su altri tipi di entità. Questo controllo, ad esempio, consente Gli amministratori DevOps limitano l'accesso ai tipi di entità che contengono informazioni sensibili.
In questo scenario, l'amministratore DevOps ha il ruolo aiplatform.featurestoreAdmin
.
a livello di progetto. Poi, quando un data engineer richiede un nuovo tipo di entità,
L'amministratore crea un nuovo tipo di entità e poi assegna
il ruolo aiplatform.entityTypeOwner
al data engineer del tipo di entità
(come criterio a livello di risorsa).
Recupero del criterio IAM
Puoi visualizzare il criterio IAM attuale in un archivio di caratteristiche o un'entità utilizzando la console o l'API Google Cloud.
UI web
- Nella sezione Vertex AI della console Google Cloud, vai a alla pagina Funzionalità.
- Seleziona una regione dall'elenco a discesa Regione.
- Nella tabella delle caratteristiche, seleziona un archivio di caratteristiche o un tipo di entità dal Colonna Featurestore o Tipo di entità.
- Fai clic su Autorizzazioni.
- Per mostrare le autorizzazioni a livello di risorsa, disattiva Mostra ereditate
autorizzazioni.
Le entità che hanno accesso alla risorsa selezionata vengono raggruppate per ruolo.
- Espandi un ruolo per vedere quali entità sono assegnate a quel ruolo.
REST
Per ottenere il criterio IAM da una risorsa, invia una richiesta POST che
utilizza il metodo getIamPolicy
. L'esempio seguente restituisce
il criterio del tipo di entità.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: regione in cui si trova l'archivio di caratteristiche, ad esempio
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di caratteristiche.
- ENTITY_TYPE_ID: ID del tipo di entità.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:getIamPolicy
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:getIamPolicy"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:getIamPolicy" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwXTmICm7mI", "bindings": [ { "role": "roles/aiplatform.entityTypeOwner", "members": [ "user:example@example.com" ] } ] }
Imposta un criterio IAM
Puoi impostare un criterio IAM su un archivio di caratteristiche o un'entità di testo.
UI web
- Nella sezione Vertex AI della console Google Cloud, vai a alla pagina Funzionalità.
- Seleziona una regione dall'elenco a discesa Regione.
- Nella tabella delle caratteristiche, seleziona un archivio di caratteristiche o un tipo di entità dal Colonna Featurestore o Tipo di entità.
- Fai clic su Autorizzazioni.
- Fai clic su Aggiungi entità.
- Specifica un'entità e uno o più ruoli da associare al principale.
- Fai clic su Salva.
REST
Per impostare il criterio IAM su una risorsa, invia una richiesta POST che
utilizza il metodo setIamPolicy
. L'esempio seguente imposta un valore
su un tipo di entità.
L'impostazione di un criterio IAM sostituisce qualsiasi criterio esistente (le modifiche vengono
non aggiunto). Se vuoi modificare il criterio esistente di una risorsa, utilizza la
getIamPolicy
per recuperare il criterio esistente e poi renderlo
modifiche. Includi la norma modificata insieme al etag
in
la tua richiesta setIamPolicy
.
Se ricevi un codice di errore 409
, significa che era presente una richiesta SetIamPolicy
in contemporanea
che ha aggiornato le norme. Crea un GetIamPolicy
per ottenere l'etag aggiornato del criterio,
e riprova a eseguire la richiesta SetIamPolicy
includendo il nuovo etag.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: regione in cui si trova l'archivio di caratteristiche, ad esempio
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di caratteristiche.
- ENTITY_TYPE_ID: ID del tipo di entità.
- ROLE: un ruolo IAM che include le autorizzazioni.
concedere, ad esempio
roles/aiplatform.featurestoreDataViewer
. - PRINCIPAL: l'entità a cui viene concesso il ruolo
autorizzazioni, come
user:myuser@example.com
. - ETAG: un valore di stringa utilizzato per impedire la simultanea
gli aggiornamenti di una norma
e non si sovrascrivano a vicenda. Questo valore viene restituito come
parte della risposta
getIamPolicy
.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:setIamPolicy
Corpo JSON della richiesta:
{ "policy": { "bindings": [ { "role": "ROLE", "members": [ "PRINCIPAL" ] }, ... ], "etag": "ETAG" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:setIamPolicy"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:setIamPolicy" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwXTmICm7mI", "bindings": [ { "role": "roles/aiplatform.entityTypeOwner", "members": [ "user:user1@example.com" ] }, { "role": "roles/aiplatform.featurestoreDataViewer", "members": [ "user:user2@example.com", "user:user3@example.com" ] }, { "role": "roles/aiplatform.featurestoreDataWriter", "members": [ "user:user4@example.com", ] } ] }
Verifica le autorizzazioni IAM per una risorsa
Puoi verificare se l'utente attualmente autenticato dispone di autorizzazioni IAM specifiche per un archivio di caratteristiche o un'entità di testo.
REST
Per verificare se un utente ha autorizzazioni IAM specifiche per una risorsa,
invia una richiesta POST che utilizza il metodo testIamPermissions
.
L'esempio seguente consente di verificare se l'utente attualmente autenticato dispone di un insieme di IAM
autorizzazioni per un tipo di entità.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: regione in cui si trova l'archivio di caratteristiche, ad esempio
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di caratteristiche.
- ENTITY_TYPE_ID: ID del tipo di entità.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:testIamPermissions -d
Corpo JSON della richiesta:
{ "permissions": [ "aiplatform.googleapis.com/entityTypes.get", "aiplatform.googleapis.com/entityTypes.readFeatureValues", "aiplatform.googleapis.com/entityTypes.writeFeatureValues" ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:testIamPermissions -d"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:testIamPermissions -d" | Select-Object -Expand Content
{ "permissions": [ "aiplatform.googleapis.com/entityTypes.get", "aiplatform.googleapis.com/entityTypes.readFeatureValues", "aiplatform.googleapis.com/entityTypes.writeFeatureValues" ] }