Utiliser la protection contre l'accès public (original) (raw)

Présentation

Cette page explique comment utiliser le paramètre de protection contre l'accès public à un bucket et la contrainte de règle d'administration de protection contre l'accès public. La protection contre l'accès public vous permet de limiter l'accès public à vos buckets et objets.

Avant de commencer

Avant d'utiliser la protection contre l'accès public dans Cloud Storage, assurez-vous de disposer du rôle IAM requis et examinez les remarques à prendre en compte pour appliquer la protection contre l'accès public.

Obtenir les rôles requis

Pour gérer la règle d'administration sur la protection contre l'accès public au niveau du projet, du dossier ou de l'organisation, demandez à votre administrateur de vous accorder le rôle d'administrateur des règles d'administration (roles/orgpolicy.policyAdmin) sur l'organisation. Ce rôle prédéfini contient les autorisations requises pour gérer la protection contre l'accès public au niveau du projet, du dossier ou de l'organisation. Pour en savoir plus sur les autorisations incluses dans ce rôle, consultez les détails sur le rôle Administrateur de l'organisation.

Pour gérer le paramètre de la protection contre l'accès public sur un bucket, demandez à votre administrateur de vous attribuer le rôle d'administrateur de l'espace de stockage (roles/storage.admin) sur le bucket. Ce rôle contient les autorisations requises pour gérer la protection contre l'accès public sur un bucket. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Remarques à prendre en compte

Avant de commencer, il est recommandé de veiller à ce qu'il n'y ait aucune rupture de workflow à la suite du blocage de l'accès public. Pour en savoir plus, consultez la section Éléments à prendre en compte lors de l'application sur des ressources existantes.

Utiliser le paramètre de bucket

Cette section explique comment appliquer et supprimer la protection contre l'accès public pour des buckets individuels, et comment vérifier l'état de chaque bucket.

Définir la protection contre l'accès public

Pour modifier le paramètre de protection contre l'accès public pour un bucket individuel, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
    Accéder à la page "Buckets"
  2. Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez appliquer ou supprimer la protection contre l'accès public.
  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Autorisations.
  4. Dans la fiche Accès public, cliquez sur Empêcher l'accès public pour appliquer la protection contre l'accès public ou sur Autoriser l'accès public pour la supprimer.
  5. Cliquez sur Confirmer.

Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.

Ligne de commande

Exécutez la commande gcloud storage buckets update avec l'option appropriée :

gcloud storage buckets update gs://BUCKET_NAME FLAG

Où :

Si l'opération réussit, la réponse se présente comme suit :

Updating gs://my-bucket/... Completed 1

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

C#

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage C#.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

Go

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Go.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

Java

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

Node.js

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Node.js.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

PHP

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage PHP.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

Python

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Python.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

Ruby

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Ruby.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

L'exemple suivant applique la prévention de l'accès public sur un bucket :

L'exemple suivant définit la protection contre l'accès public sur inherited pour un bucket :

API REST

API JSON

  1. Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.
  2. Créez un fichier JSON contenant les informations suivantes :
    {
    "iamConfiguration": {
    "publicAccessPrevention": "STATE",
    }
    }
    <var>STATE</var> est enforced ou inherited.
  3. Utilisez cURL pour appeler l'API JSON avec une requête PATCH Bucket incluant l'élément fields souhaité :
    curl -X PATCH --data-binary @JSON_FILE_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
    Où :
    • JSON_FILE_NAME est le chemin d'accès au fichier JSON que vous avez créé à l'étape précédente.
    • BUCKET_NAME correspond au nom du bucket concerné. Exemple :my-bucket

API XML

L'API XML ne peut pas être utilisée pour gérer la protection contre l'accès public. Utilisez plutôt un autre outil Cloud Storage, tel que la console Google Cloud .

Afficher l'état de la protection contre l'accès public

Pour afficher l'état de la protection contre l'accès public d'un bucket individuel, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
    Accéder à la page "Buckets"
  2. Cliquez sur le nom du bucket pour lequel vous souhaitez afficher l'état de la protection contre l'accès public.
  3. Cliquez sur l'onglet Autorisations.
  4. La section Accès public indique l'état de votre bucket.

Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.

Ligne de commande

Exécutez la commande gcloud storage buckets describe avec l'option --format :

gcloud storage buckets describe gs://BUCKET_NAME --format="default(public_access_prevention)"

BUCKET_NAME correspond au nom du bucket dont vous souhaitez afficher l'état. Exemple :my-bucket

Si l'opération réussit, la réponse se présente comme suit :

public_access_prevention:inherited

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

C#

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage C#.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

Go

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Go.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

Java

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

Node.js

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Node.js.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

PHP

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage PHP.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

Python

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Python.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

Ruby

Pour en savoir plus, consultez la documentation de référence de Cloud Storage en langage Ruby.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.

API REST

API JSON

  1. Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.
  2. Utilisez cURL pour appeler l'API JSON avec une requête GET Bucket incluant l'élément fields souhaité :
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
    BUCKET_NAME est le nom du bucket concerné. Par exemple, my-bucket.
    La réponse est semblable à ceci :
    {
    "iamConfiguration": {
    ...
    "publicAccessPrevention": "FLAG"
    }
    }
    FLAG est inherited ou enforced.

API XML

L'API XML ne peut pas être utilisée pour gérer la protection contre l'accès public. Utilisez plutôt un autre outil Cloud Storage, tel que la console Google Cloud .

Utiliser la règle d'administration

Cette section explique comment appliquer et supprimer la règle d'administration pour la protection contre l'accès public, et comment vérifier l'état de cette règle.

Définir la protection contre l'accès public

Pour définir la protection contre l'accès public au niveau du projet, du dossier ou de l'organisation, procédez comme suit :

Console

Suivez les instructions de la section Créer et gérer des règles d'administration à l'aide de la contrainte storage.publicAccessPrevention.

Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.

Ligne de commande

Exécutez la commande gcloud beta resource-manager org-policies :

gcloud beta resource-manager org-policies STATE
constraints/storage.publicAccessPrevention
--RESOURCE RESOURCE_ID

Où :

Pour en savoir plus, consultez la page Utiliser des contraintes.

Voici un exemple de résultat lorsque vous utilisez disable-enforce :

etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention

Afficher l'état de la protection contre l'accès public

Pour afficher l'état de la protection contre l'accès public au niveau du projet, du dossier ou de l'organisation, procédez comme suit :

Console

Suivez les instructions de la section Créer et gérer des règles d'administration à l'aide de la contrainte storage.publicAccessPrevention.

Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.

Ligne de commande

Exécutez la commande describe --effective :

gcloud beta resource-manager org-policies describe
constraints/storage.publicAccessPrevention --effective
--RESOURCE RESOURCE_ID

Où :

Pour en savoir plus, consultez la page Utiliser des contraintes.

Étape suivante