Controlar o acesso a recursos

É possível definir políticas do Identity and Access Management (IAM) para controlar o acesso aos seguintes recursos da Vertex AI Feature Store:

  • Grupos de atributos

  • Instâncias de loja on-line

  • Visualizações de atributos

Uma política do IAM é um conjunto de vinculações que associa um ou mais membros, ou principais, a um papel do IAM. É possível incluir os seguintes tipos de membros em uma vinculação de política do IAM:

  • Contas de usuário

  • Grupos do Google

  • Domínios

  • Contas de serviço

Antes de começar

Faça a autenticação na Gemini Enterprise Agent Platform, a menos que já tenha feito isso.

Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

    Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .

Definir uma política do IAM para um grupo de recursos

Use o exemplo a seguir para definir uma política do IAM para um grupo de recursos existente.

REST

Para atribuir uma política do IAM a um recurso FeatureGroup, envie uma solicitação POST usando o método featureGroups.setIamPolicy.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a instância da loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREGROUP_NAME: o nome da instância da loja on-line para a qual você quer definir a política do IAM.
  • IAM_ROLE_NAME: o nome do papel do IAM a ser atribuído aos membros. Para uma lista completa dos papéis do IAM para a Gemini Enterprise Agent Platform, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem a função foi atribuída.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função foi atribuída.
  • DOMAIN_NAME: opcional. O nome de domínio a que a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que a função é atribuída.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$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

Você receberá uma resposta JSON semelhante a esta:

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

Definir uma política do IAM para uma loja on-line

Use o exemplo a seguir para definir uma política do IAM para uma instância de loja on-line.

REST

Para atribuir uma política do IAM a um recurso FeatureOnlineStore, envie uma solicitação POST usando o método featureOnlineStores.setIamPolicy.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a instância da loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja on-line para a qual você quer definir a política do IAM.
  • IAM_ROLE_NAME: o nome do papel do IAM a ser atribuído aos membros. Para uma lista completa dos papéis do IAM para a Gemini Enterprise Agent Platform, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem a função foi atribuída.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função foi atribuída.
  • DOMAIN_NAME: opcional. O nome de domínio a que a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que a função é atribuída.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$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

Você receberá uma resposta JSON semelhante a esta:

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

Definir uma política do IAM para uma visualização de recursos

Use o exemplo a seguir para definir uma política do IAM para uma visualização de recursos existente.

REST

Para atribuir uma política do IAM a um recurso FeatureView, envie uma solicitação POST usando o método featureViews.setIamPolicy.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a visualização de recurso está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja on-line que contém a visualização do recurso.
  • FEATUREVIEW_NAME: o nome da visualização de recurso para a qual você quer definir a política do IAM.
  • IAM_ROLE_NAME: o nome do papel do IAM a ser atribuído aos membros. Para uma lista completa dos papéis do IAM para a Gemini Enterprise Agent Platform, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem a função foi atribuída.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função foi atribuída.
  • DOMAIN_NAME: opcional. O nome de domínio a que a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que a função é atribuída.

Método 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 da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$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

Você receberá uma resposta JSON semelhante a esta:

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

A seguir