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 Vertex AI, a menos que já tenha feito isso.

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

    Instale a Google Cloud CLI.

    Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

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

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

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

REST

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

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 de papéis do IAM para a Vertex AI, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem o papel é atribuído.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que o papel é atribuído.
  • DOMAIN_NAME: opcional. O nome de domínio a que o papel é atribuído.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que o papel é atribuído.

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 a seguir:

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 a seguir:

$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 FeatureOnlineStore recurso, envie uma solicitação POST usando o featureOnlineStores.setIamPolicy método.

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 de papéis do IAM para a Vertex AI, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem o papel é atribuído.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que o papel é atribuído.
  • DOMAIN_NAME: opcional. O nome de domínio a que o papel é atribuído.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que o papel é atribuído.

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 a seguir:

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 a seguir:

$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 atributos

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

REST

Para atribuir uma política do IAM a um FeatureView recurso, envie uma solicitação POST usando o 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 atributos 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 de atributos.
  • FEATUREVIEW_NAME: o nome da visualização de atributos 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 de papéis do IAM para a Vertex AI, consulte Controle de acesso com o IAM.
  • USER_EMAIL: opcional. O endereço de e-mail da conta de usuário a quem o papel é atribuído.
  • GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que o papel é atribuído.
  • DOMAIN_NAME: opcional. O nome de domínio a que o papel é atribuído.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de e-mail da conta de serviço a que o papel é atribuído.

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 a seguir:

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 a seguir:

$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