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 vous permet d'utiliser exclusivement Cloud Identity and Access Management (IAM) pour gérer les utilisateurs. IAM applique des autorisations à tous les objets contenus dans le bucket ou aux groupes d'objets avec des préfixes de nom courants. IAM vous permet également d'exploiter des fonctionnalités que n'offrent pas les LCA, telles que les dossiers gérés, les conditions IAM, le partage restreint de domaine et la fédération d'identité de personnel.

  • Ultraprécis : l'option de contrôle ultraprécis vous permet d'utiliser conjointement IAM et les liste de contrôle d'accès (LCA) pour gérer les autorisations. Les LCA sont un ancien système de contrôle d'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 pré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 avec l'accès uniforme au niveau du bucket activé.

Utiliser des autorisations IAM avec des LCA

Cloud Storage propose deux systèmes pour autoriser des utilisateurs à accéder à vos 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. Par exemple, si la stratégie IAM de votre bucket n'autorise que quelques utilisateurs à lire des données d'objet dans le bucket, mais que l'un des objets du bucket possède une LCA qui la rend accessible publiquement, alors 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 d'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 vous 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. Toute personne avec laquelle vous partagez cette URL peut accéder à l'objet pendant la durée que vous spécifiez, qu'elle 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 des façons suivantes :

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 prévention 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.

Étape suivante