Controllare l'accesso alle risorse

Puoi impostare criteri IAM (Identity and Access Management) per controllare l'accesso alle seguenti risorse di Vertex AI Feature Store:

  • Gruppi di caratteristiche

  • Istanze di negozi online

  • Visualizzazioni delle caratteristiche

Un criterio IAM è una raccolta di associazioni che associano uno o più membri o entità a un ruolo IAM. Puoi includere i seguenti tipi di membri in un'associazione di criteri IAM:

  • Account utente singoli

  • Gruppi Google

  • Domini

  • Account di servizio

Prima di iniziare

Autenticati su Vertex AI, a meno che tu non l'abbia già fatto.

Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

    Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

    gcloud init

    Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Imposta un criterio IAM per un gruppo di funzionalità

Utilizza il seguente esempio per impostare una policy IAM per un gruppo di funzionalità esistente.

REST

Per assegnare un criterio IAM a una risorsa FeatureGroup, invia una richiesta POST utilizzando il metodo featureGroups.setIamPolicy.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION_ID: la regione in cui si trova l'istanza del negozio online, ad esempio us-central1.
  • PROJECT_ID: il tuo ID progetto.
  • FEATUREGROUP_NAME: il nome dell'istanza del negozio online per cui vuoi impostare il criterio IAM.
  • IAM_ROLE_NAME: il nome del ruolo IAM da assegnare ai membri. Per un elenco completo dei ruoli IAM per Vertex AI, consulta Controllo dell'accesso con IAM.
  • USER_EMAIL: (Facoltativo) L'indirizzo email dell'account utente a cui è assegnato il ruolo.
  • GROUP_EMAIL: (Facoltativo) L'indirizzo email del gruppo Google a cui è assegnato il ruolo.
  • DOMAIN_NAME: (Facoltativo) Il nome di dominio a cui è assegnato il ruolo.
  • SERVICE_ACCOUNT_EMAIL: (Facoltativo) L'indirizzo email del account di servizio a cui è assegnato il ruolo.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME:setIamPolicy

Corpo JSON della richiesta:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

Per inviare la richiesta, scegli una di queste 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/featureGroups/FEATUREGROUP_NAME:setIamPolicy"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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/featureGroups/FEATUREGROUP_NAME:setIamPolicy" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

Impostare un criterio IAM per un negozio online

Utilizza il seguente esempio per impostare una policy IAM per un'istanza di negozio online esistente.

REST

Per assegnare un criterio IAM a una risorsa FeatureOnlineStore, invia una richiesta POST utilizzando il metodo featureOnlineStores.setIamPolicy.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION_ID: la regione in cui si trova l'istanza del negozio online, ad esempio us-central1.
  • PROJECT_ID: il tuo ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online per cui vuoi impostare il criterio IAM.
  • IAM_ROLE_NAME: il nome del ruolo IAM da assegnare ai membri. Per un elenco completo dei ruoli IAM per Vertex AI, consulta Controllo dell'accesso con IAM.
  • USER_EMAIL: (Facoltativo) L'indirizzo email dell'account utente a cui è assegnato il ruolo.
  • GROUP_EMAIL: (Facoltativo) L'indirizzo email del gruppo Google a cui è assegnato il ruolo.
  • DOMAIN_NAME: (Facoltativo) Il nome di dominio a cui è assegnato il ruolo.
  • SERVICE_ACCOUNT_EMAIL: (facoltativo) L'indirizzo email del account di servizio a cui è assegnato il ruolo.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy

Corpo JSON della richiesta:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

Per inviare la richiesta, scegli una di queste 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/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

Impostare un criterio IAM per una visualizzazione delle funzionalità

Utilizza il seguente esempio per impostare una policy IAM per una feature view esistente.

REST

Per assegnare una policy IAM a una risorsa FeatureView, invia una richiesta POST utilizzando il metodo featureViews.setIamPolicy.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION_ID: la regione in cui si trova la visualizzazione delle funzionalità, ad esempio us-central1.
  • PROJECT_ID: il tuo ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza dello store online contenente la visualizzazione delle funzionalità.
  • FEATUREVIEW_NAME: Il nome della visualizzazione delle funzionalità per cui vuoi impostare il criterio IAM.
  • IAM_ROLE_NAME: il nome del ruolo IAM da assegnare ai membri. Per un elenco completo dei ruoli IAM per Vertex AI, consulta Controllo dell'accesso con IAM.
  • USER_EMAIL: (Facoltativo) L'indirizzo email dell'account utente a cui è assegnato il ruolo.
  • GROUP_EMAIL: (Facoltativo) L'indirizzo email del gruppo Google a cui è assegnato il ruolo.
  • DOMAIN_NAME: (Facoltativo) Il nome di dominio a cui è assegnato il ruolo.
  • SERVICE_ACCOUNT_EMAIL: (facoltativo) L'indirizzo email del account di servizio a cui è assegnato il ruolo.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy

Corpo JSON della richiesta:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

Per inviare la richiesta, scegli una di queste 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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

Passaggi successivi