Contrôler l'accès aux ressources de la boutique en ligne

Vous pouvez contrôler l'accès aux instances de boutiques en ligne et aux vues de fonctionnalités en définissant des stratégies Identity and Access Management (IAM) pour ces ressources. Une stratégie IAM est un ensemble de liaisons qui associe un ou plusieurs membres (ou comptes principaux) à un rôle IAM. Vous pouvez inclure les types de membres suivants dans une liaison de stratégie IAM:

  • Comptes utilisateur individuels

  • Groupes Google

  • Domaines

  • Comptes de service

Avant de commencer

Authentifiez-vous auprès de Vertex AI, sauf si vous l'avez déjà fait.

Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Définir une stratégie IAM pour un magasin en ligne

Utilisez l'exemple suivant pour définir une stratégie IAM pour une instance de magasin en ligne existante.

REST

Pour attribuer une stratégie IAM à une ressource FeatureOnlineStore, envoyez une requête POST à l'aide de la méthode featureOnlineStores.setIamPolicy.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION_ID: région où se trouve l'instance de boutique en ligne, telle que us-central1.
  • PROJECT_ID : ID de votre projet
  • FEATUREONLINESTORE_NAME: nom de l'instance de boutique en ligne pour laquelle vous souhaitez définir la stratégie IAM.
  • IAM_ROLE_NAME: nom du rôle IAM à attribuer aux membres. Pour obtenir la liste complète des rôles IAM pour Vertex AI, consultez la section Contrôle des accès avec IAM.
  • USER_EMAIL : facultatif. Adresse e-mail du compte utilisateur auquel le rôle est attribué.
  • GROUP_EMAIL : facultatif. Adresse e-mail du groupe Google auquel le rôle est attribué.
  • DOMAIN_NAME : facultatif. Nom de domaine auquel le rôle est attribué.
  • SERVICE_ACCOUNT_EMAIL (facultatif) : adresse e-mail du compte de service auquel le rôle est attribué.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Définir une stratégie IAM pour une vue d'éléments géographiques

Utilisez l'exemple suivant pour définir une stratégie IAM pour une vue d'éléments géographiques existante.

REST

Pour attribuer une stratégie IAM à une ressource FeatureView, envoyez une requête POST à l'aide de la méthode featureViews.setIamPolicy.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION_ID: région où se trouve la vue d'éléments géographiques, par exemple us-central1.
  • PROJECT_ID : ID de votre projet
  • FEATUREONLINESTORE_NAME: nom de l'instance de boutique en ligne contenant la vue de caractéristiques.
  • FEATUREVIEW_NAME: nom de la vue d'éléments géographiques pour laquelle vous souhaitez définir la stratégie IAM.
  • IAM_ROLE_NAME: nom du rôle IAM à attribuer aux membres. Pour obtenir la liste complète des rôles IAM pour Vertex AI, consultez la section Contrôle des accès avec IAM.
  • USER_EMAIL : facultatif. Adresse e-mail du compte utilisateur auquel le rôle est attribué.
  • GROUP_EMAIL : facultatif. Adresse e-mail du groupe Google auquel le rôle est attribué.
  • DOMAIN_NAME : facultatif. Nom de domaine auquel le rôle est attribué.
  • SERVICE_ACCOUNT_EMAIL (facultatif) : adresse e-mail du compte de service auquel le rôle est attribué.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Étapes suivantes