Controla el acceso a los recursos

Puedes establecer políticas de Identity and Access Management (IAM) para controlar el acceso a los siguientes recursos de Vertex AI Feature Store:

  • Grupos de funciones

  • Instancias de la tienda en línea

  • Vistas de funciones

Una política de IAM es un conjunto de vinculaciones que asocia uno o más miembros, o principales, a un rol de IAM. Puedes incluir los siguientes tipos de miembros en una vinculación de políticas de IAM:

  • Cuentas de usuarios individuales

  • Grupos de Google

  • Dominios

  • Cuentas de servicio

Antes de comenzar

Autentícate en Gemini Enterprise Agent Platform, a menos que ya lo hayas hecho.

Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

    Instala Google Cloud CLI.

    Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de. Google Cloud

Establece una política de IAM para un grupo de atributos

Usa el siguiente ejemplo para establecer una política de IAM para un grupo de atributos existente.

REST

Para asignar una política de IAM a un FeatureGroup recurso, envía una solicitud POST con el featureGroups.setIamPolicy método.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREGROUP_NAME: El nombre de la instancia de la tienda en línea para la que deseas establecer la política de IAM.
  • IAM_ROLE_NAME: El nombre del rol de IAM que se asignará a los miembros. Para obtener una lista completa de roles de IAM para Gemini Enterprise Agent Platform, consulta Control de acceso con IAM.
  • USER_EMAIL: Opcional La dirección de correo electrónico de la cuenta de usuario a la que se asigna el rol.
  • GROUP_EMAIL: Opcional La dirección de correo electrónico del grupo de Google al que se asigna el rol.
  • DOMAIN_NAME: Opcional El nombre de dominio al que se asigna el rol.
  • SERVICE_ACCOUNT_EMAIL: Opcional La dirección de correo electrónico de la cuenta de servicio a la que se asigna el rol.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Establece una política de IAM para una tienda en línea

Usa el siguiente ejemplo para establecer una política de IAM para una instancia de tienda en línea existente.

REST

Para asignar una política de IAM a un FeatureOnlineStore recurso, envía una solicitud POST con el método featureOnlineStores.setIamPolicy.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: El nombre de la instancia de la tienda en línea para la que deseas establecer la política de IAM.
  • IAM_ROLE_NAME: El nombre del rol de IAM que se asignará a los miembros. Para obtener una lista completa de roles de IAM para Gemini Enterprise Agent Platform, consulta Control de acceso con IAM.
  • USER_EMAIL: Opcional La dirección de correo electrónico de la cuenta de usuario a la que se asigna el rol.
  • GROUP_EMAIL: Opcional La dirección de correo electrónico del grupo de Google al que se asigna el rol.
  • DOMAIN_NAME: Opcional El nombre de dominio al que se asigna el rol.
  • SERVICE_ACCOUNT_EMAIL: Opcional. La dirección de correo electrónico de la cuenta de servicio a la que se asigna el rol.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Establece una política de IAM para una vista de atributos

Usa el siguiente ejemplo para establecer una política de IAM para una vista de atributos existente.

REST

Para asignar una política de IAM a un FeatureView recurso, envía una solicitud POST con el featureViews.setIamPolicy método.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: Región donde se encuentra la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: El nombre de la instancia de la tienda en línea que contiene la vista de atributos.
  • FEATUREVIEW_NAME: El nombre de la vista de atributos para la que deseas establecer la política de IAM.
  • IAM_ROLE_NAME: El nombre del rol de IAM que se asignará a los miembros. Para obtener una lista completa de roles de IAM para Gemini Enterprise Agent Platform, consulta Control de acceso con IAM.
  • USER_EMAIL: Opcional La dirección de correo electrónico de la cuenta de usuario a la que se asigna el rol.
  • GROUP_EMAIL: Opcional La dirección de correo electrónico del grupo de Google al que se asigna el rol.
  • DOMAIN_NAME: Opcional El nombre de dominio al que se asigna el rol.
  • SERVICE_ACCOUNT_EMAIL: Opcional. La dirección de correo electrónico de la cuenta de servicio a la que se asigna el rol.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

¿Qué sigue?