Stratégie du bucket seulement

Cette page traite de la fonctionnalité de stratégie du bucket seulement, qui vous permet de contrôler de manière uniforme l'accès à vos ressources Cloud Storage. Lorsque les autorisations Cloud IAM (Cloud Identity and Access Management) au niveau du bucket sont activées sur un bucket donné, elles seules définissent l'accès à ce bucket et aux objets qu'il contient. Les listes de contrôle d'accès (LCA) sont désactivées et l'accès accordé par les LCA est révoqué. Pour plus d'informations sur l'utilisation de cette fonctionnalité, consultez la page Utiliser la stratégie du bucket seulement.

Présentation

Cloud Storage propose deux systèmes pour accorder aux utilisateurs l'autorisation d'accéder à vos buckets et objets : Cloud Identity and Access Management (Cloud 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. Cloud IAM est utilisé sur l'ensemble de GCP et vous permet d'accorder des autorisations détaillées au niveau du bucket et au niveau du projet. Les listes de contrôle d'accès ne sont utilisées que par Cloud Storage et présentent moins d'options d'autorisations. Elles vous permettent toutefois d'accorder des autorisations pour chaque objet.

Afin d'uniformiser le système d'autorisations, Cloud Storage dispose de la fonctionnalité de stratégie du bucket seulement. L'utilisation de cette fonctionnalité désactive les listes de contrôle d'accès pour toutes les ressources Cloud Storage. L'accès aux ressources Cloud Storage est alors accordé exclusivement à travers Cloud IAM.

Devez-vous utiliser la stratégie du bucket seulement ?

Utilisez la fonctionnalité de stratégie du bucket seulement dans les cas suivants :

  • Vous souhaitez contrôler l'accès aux ressources Cloud Storage à travers un système d'autorisation unique.

  • Vous souhaitez uniformiser l'expérience du contrôle d'accès sur l'ensemble de vos ressources GCP.

  • Vous hébergez de nombreux objets dans votre bucket et vous ne souhaitez pas gérer l'accès à chacun d'eux individuellement.

  • Vous souhaitez utiliser des fonctionnalités de sécurité GCP telles que Cloud Audit Logging et le partage restreint de domaine, qui assurent le suivi des accès accordés uniquement via les stratégies IAM Cloud, et non les LCA.

  • Vous ne voulez pas que les utilisateurs à l'origine d'un transfert d'objet gardent le contrôle total de l'objet.

N'utilisez pas la fonctionnalité de stratégie du bucket seulement dans les cas suivants :

  • Vous souhaitez accorder l'accès à certains objets spécifiques d'un bucket via des listes de contrôle d'accès anciennes.

  • Vous souhaitez que les utilisateurs à l'origine d'un transfert d'objet puissent garder le contrôle total de cet objet, mais qu'ils aient un accès restreint aux autres objets de votre bucket.

Restrictions

La restriction suivante s'applique lors de l'utilisation de la stratégie du bucket seulement :

  • Certains services GCP exportant vers Cloud Storage ne peuvent pas réaliser d'exportations vers des buckets sur lesquels la stratégie du bucket seulement est activée. Ces services incluent les suivants :

    Stackdriver, exportations Compute Engine de rapports d'utilisation ou d'images personnalisées, Cloud Audit Logging, exportations Cloud SQL, Cloud Spanner, Cloud Billing et Cloud Datastore.

Comportement lorsque la stratégie est activée

Vous pouvez activer la stratégie du bucket seulement soit lorsque vous créez un bucket, soit lorsque vous activez explicitement la stratégie du bucket seulement sur un bucket existant.

Une fois cette stratégie activée, les fonctionnalités de liste de contrôle d'accès suivantes cessent :

  • Les requêtes de définition, de lecture ou de modification des listes de contrôle d'accès de bucket et d'objet échouent avec une erreur 400 Bad Request.

  • Les requêtes d'API JSON effectuées à l'aide des méthodes BucketAccessControls, DefaultObjectAccessControls et ObjectAccessControls échouent avec des erreurs de type 400 Bad Request.

  • Les requêtes d'API JSON demandant une projection complète des métadonnées de bucket ou d'objet comportent dans la réponse une LCA vide.

  • Les commandes gsutil cp -p, mv -p et rsync -p échouent (aussi bien lorsque le bucket avec la stratégie du bucket seulement est la source que lorsqu'il est la destination).

  • La propriété individuelle des objets n'existe plus ; l'accès octroyé par cette propriété est révoqué, et les requêtes de métadonnées de bucket et d'objet ne contiennent plus de champ owner.

  • La mise en cache publique n'est pas compatible.

En outre, si vous activez la stratégie du bucket seulement lors de la création d'un bucket, des rôles Cloud IAM supplémentaires lui sont automatiquement attribués. Ce comportement maintient les autorisations dont les objets ont hérité via les listes de contrôle d'accès aux objets par défaut du bucket. Si vous activez la stratégie du bucket seulement sur un bucket existant, vous devez appliquer ces rôles manuellement. Il peut être souhaitable d'appliquer un ensemble de rôles différent si vous avez modifié les listes de contrôle d'accès aux objets par défaut du bucket.

Comportement si la stratégie est désactivée

Afin de permettre la désactivation de la stratégie du bucket seulement et de revenir à l'utilisation des listes de contrôle d'accès, Cloud Storage sauvegarde les LCA existantes pendant 90 jours. Si vous désactivez la stratégie du bucket seulement pendant cette période :

Considérations relatives à la migration d'un bucket existant

Lorsque vous activez la stratégie du bucket seulement sur un bucket existant, vous devez vous assurer que les autorisations des utilisateurs et des services qui dépendaient auparavant des LCA pour l'accès sont déplacées vers Cloud IAM. Cette section décrit certaines étapes à suivre lors de la migration d'un bucket vers une stratégie du bucket seulement. Notez que les LCA et Cloud IAM étant synchronisés pour les autorisations de bucket, vos considérations se concentrent spécifiquement sur l'accès aux objets de votre bucket, et non sur l'accès au bucket.

Déterminer si une autorisation IAM au niveau du bucket surexpose les données

Avant d'attribuer des rôles Cloud IAM équivalents à vos LCA, tenez compte des points suivants :

  • Une autorisation Cloud IAM appliquée au niveau du bucket s'applique à tous les objets du bucket, alors que les listes de contrôle d'accès aux objets peuvent varier d'un objet à l'autre.

Si vous souhaitez appliquer un accès à certains objets mais pas à d'autres, vous devez regrouper les objets dans des buckets distincts. Chaque groupe doit contenir les objets dotés des mêmes autorisations.

Vérifier l'utilisation des listes de contrôle d'accès aux objets

Lors de la migration vers la stratégie du bucket seulement, vous devez vérifier si les objets du bucket sont accessibles via les LCA qui leur sont appliquées. Pour ce faire, Stackdriver comporte deux métriques qui suivent l'utilisation des LCA. Utilisez ces métriques pour déterminer l'impact éventuel de l'activation de la stratégie du bucket seulement :

Métrique Description
storage.googleapis.com/authz/acl_based_object_access_count Nombre de requêtes d'objet qui aboutissent en l'état actuel, mais échoueraient si la stratégie du bucket seulement était activée.
storage.googleapis.com/authz/object_specific_acl_mutation_count Nombre de requêtes envoyées pour modifier les listes de contrôle d'accès aux objets.

Pour plus d'informations sur les métriques Stackdriver, consultez la page Métriques, séries temporelles et ressources.

Si ces métriques indiquent que les utilisateurs ou les services dépendent des LCA pour accéder à vos objets, vous devez attribuer des rôles Cloud IAM équivalents au bucket avant d'activer la stratégie du bucket seulement.

Vérifier la liste de contrôle d'accès aux objets par défaut du bucket

Tous les buckets sont associés à une liste de contrôle d'accès aux objets par défaut, qui est appliquée aux nouveaux objets ajoutés à un bucket, sauf si une LCA est explicitement fournie au moment de l'ajout de l'objet au bucket.

Avant d'activer la stratégie du bucket seulement, vérifiez la liste de contrôle d'accès aux objets par défaut associée à votre bucket. Déterminez si vous souhaitez accorder les autorisations associées à la liste de contrôle d'accès aux objets par défaut après avoir activé la stratégie du bucket seulement. Si tel est le cas, attribuez des rôles Cloud IAM équivalents au bucket.

Attribuer des rôles Cloud IAM équivalents aux listes de contrôle d'accès aux objets

Les listes de contrôle d'accès aux objets peuvent accorder un accès que Cloud IAM n'accorde actuellement pas. Pour vous assurer que les utilisateurs existants ne perdent pas l'accès aux objets lorsque vous activez la stratégie du bucket seulement, utilisez le tableau suivant et attribuez les rôles Cloud IAM appropriés aux utilisateurs concernés.

Autorisation dans la liste de contrôle d'accès aux objets Rôle Cloud IAM équivalent
READER roles/storage.legacyObjectReader
OWNER roles/storage.legacyObjectOwner

Étape suivante

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.