Cette page explique comment créer ou mettre à jour les règles de filtrage par adresse IP sur un bucket existant.
Rôles requis
Pour obtenir les autorisations requises pour mettre à jour les règles de filtrage par adresse IP sur un bucket, demandez à votre administrateur de vous accorder le rôle Administrateur Storage (roles/storage.admin) sur le bucket. Ce rôle contient les autorisations requises pour mettre à jour les règles de filtrage par adresse IP des buckets.
Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.updatestorage.buckets.setIpFilter
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés. Vous pouvez aussi obtenir ces autorisations avec d'autres rôles prédéfinis. Pour savoir quels rôles sont associés à quelles autorisations, consultez Rôles IAM pour Cloud Storage.
Pour savoir comment attribuer des rôles sur des projets, consultez Définir et gérer des stratégies IAM sur des buckets.
Créer ou mettre à jour des règles de filtrage d'adresses IP sur un bucket existant
gcloud
Vérifiez que la version 526.0.0 (ou ultérieure) de la Google Cloud CLI est installée :
gcloud version | head -n1Si vous avez installé une version antérieure de la gcloud CLI, mettez-la à jour :
gcloud components update --version=526.0.0Cré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 par adresse IP d'un bucket, consultez Configurations de filtrage par adresses IP pour les 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ù :
MODEcorrespond au mode de configuration du filtrage par adresse IP du bucket. Les valeurs valides sontEnabledetDisabled. Lorsque la valeur est définie surEnabled, les règles de filtrage par adresse IP sont appliquées à un bucket. Toute requête entrante vers le bucket est évaluée vis-à-vis de ces règles. Lorsque la valeur est définie surDisabled, toutes les requêtes entrantes sont autorisées à accéder au bucket.RANGE_CIDRest une plage d'adresses IPv4 ou IPv6 de réseau public autorisée à accéder au bucket. Vous pouvez indiquer une ou plusieurs plages d'adresses sous forme de liste.PROJECT_IDest l'ID du projet dans lequel se trouve le réseau de cloud privé virtuel (VPC). Pour configurer plusieurs réseaux VPC, vous devez spécifier le projet dans lequel se trouve chaque réseau.NETWORK_NAMEcorrespond au 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_VPCSest une valeur booléenne qui indique s'il faut autoriser les réseaux VPC définis dansvpcNetworkSourcesà provenir d'une autre organisation. Ce champ est facultatif. Si la valeur est définie surtrue, la requête autorise les réseaux VPC interorganisationnels. Si la valeur est définie surfalse, 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éfautfalseest utilisée. Ce champ ne s'applique que sivpcNetworkSourcesn'est pas vide.ALLOW_ALL_SERVICE_AGENT_ACCESSest une valeur booléenne qui indique s'il faut autoriser les agents de service à accéder au bucket, quelle que soit la configuration du filtrage par adresse IP. Si la valeur esttrue, d'autres services Google Cloud peuvent utiliser des agents de service pour accéder au bucket sans validation basée sur l'adresse IP.
Pour mettre à jour les règles de filtrage par adresse IP du bucket, exécutez la commande
gcloud storage buckets updatedans votre environnement de développement :gcloud storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Où :
BUCKET_NAMEest le nom du bucket. Par exemple,my-bucket.IP_FILTER_CONFIG_FILEcorrespond au fichier JSON créé à l'étape précédente.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier JSON contenant les paramètres du bucket, en incluant les champs de configuration
nameetipFilterpour le bucket. Pour obtenir des exemples et des informations sur la façon de structurer les règles de filtrage par adresse IP d'un bucket, consultez Configurations de filtrage par adresses IP pour les 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ù :
MODEcorrespond à l'état de la configuration du filtrage par adresse IP. Les valeurs valides sontEnabledetDisabled. Lorsque ce paramètre est défini surEnabled, les règles de filtrage par adresse IP sont appliquées à un bucket, et toutes les requêtes entrantes adressées à ce bucket sont évaluées vis-à-vis de ces règles. Lorsque la valeur est définie surDisabled, toutes les requêtes entrantes peuvent accéder au bucket et à ses données sans aucune évaluation.RANGE_CIDRest une plage d'adresses IPv4 ou IPv6 de réseau public autorisée à accéder au bucket. Vous pouvez indiquer une ou plusieurs plages d'adresses sous forme de liste.PROJECT_IDest 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_NAMEcorrespond au 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_ACCESSest une valeur booléenne qui indique s'il faut autoriser les agents de service à accéder au bucket, quelle que soit la configuration du filtrage par adresse IP. Si la valeur esttrue, 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_VPCSest une valeur booléenne qui indique s'il faut autoriser les réseaux VPC définis dans la listevpcNetworkSourcesà provenir d'une autre organisation. Ce champ est facultatif. Si la valeur est définie surtrue, la requête autorise les réseaux VPC interorganisationnels. Si la valeur est définie surfalse, 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éfautfalseest utilisée. Ce champ ne s'applique que sivpcNetworkSourcesn'est pas vide.
Utilisez
cURLpour 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_NAMEcorrespond au nom du fichier JSON que vous avez créé à l'étape précédente.BUCKET_NAMEest le nom du bucket.PROJECT_IDENTIFIERest l'ID ou le numéro du projet auquel le bucket est associé. Exemple :my-project.
Étapes suivantes
- Listez les règles de filtrage par adresse IP d'un bucket.
- Désactivez les règles de filtrage par adresse IP pour un bucket.
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 offerts pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Cloud Storage