Controllare l'accesso alle risorse

Puoi impostare i 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 associa 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

  • Service account

Prima di iniziare

Autenticati a Vertex AI, se non l'hai già fatto.

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

    Installa Google Cloud CLI.

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

Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.

Impostare un criterio IAM per un gruppo di caratteristiche

Utilizza il seguente esempio per impostare un criterio IAM per un gruppo di caratteristiche esistente.

REST

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

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

  • LOCATION_ID: 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, quindi esegui il comando seguente:

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 un criterio IAM per un'istanza di negozio online esistente.

REST

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

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

  • LOCATION_ID: 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, quindi esegui il comando seguente:

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 caratteristiche

Utilizza il seguente esempio per impostare un criterio IAM per una visualizzazione delle caratteristiche esistente.

REST

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

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

  • LOCATION_ID: regione in cui si trova la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: il tuo ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online contenente la visualizzazione delle caratteristiche.
  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche 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, quindi esegui il comando seguente:

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