Lakehouse pour Apache Iceberg : contrôle des accès avec IAM

Pour gérer le contrôle des accès à Lakehouse for Apache Iceberg, vous devez ajouter des utilisateurs à un Google Cloud projet et leur attribuer les rôles appropriés. Par défaut, les projets n'accordent l'accès qu'au créateur d'origine. Les autres utilisateurs ne peuvent pas accéder aux ressources tant qu'ils ne sont pas ajoutés en tant que membres du projet ou associés à des ressources spécifiques.

Qu'est-ce qu'IAM ?

Google Cloud propose Identity and Access Management (IAM), qui vous permet d' attribuer un accès précis à des ressources spécifiques et empêche tout accès non souhaité à d'autres ressources. Google Cloud IAM vous permet d'adopter le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources dans * Lakehouse*.

En définissant des stratégies IAM, vous pouvez contrôler qui (identité) dispose de quelles autorisations d'accès (rôles) à quelles ressources. Ces stratégies permettent d'attribuer des rôles spécifiques à un membre du projet, et ainsi d'accorder à cette identité certaines autorisations. Par exemple, pour une ressource donnée, vous pouvez attribuer le rôle roles/biglake.admin à un compte Google. Celui-ci peut contrôler les ressources Lakehouse dans le projet, mais ne peut pas gérer d'autres ressources. IAM permet également de gérer les rôles Basic accordés aux membres de l'équipe de projet.

Options de contrôle des accès pour les utilisateurs

Pour permettre à des utilisateurs de créer et de gérer vos ressources Lakehouse, vous pouvez les ajouter en tant que membres d'une équipe à votre projet ou à des ressources spécifiques, et leur accorder des autorisations à l'aide de rôles IAM.

Un membre d'équipe peut désigner un utilisateur spécifique disposant d'un compte Google valide, un groupe Google, un compte de service ou un domaine Google Workspace. Lorsque vous ajoutez un membre d'équipe à un projet ou à une ressource, vous spécifiez les rôles à lui attribuer. IAM propose trois types de rôles : rôles prédéfinis, rôles de base et rôles personnalisés.

Pour afficher la liste des fonctionnalités de chaque rôle Lakehouse et les méthodes d’API auxquelles un rôle spécifique donne accès, consultez la section Rôles IAM pour Lakehouse.

Pour les autres types de membres, tels que les comptes de service et les groupes, reportez-vous à la documentation de référence sur les liaisons de stratégie.

Comptes de service

Lorsque vous appelez les API Lakehouse pour effectuer des actions dans le projet où se trouve votre service, Lakehouse effectue ces actions en votre nom à l'aide d'un compte de service d'agent de service par catalogue service account. Ces comptes de service sont utilisés par le catalogue d'exécution Lakehouse et reçoivent le rôle roles/biglake.serviceAgent dans votre projet.

Stratégies IAM pour les ressources

Vous pouvez accorder l'accès aux ressources Lakehouse en associant directement des stratégies IAM à ces ressources, telles qu'un service Lakehouse. Une stratégie IAM vous permet de gérer des rôles IAM sur ces ressources au lieu ou en complément des rôles que vous gérez au niveau du projet. Vous êtes ainsi libre d'appliquer le principe du moindre privilège, qui consiste à restreindre l'accès aux seules ressources spécifiques dont les collaborateurs ont besoin pour effectuer leur travail.

Les ressources héritent également des stratégies de leurs ressources parentes. Si vous définissez une stratégie au niveau du projet, elle est héritée par toutes les ressources enfants. La stratégie applicable à une ressource combine la stratégie définie pour celle-ci et la stratégie héritée des niveaux supérieurs de la hiérarchie. Pour en savoir plus, consultez la section Hiérarchie des stratégies IAM.

Vous pouvez obtenir et définir des stratégies IAM à l'aide de la Google Cloud console, de l' API Identity and Access Management ou de Google Cloud CLI.

Étape suivante