Cette page explique comment créer des règles de filtrage des adresses IP pour un bucket. En activant le filtrage des adresses IP des buckets, vous pouvez contrôler l'accès à vos buckets en examinant les requêtes entrantes par rapport aux adresses IP spécifiées dans les règles de filtrage des adresses IP des buckets. Pour en savoir plus, consultez la section Filtrage des adresses IP des buckets.
Rôles requis
Pour obtenir les autorisations requises pour créer des règles de filtrage d'adresses IP pour 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 créer des règles de filtrage des adresses IP pour un bucket.
Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.create
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 buckets, consultez la section Utiliser IAM avec des buckets.
Créer des règles de filtrage des adresses IP de bucket
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 structuration des règles de filtrage des adresses IP des buckets, consultez la section Configurations de filtrage des adresses IP des buckets.
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] }
Où :
mode
correspond au mode de configuration du filtrage des adresses IP du bucket. Les valeurs valides sontEnabled
etDisabled
. Lorsque la valeur estEnabled
, des 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 surDisabled
, 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
correspond à 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
correspond 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.
Pour créer un bucket avec des règles de filtrage des adresses IP, exécutez la commande
gcloud alpha storage buckets create
dans votre environnement de développement:gcloud alpha storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Où :
BUCKET_NAME
correspond au nom que vous souhaitez attribuer au bucket, ce nom étant soumis à des exigences de dénomination. Par exemple,my-bucket
.IP_FILTER_CONFIG_FILE
est le fichier JSON qui définit les règles pour les requêtes entrantes.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet 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, qui doit inclure les champs de configuration
name
etipFilter
du bucket. Pour obtenir des exemples et des informations sur la structuration des règles de filtrage des adresses IP des buckets, consultez la section Configurations de filtrage des adresses IP des buckets.{ "name": "BUCKET_NAME" "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] } }
Où :
mode
est l'état de la configuration du filtre IP. Les valeurs valides sontEnabled
etDisabled
. Lorsque la valeur estEnabled
, des règles de filtrage des adresses IP sont appliquées à un bucket, et toutes les requêtes entrantes vers ce bucket sont évaluées par rapport à ces règles. Lorsque la valeur estDisabled
, toutes les requêtes entrantes peuvent accéder au bucket et à ses données sans aucune évaluation si vous disposez des autorisations IAM requises. Pour activer de manière sécurisée les règles de filtrage des adresses IP des buckets, commencez par configurer vos règles avecmode
défini surDisabled
afin de pouvoir ajouter et ajuster des règles sans bloquer immédiatement les requêtes. Une fois que vous avez vérifié que vos règles sont correctement définies, remplacezmode
parEnabled
pour activer le filtrage des adresses IP des buckets.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
correspond à 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
correspond 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.
Exécutez
cURL
pour appeler l'API JSON avec une requête POST bucket:curl -X POST --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?project=PROJECT_IDENTIFIER&projection=full"
Où :
JSON_FILE_NAME
est le nom du fichier JSON contenant les paramètres du bucket.PROJECT_IDENTIFIER
correspond à l'ID ou au numéro du projet auquel le bucket est associé. Exemple :my-project
.
Configurations de filtrage des adresses IP des buckets
Cette section fournit des exemples de configurations de fichiers JSON de filtrage des adresses IP de bucket pour contrôler l'accès à vos buckets Cloud Storage. Vous pouvez accorder l'accès aux requêtes entrantes à l'aide de l'un des exemples suivants:
Toute adresse IP publique (IPv4 ou IPv6):
La configuration suivante accorde l'accès à n'importe quelle adresse IPv4 ou IPv6 publique, mais bloque le trafic provenant de n'importe quel VPC:
{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] } } }
Plages d'adresses IP publiques spécifiques:
L'exemple de configuration suivant accorde l'accès à la plage d'adresses IPv4 publiques
192.0.2.0/24
, mais bloque le trafic provenant de n'importe quel VPC:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] } } }
L'exemple de configuration suivant accorde l'accès à la plage d'adresses IPv6 publiques
2001:db8::/32
, mais bloque le trafic provenant de n'importe quel VPC:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] } } }
Réseaux VPC: les configurations suivantes vous permettent d'accorder l'accès aux ressources de votre réseau VPC. Vous pouvez accorder l'accès à toutes les adresses IP du VPC ou à des plages d'adresses IP spécifiques du VPC. Dans chacun de ces exemples,
PROJECT_ID
correspond à l'ID du projet dans lequel se trouve le réseau VPC, etNETWORK_NAME
au nom du réseau VPC autorisé à accéder au bucket.L'exemple de configuration suivant accorde l'accès à une requête provenant de n'importe quelle adresse IPv4 ou IPv6 provenant d'un VPC spécifique et bloque le trafic provenant d'une adresse IP publique:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ] } }
L'exemple de configuration suivant n'autorise l'accès qu'à une requête provenant d'un VPC associé à une VM avec une adresse IPv4 externe comme
192.0.2.0/24
et bloque le trafic provenant d'une adresse IP publique:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ] } }
L'exemple de configuration suivant n'autorise l'accès qu'à une requête provenant d'un VPC avec une plage de sous-réseau IPv4 interne associée à une VM sans adresse IP externe et bloque le trafic provenant d'une adresse IP publique:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ] } }
Où
IP_ADDRESS
est une plage de sous-réseau IPv4 interne.L'exemple de configuration suivant n'autorise l'accès qu'à une requête provenant d'un VPC avec une plage de sous-réseau IPv4 et IPv6 à double pile associée à une VM avec une plage d'adresses IPv6 externe comme
2001:db8::/32
et bloque le trafic provenant d'une adresse IP publique:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ] } }
Étape suivante
- Mettez à jour les règles de filtrage des adresses IP des buckets.
- Obtenir les règles de filtrage des adresses IP des buckets
- Listez les règles de filtrage des adresses IP des buckets.
- Désactivez le filtrage des adresses IP des buckets.
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