É 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 gcloud CLI.
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI 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 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 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 a função foi atribuída.
- GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função é 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 atual.
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 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 a função é atribuída.
- GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função é 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 de IAM para uma visualização de recurso
Use o exemplo a seguir para definir uma política do IAM para uma visualização de recurso 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 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 a função é atribuída.
- GROUP_EMAIL: opcional. O endereço de e-mail do grupo do Google a que a função é 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
Saiba como listar todos os recursos em um grupo.
Saiba como atualizar um recurso.
Saiba como excluir um recurso.
Saiba como atualizar um grupo de recursos.
Tipos de disponibilização on-line no Vertex AI Feature Store.