Créer ou mettre à jour des règles de filtrage des adresses IP sur un bucket existant

Cette page explique comment créer ou mettre à jour les règles de filtrage des adresses IP des buckets sur un bucket existant.

Rôles requis

Pour obtenir les autorisations requises pour mettre à jour les règles de filtrage des adresses IP sur un bucket, demandez à votre administrateur de vous accorder le rôle Administrateur de l'espace de stockage (roles/storage.admin) sur le bucket. Ce rôle contient les autorisations requises pour mettre à jour les règles de filtrage des adresses IP des buckets.

Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

  • storage.buckets.update
  • storage.buckets.setIpFilter

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés. Vous pouvez également obtenir ces autorisations avec d'autres rôles prédéfinis. Pour connaître les rôles et les autorisations associées, consultez la page Rôles IAM pour Cloud Storage.

Pour savoir comment attribuer des rôles aux projets, consultez Gérer l'accès aux projets.

Créer ou mettre à jour des règles de filtrage des adresses IP sur un bucket existant

gcloud

  1. Vérifiez que la version 526.0.0 ou ultérieure de Google Cloud CLI est installée :

    gcloud version | head -n1
    
  2. Si vous avez installé une version antérieure de gcloud CLI, mettez-la à jour :

    gcloud components update --version=526.0.0
    
  3. Créez un fichier JSON qui définit les règles pour les requêtes entrantes. Pour obtenir des exemples et des informations sur la façon de structurer les règles de filtrage des adresses IP des buckets, consultez Configurations de filtrage des adresses IP des buckets.

        {
          "mode":"MODE",
          "publicNetworkSource":{
              "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
              ]
          },
          "vpcNetworkSources":[
              {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                    "RANGE_CIDR",
                    "..."
                ]
              },
              "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
        }
        

    Où :

    • MODE correspond au mode de configuration du filtrage des adresses IP du bucket. Les valeurs valides sont Enabled et Disabled. Lorsque la valeur est définie sur Enabled, les règles de filtrage des adresses IP sont appliquées à un bucket. Toute requête entrante vers le bucket est évaluée par rapport à ces règles. Lorsque ce paramètre est défini sur Disabled, toutes les requêtes entrantes sont autorisées à accéder au bucket.

    • RANGE_CIDR est une plage d'adresses IPv4 ou IPv6 de réseau public autorisée à accéder au bucket. Vous pouvez saisir une ou plusieurs plages d'adresses sous forme de liste.

    • PROJECT_ID est l'ID du projet dans lequel se trouve le réseau cloud privé virtuel (VPC). Pour configurer plusieurs réseaux VPC, vous devez spécifier le projet dans lequel se trouve chaque réseau.

    • NETWORK_NAME est le nom du réseau VPC autorisé à accéder au bucket. Pour configurer plusieurs réseaux VPC, vous devez spécifier un nom pour chacun d'eux.

    • ALLOW_CROSS_ORG_VPCS est une valeur booléenne qui indique s'il faut autoriser les réseaux VPC définis dans vpcNetworkSources à provenir d'une autre organisation. Ce champ est facultatif. Si la valeur est définie sur true, la requête autorise les réseaux VPC inter-organisations. Si la valeur est définie sur false, la requête limite les réseaux VPC à la même organisation que le bucket. Si aucune valeur n'est spécifiée, la valeur par défaut est false.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS est une valeur booléenne qui indique s'il faut autoriser les agents de service à accéder au bucket, quelle que soit la configuration du filtre d'adresse IP. Si la valeur est true, d'autres servicestruepeuvent utiliser des agents de service pour accéder au bucket sans validation basée sur l'adresse IP. Google Cloud

  4. Pour mettre à jour les règles de filtrage des adresses IP du bucket, exécutez la commande gcloud alpha storage buckets update dans votre environnement de développement :

    gcloud alpha storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE

    Où :

    • BUCKET_NAME est le nom du bucket. Exemple :my-bucket
    • IP_FILTER_CONFIG_FILE correspond au fichier JSON créé à l'étape précédente.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Créez un fichier JSON contenant les paramètres du bucket, qui doit inclure les champs de configuration name et ipFilter pour le bucket. Pour obtenir des exemples et des informations sur la façon de structurer les règles de filtrage des adresses IP des buckets, consultez Configurations de filtrage des adresses IP des buckets.

    {
      "ipFilter":{
          "mode":"MODE",
          "publicNetworkSource":{
            "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
            ]
          },
          "vpcNetworkSources":[
            {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                  "RANGE_CIDR",
                  "..."
                ]
            },
            "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
      }
    }

    Où :

    • MODE correspond à l'état de la configuration du filtre d'adresses IP. Les valeurs valides sont Enabled et Disabled. Lorsque la valeur est définie sur Enabled, les règles de filtrage des adresses IP sont appliquées à un bucket, et toutes les requêtes entrantes adressées à ce bucket sont évaluées par rapport à ces règles. Lorsque la valeur est définie sur Disabled, toutes les requêtes entrantes peuvent accéder au bucket et à ses données sans aucune évaluation.

    • RANGE_CIDR est une plage d'adresses IPv4 ou IPv6 de réseau public autorisée à accéder au bucket. Vous pouvez saisir une ou plusieurs plages d'adresses sous forme de liste.

    • PROJECT_ID est l'ID du projet dans lequel se trouve le réseau VPC. Pour configurer plusieurs réseaux VPC, vous devez spécifier le projet dans lequel se trouve chaque réseau.

    • NETWORK_NAME est le nom du réseau VPC autorisé à accéder au bucket. Pour configurer plusieurs réseaux VPC, vous devez spécifier un nom pour chacun d'eux.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS est une valeur booléenne qui indique s'il faut autoriser les agents de service à accéder au bucket, quelle que soit la configuration du filtre d'adresse IP. Si la valeur est true, d'autres services Google Cloud peuvent utiliser des agents de service pour accéder au bucket sans validation basée sur l'adresse IP.

    • ALLOW_CROSS_ORG_VPCS est une valeur booléenne qui indique s'il faut autoriser les réseaux VPC définis dans la liste vpcNetworkSources à provenir d'une autre organisation. Ce champ est facultatif. Si la valeur est définie sur true, la requête autorise les réseaux VPC inter-organisations. Si la valeur est définie sur false, la requête limite les réseaux VPC à la même organisation que le bucket. Si aucune valeur n'est spécifiée, la valeur par défaut est false.

  3. Exécutez cURL pour appeler l'API JSON avec une requête PATCH bucket :

    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?project=PROJECT_IDENTIFIER"

    Où :

    • JSON_FILE_NAME est le nom du fichier JSON que vous avez créé à l'étape précédente.
    • BUCKET_NAME est le nom du bucket.
    • PROJECT_IDENTIFIER est l'ID ou le numéro du projet auquel le bucket est associé. Exemple : my-project.

Étapes suivantes

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Cloud Storage en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai gratuit de Cloud Storage