Controle o acesso aos recursos

Pode definir políticas de gestão de identidade e de acesso (IAM) para controlar o acesso aos seguintes recursos do Vertex AI Feature Store:

  • Grupos de funcionalidades

  • Instâncias de lojas online

  • Visualizações de funcionalidades

Uma política de IAM é uma coleção de associações que associa um ou mais membros, ou principais, a uma função de IAM. Pode incluir os seguintes tipos de membros numa associação de políticas de IAM:

  • Contas de utilizadores individuais

  • Grupos do Google

  • Domínios

  • Contas de serviço

Antes de começar

Autentique o Vertex AI, a menos que já o tenha feito.

Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

    Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

    gcloud init

    Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Defina uma Política IAM para um grupo de funcionalidades

Use o seguinte exemplo para definir uma política de IAM para um grupo de funcionalidades existente.

REST

Para atribuir uma política IAM a um recurso FeatureGroup, envie um pedido POST através do método featureGroups.setIamPolicy.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: região onde a instância da loja online está localizada, como us-central1.
  • PROJECT_ID: o ID do seu projeto.
  • FEATUREGROUP_NAME: o nome da instância da loja online para a qual quer definir a política IAM.
  • IAM_ROLE_NAME: o nome da função do IAM a atribuir aos membros. Para ver uma lista completa das funções de IAM para o Vertex AI, consulte o artigo Controlo de acesso com a IAM.
  • USER_EMAIL: opcional. O endereço de email da conta de utilizador à qual a função está atribuída.
  • GROUP_EMAIL: opcional. O endereço de email do Grupo Google ao qual a função está atribuída.
  • DOMAIN_NAME: opcional. O nome do domínio ao qual a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de email da conta de serviço à qual a função está 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/featureGroups/FEATUREGROUP_NAME:setIamPolicy" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

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

Defina uma Política IAM para uma loja online

Use o exemplo seguinte para definir uma política de IAM para uma instância de loja online existente.

REST

Para atribuir uma política de IAM a um recurso FeatureOnlineStore, envie um pedido POST através do método featureOnlineStores.setIamPolicy.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: região onde a instância da loja online está localizada, como us-central1.
  • PROJECT_ID: o ID do seu projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja online para a qual quer definir a política IAM.
  • IAM_ROLE_NAME: o nome da função do IAM a atribuir aos membros. Para ver uma lista completa das funções de IAM para o Vertex AI, consulte o artigo Controlo de acesso com a IAM.
  • USER_EMAIL: opcional. O endereço de email da conta de utilizador à qual a função está atribuída.
  • GROUP_EMAIL: opcional. O endereço de email do Grupo Google ao qual a função está atribuída.
  • DOMAIN_NAME: opcional. O nome do domínio ao qual a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de email da conta de serviço à qual a função está 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

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

Defina uma política IAM para uma vista de funcionalidades

Use o exemplo seguinte para definir uma política de IAM para uma vista de recursos existente.

REST

Para atribuir uma política de IAM a um recurso FeatureView, envie um pedido POST através do método featureViews.setIamPolicy.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: região onde a vista da funcionalidade está localizada, como us-central1.
  • PROJECT_ID: o ID do seu projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja online que contém a visualização de funcionalidades.
  • FEATUREVIEW_NAME: o nome da vista de recursos para a qual quer definir a política de IAM.
  • IAM_ROLE_NAME: o nome da função do IAM a atribuir aos membros. Para ver uma lista completa das funções de IAM para o Vertex AI, consulte o artigo Controlo de acesso com a IAM.
  • USER_EMAIL: opcional. O endereço de email da conta de utilizador à qual a função está atribuída.
  • GROUP_EMAIL: opcional. O endereço de email do Grupo Google ao qual a função está atribuída.
  • DOMAIN_NAME: opcional. O nome do domínio ao qual a função está atribuída.
  • SERVICE_ACCOUNT_EMAIL: opcional. O endereço de email da conta de serviço à qual a função está 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

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

O que se segue?