Présentation du contrôle des accès

Vous pouvez contrôler qui a accès à vos buckets et objets Cloud Storage, ainsi que le niveau d'accès dont disposent ces utilisateurs.

Choisir entre un accès uniforme et un accès ultraprécis

Lorsque vous créez un bucket, vous devez décider si vous souhaitez appliquer des autorisations à l'aide d'un accès uniforme ou ultraprécis.

  • Uniforme (recommandé) : l'accès uniforme au niveau du bucket permet d'utiliser exclusivement Cloud Identity and Access Management (IAM) pour gérer les autorisations. IAM applique des autorisations à tous les objets contenus dans le bucket ou aux groupes d'objets ayant des préfixes de nom courants. IAM permet également d'exploiter des fonctionnalités que n'offrent pas les listes de contrôle d'accès (LCA), telles que les dossiers gérés, les conditions IAM, le partage restreint de domaine et la fédération des identités des employés.

  • Ultraprécis : l'option de contrôle ultraprécis permet d'utiliser conjointement IAM et les listes de contrôle d'accès (LCA) pour gérer les autorisations. Les LCA sont un ancien système de contrôle des accès pour Cloud Storage conçu pour assurer l'interopérabilité avec Amazon S3. Les LCA permettent également de spécifier l'accès par objet.

    Étant donné que l'accès ultraprécis nécessite de coordonner deux systèmes de contrôle d'accès différents, il existe un risque accru d'exposition involontaire des données et l'audit des utilisateurs ayant accès aux ressources est plus complexe. En particulier, si vous possédez des objets contenant des données sensibles, telles que des informations personnelles, nous vous recommandons de stocker ces données dans un bucket sur lequel l'accès uniforme au niveau du bucket est activé.

Utiliser des autorisations IAM avec des LCA

Cloud Storage propose deux systèmes pour autoriser des utilisateurs à accéder à des buckets et objets : IAM et les listes de contrôle d'accès (LCA). Ces systèmes fonctionnent en parallèle : pour qu'un utilisateur puisse accéder à une ressource Cloud Storage, seul l'un des systèmes doit lui accorder l'autorisation correspondante. Par exemple, si la stratégie IAM de votre bucket n'autorise que quelques utilisateurs à lire des données d'objets dans le bucket, mais que l'un des objets du bucket possède une LCA qui le rend publiquement accessible, cet objet spécifique est exposé au public.

Dans la plupart des cas, IAM est la méthode recommandée pour contrôler l'accès à vos ressources. IAM contrôle les autorisations dans Google Cloud et vous permet d'accorder des autorisations au niveau du bucket et du projet. Vous devez utiliser IAM pour toutes les autorisations qui s'appliquent à plusieurs objets d'un bucket afin de réduire les risques d'exposition accidentelle. Pour utiliser exclusivement IAM, activez l'accès uniforme au niveau du bucket afin d'interdire les LCA pour toutes les ressources Cloud Storage.

Les LCA ne contrôlent que les autorisations pour les ressources Cloud Storage et disposent d'options d'autorisation limitées. Elles vous permettent toutefois d'accorder des autorisations pour chaque objet. Vous souhaiterez probablement utiliser les LCA dans les cas suivants :

  • Personnaliser l'accès à des objets spécifiques d'un bucket
  • Migrer des données depuis Amazon S3

Options de contrôle des accès supplémentaires

En plus de Cloud IAM et des LCA, les outils suivants sont disponibles pour vous aider à contrôler l'accès à vos ressources :

URL signées (authentification par chaîne de requête)

Les URL signées permettent d'accorder un accès en lecture ou en écriture limité dans le temps à un objet, via une URL que vous générez. Tout utilisateur avec lequel vous partagez cette URL peut accéder à l'objet pendant la durée que vous spécifiez, qu'il possède ou non un compte utilisateur.

Vous pouvez utiliser des URL signées en plus de Cloud IAM et des LCA. Par exemple, vous pouvez utiliser Cloud IAM pour n'accorder l'accès à un bucket qu'à quelques personnes, puis créer une URL signée autorisant les autres utilisateurs à accéder à une ressource spécifique du bucket.

Apprenez à créer des URL signées :

Documents de stratégie signés

Les documents de stratégie signés vous permettent de spécifier ce qui peut être importé dans un bucket. Les documents de stratégie offrent un meilleur contrôle de la taille, du type de contenus et d'autres caractéristiques d'importation que les URL signées. Ils permettent aux propriétaires de sites Web d'autoriser les visiteurs à importer des fichiers dans Cloud Storage.

Vous pouvez utiliser des documents de stratégie signés en plus de Cloud IAM et des LCA. Par exemple, vous pouvez utiliser Cloud IAM pour autoriser les membres de votre organisation à importer des objets, puis créer un document de stratégie signé permettant aux visiteurs du site Web de n'importer que les objets répondant à des critères spécifiques.

Règles de sécurité Firebase

Les règles de sécurité Firebase vous permettent de définir un contrôle des accès aux applications mobiles et Web qui soit à la fois précis et basé sur des attributs, en utilisant les SDK Firebase pour Cloud Storage. Par exemple, vous pouvez spécifier qui peut importer ou télécharger des objets, la taille que peut avoir un objet ou quand un objet peut être téléchargé.

Protection contre l'accès public

Utilisez la protection contre l'accès public pour restreindre l'accès public à vos buckets et objets. Lorsque vous activez la protection contre l'accès public, les utilisateurs qui obtiennent l'accès via allUsers et allAuthenticatedUsers ne sont pas autorisés à accéder aux données.

Limites d'accès aux identifiants

Les limites d'accès aux identifiants permettent de réduire les champs d'application des autorisations disponibles pour un jeton d'accès OAuth 2.0. Tout d'abord, vous définissez une limite d'accès aux identifiants qui spécifie les buckets auxquels le jeton peut accéder, ainsi qu'une limite supérieure des autorisations disponibles pour ce bucket. Vous pouvez ensuite créer un jeton d'accès OAuth 2.0 et l'échanger contre un nouveau jeton d'accès respectant la limite d'accès aux identifiants.

Filtrage par adresse IP pour le bucket

Utilisez le filtrage par adresse IP pour le bucket pour limiter l'accès à votre bucket en fonction de l'adresse IP source de la requête. Le filtrage par adresse IP pour le bucket ajoute une couche de sécurité en empêchant les réseaux non autorisés d'accéder à votre bucket et à ses données. Vous pouvez configurer une liste de plages d'adresses IP autorisées, y compris des adresses IP publiques, des plages d'adresses IP publiques et des adresses IP dans votre cloud privé virtuel. Toutes les requêtes provenant d'une adresse IP qui ne figure pas dans votre liste sont bloquées. Par conséquent, seuls les utilisateurs autorisés peuvent accéder à votre bucket.

Étapes suivantes