L'activation du mode de distribution d'identifiants pour une configuration de catalogue REST Apache Iceberg existante configure Lakehouse pour Apache Iceberg afin de distribuer des jetons de stockage à portée limitée et de courte durée aux moteurs de requête ou charges de travail autorisés.
Dans le catalogue d'exécution Lakehouse, cette méthode d'authentification vous évite, à vous ou aux runtimes de requête, de détenir des autorisations de lecture et d'écriture directes sur le bucket Cloud Storage sous-jacent.
Avant de commencer
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
-
Activez l'API BigLake.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.
Rôles requis
Pour obtenir les autorisations nécessaires pour activer la distribution d'identifiants, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Toutes :
- Administrateur BigLake (
roles/biglake.admin) sur votre projet - Administrateur de l'espace de stockage (
roles/storage.admin) sur votre projet
- Administrateur BigLake (
-
Compte de service du catalogue Apache Iceberg REST provisionné automatiquement :
Utilisateur d'objets Storage (
roles/storage.objectUser) sur le bucket Cloud Storage cible. Après avoir activé la distribution d'identifiants, accordez explicitement le rôle Utilisateur d'objets de stockage (roles/storage.objectUser) sur votre bucket de stockage au compte de service du catalogue Apache Iceberg REST provisionné automatiquement de votre catalogue.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Activer la distribution d'identifiants
Si la méthode d'authentification de votre catalogue REST Apache Iceberg est définie sur les identifiants de l'utilisateur final, vous pouvez la passer au mode de distribution d'identifiants.
Console
- Dans la console Google Cloud , ouvrez la page Lakehouse.
Sur la ligne du catalogue que vous mettez à jour, sélectionnez Autres actions sur le catalogue > Modifier l'authentification.
Dans la boîte de dialogue d'authentification, sélectionnez Mode de distribution des identifiants. Le compte de service du catalogue Apache Iceberg REST provisionné automatiquement nécessite le rôle explicite Utilisateur d'objets Storage (
roles/storage.objectUser) sur le bucket Cloud Storage cible. Par défaut, il est créé avec un accès en lecture seule. Sans ce rôle, les identifiants vendus ne disposent pas d'un champ d'application suffisant pour effectuer des opérations d'écriture dans le stockage.Sélectionnez Enregistrer. ` Votre catalogue est mis à jour et la page Détails du catalogue s'ouvre.
Sous Méthode d'authentification, sélectionnez Définir les autorisations du bucket.
- Dans la boîte de dialogue, sélectionnez Confirmer.
Cela permet de vérifier que le compte de service de votre catalogue dispose du rôle Utilisateur d'objets de stockage (roles/storage.objectUser) sur votre bucket de stockage.
gcloud
Exécutez la commande gcloud biglake iceberg catalogs create.
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type gcs-bucket \ --credential-mode vended-credentials \ [--primary-location LOCATION]
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue. Ce nom correspond souvent à l'ID du bucket Cloud Storage utilisé avec le catalogue REST Lakehouse Iceberg. Par exemple, si votre bucket estgs://bucket-id, le nom du catalogue peut êtrebucket-id. Ce nom est également utilisé comme identifiant de catalogue lorsque vous interrogez ces tables depuis BigQuery.PROJECT_ID: ID de votre projet Google Cloud.LOCATION: (facultatif) région principale du catalogue pour assurer l'interopérabilité avec BigQuery. Pour les buckets Cloud Storage situés dans la région des États-Unis (par exemple,USouus-central1) ou dans la région de l'UE (par exemple,EUoueurope-west4), spécifiezUSouEU, respectivement, pour vous assurer que le catalogue est accessible et disponible pour les requêtes depuis les emplacements multirégionaux BigQuery correspondants. Pour en savoir plus, consultez Régions des buckets et des catalogues.Après avoir créé le catalogue, attribuez explicitement le rôle Utilisateur des objets de l'espace de stockage (
roles/storage.objectAdmin) sur votre bucket de stockage au compte de service du catalogue Apache Iceberg REST provisionné automatiquement.
REST
Pour activer le mode de distribution d'identifiants à l'aide de l'API REST, envoyez une requête PATCH au point de terminaison UpdateIcebergCatalog :
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credentialMode
Le corps de la requête doit contenir une charge utile JSON IcebergCatalog avec credentialMode défini sur VENDED_CREDENTIALS.
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .CATALOG_ID: ID de votre catalogue d'exécution Lakehouse.