Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document explique comment utiliser VPC Service Controls avec Batch.
VPC Service Controls vous permet de protéger les ressources et les données des services Google Cloud en isolant des ressources spécifiques dans des périmètres de service. Un périmètre de service bloque les connexions avec les services Google Cloud en dehors du périmètre, ainsi que toutes les connexions depuis Internet qui ne sont pas explicitement autorisées.
Si votre projet ou votre réseau utilise VPC Service Controls pour restreindre l'accès réseau pour Batch, vous devez configurer vos jobs Batch pour qu'ils s'exécutent dans le périmètre de service requis.
Pour savoir comment faire, consultez Créer un job qui s'exécute dans un périmètre de service dans ce document.
Pour obtenir les autorisations nécessaires pour utiliser les VPC Service Controls avec Batch, demandez à votre administrateur de vous accorder les rôles IAM suivants :
Pour configurer un périmètre de service :
Éditeur Access Context Manager (roles/accesscontextmanager.policyEditor)
sur le projet
Pour identifier le périmètre de service d'un projet ou d'un réseau :
Lecteur Access Context Manager (roles/accesscontextmanager.policyReader)
sur le projet
Pour identifier le réseau et le sous-réseau d'un job :
Lecteur de réseau Compute (roles/compute.networkViewer)
sur le projet
Si vous créez un job qui s'exécute dans un périmètre de service, vous devez identifier le réseau que vous souhaitez utiliser pour le job. Le réseau que vous spécifiez pour un job exécuté dans un périmètre de service doit répondre aux exigences suivantes :
Le réseau inclut un sous-réseau à l'emplacement où vous souhaitez exécuter le job.
Le réseau se trouve dans le périmètre de service requis et utilise l'accès privé à Google pour autoriser l'accès aux domaines des API et des services utilisés par votre job. Pour en savoir plus, consultez Configurer un périmètre de service pour Batch dans ce document.
Pour configurer un périmètre de service pour Batch, procédez comme suit :
Planifiez la configuration de votre périmètre de service. Pour obtenir une vue d'ensemble des étapes de configuration des périmètres de service, consultez la documentation de VPC Service Controls sur les informations sur les périmètres de service et leur configuration.
Pour utiliser Batch, le périmètre de service doit répondre aux exigences suivantes :
Services restreints : pour sécuriser Batch dans un périmètre de service, vous devez inclure les services Google Cloud requis pour vos jobs Batch dans ce périmètre, tels que les suivants :
API Batch (batch.googleapis.com)
API Cloud Logging (logging.googleapis.com) : obligatoire si vous souhaitez que vos jobs écrivent des journaux dans Cloud Logging. (Recommandé)
API Container Registry (containerregistry.googleapis.com) : obligatoire si vous envoyez un job qui utilise des conteneurs avec une image provenant de Container Registry.
API Artifact Registry (artifactregistry.googleapis.com) : obligatoire si vous envoyez un job qui utilise des conteneurs avec une image provenant d'Artifact Registry.
API Cloud Storage (storage.googleapis.com) : requise pour certains jobs qui utilisent un bucket Cloud Storage.
Obligatoire si vous utilisez une image pour votre job Batch qui n'a pas l'agent de service Batch préinstallé.
Pour savoir comment activer chacun de ces services dans votre périmètre de service, consultez Services accessibles par VPC.
Pour chaque service que vous incluez en plus de Batch, vous devez également vérifier que votre périmètre de service répond aux exigences listées pour ce service dans la documentation Produits et limites compatibles avec VPC Service Controls.
Réseaux VPC : chaque job Batch nécessite un réseau VPC. Votre périmètre de service doit donc inclure un réseau VPC sur lequel les jobs Batch peuvent s'exécuter. Pour savoir comment configurer un réseau VPC capable d'exécuter vos jobs Batch dans un périmètre de service, consultez les documents suivants :
Créer un job qui s'exécute dans un périmètre de service
Lorsque vous créez un job qui s'exécute dans un périmètre de service, vous devez également bloquer l'accès externe pour toutes les VM sur lesquelles le job s'exécute et spécifier un réseau et un sous-réseau qui permettent au job d'accéder aux API requises.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[[["\u003cp\u003eVPC Service Controls protect Google Cloud resources by isolating them within service perimeters, blocking unauthorized connections.\u003c/p\u003e\n"],["\u003cp\u003eTo use Batch within a service perimeter, configure the perimeter to include necessary Google Cloud services like the Batch API, Cloud Logging API, and others depending on the job's needs.\u003c/p\u003e\n"],["\u003cp\u003eBatch jobs within a service perimeter require a VPC network that is also within the perimeter and uses Private Google Access.\u003c/p\u003e\n"],["\u003cp\u003eWhen creating Batch jobs that run within a service perimeter, you must specify a network and subnet that allows access to required APIs and blocks external access for all VMs.\u003c/p\u003e\n"],["\u003cp\u003eDefault Batch VM OS images are recommended when using jobs with VPC Service Controls, as Batch does not guarantee support for custom VM OS images.\u003c/p\u003e\n"]]],[],null,["# Use VPC Service Controls with Batch\n\nThis document explains how to use VPC Service Controls with Batch.\n[VPC Service Controls](/vpc-service-controls/docs/overview#capabilities)\nallows you to protect the resources and data of Google Cloud services\nby isolating specific resources into service perimeters. A service\nperimeter blocks connections with Google Cloud services outside\nthe perimeter and any connections from the internet that are not explicitly\nallowed.\n\n- To configure a VPC Service Controls service perimeter to use Batch, see [Configure a service perimeter for Batch](#configure-service-perimeter) in this document.\n- If your project or network uses VPC Service Controls to restrict networking access for Batch, you must configure your Batch jobs to run in the required service perimeter. To learn how, see [Create a job that runs in a service perimeter](#create-job-service-perimeter) in this document.\n\nFor more information about networking concepts and\nwhen to configure networking, see\n[Batch networking overview](/batch/docs/networking-overview).\n| **Caution:** Batch does not guarantee VPC Service Controls support for jobs with custom VM OS images. Only default Batch VM OS images are recommended for jobs that use VPC Service Controls. For more information about VM OS images and how to restrict VM OS images, see [VM OS environment overview](/batch/docs/vm-os-environment-overview).\n\nBefore you begin\n----------------\n\n1. If you haven't used Batch before, review [Get started with Batch](/batch/docs/get-started) and enable Batch by completing the [prerequisites for projects and users](/batch/docs/get-started#prerequisites).\n2.\n\n To get the permissions that\n you need to use VPC Service Controls with Batch,\n\n ask your administrator to grant you the\n following IAM roles:\n\n - To configure a service perimeter: [Access Context Manager Editor](/iam/docs/roles-permissions/accesscontextmanager#accesscontextmanager.policyEditor) (`roles/accesscontextmanager.policyEditor`) on the project\n - To create a job:\n - [Batch Job Editor](/iam/docs/roles-permissions/batch#batch.jobsEditor) (`roles/batch.jobsEditor`) on the project\n - [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`) on the [job's service account](/batch/docs/create-run-job-custom-service-account#create-job-service-account), which by default is the [default Compute Engine service account](/compute/docs/access/service-accounts#default_service_account)\n - To identify the service perimeter for a project or network: [Access Context Manager Reader](/iam/docs/roles-permissions/accesscontextmanager#accesscontextmanager.policyReader) (`roles/accesscontextmanager.policyReader`) on the project\n - To identify the network and subnet for a job: [Compute Network Viewer](/iam/docs/roles-permissions/compute#compute.networkViewer) (`roles/compute.networkViewer`) on the project\n\n\n For more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\n You might also be able to get\n the required permissions through [custom\n roles](/iam/docs/creating-custom-roles) or other [predefined\n roles](/iam/docs/roles-overview#predefined).\n3. If you create a job that runs in a service perimeter, you need to identify the network that you want to use for the job. The network you specify for a job that runs in a service perimeter must meet the following requirements:\n - The network is a [Virtual Private Cloud (VPC) network](/vpc/docs/vpc) that is in the same project as the job or is a [Shared VPC network](/vpc/docs/shared-vpc) that is hosted by or shared with the project for the job.\n - The network includes a [subnetwork (subnet)](/vpc/docs/subnets) in the location where you want to run the job.\n - The network is in the required service perimeter and uses Private Google Access to allow access to the domains for the APIs and services that your job uses. For more information, see [Configure a service perimeter for Batch](#configure-service-perimeter) in this document.\n\n For more information, see [Create\n and manage VPC networks](/vpc/docs/create-modify-vpc-networks).\n\n\u003cbr /\u003e\n\nConfigure a service perimeter for Batch\n---------------------------------------\n\nTo configure a service perimeter for Batch, do the following:\n\n1. Plan the configuration for your service perimeter. For an overview of the\n configuration stages for service perimeters, see VPC Service Controls\n documentation for\n [Service perimeter details and configuration](/vpc-service-controls/docs/service-perimeters).\n\n To use Batch, the service perimeter must meet the following\n requirements:\n - **Restricted services:** To secure Batch within a\n service perimeter, you must include the Google Cloud services that\n are required for your Batch jobs in that perimeter,\n such as the following services:\n\n - **Batch API** (`batch.googleapis.com`)\n - **Cloud Logging API** (`logging.googleapis.com`): Required if you want your jobs to write logs into Cloud Logging. (Recommended)\n - **Container Registry API** (`containerregistry.googleapis.com`): Required if you submit a job that uses any containers with an image from Container Registry.\n - **Artifact Registry API** (`artifactregistry.googleapis.com`): Required if you submit a job that uses any containers with an image from Artifact Registry.\n - **Filestore API** (`file.googleapis.com`): Required if your job uses a [Filestore file share](/batch/docs/create-run-job-storage#use-nfs).\n - **Cloud Storage API** (`storage.googleapis.com`): Required for some jobs that use a [Cloud Storage bucket](/batch/docs/create-run-job-storage#use-bucket). Required if you use an image for your Batch job that does not have the [Batch service agent](/batch/docs/get-started) pre-installed.\n\n To learn how to enable each of these services in your service perimeter, see\n [VPC accessible services](/vpc-service-controls/docs/vpc-accessible-services).\n | **Caution:** For your Batch jobs to be fully protected by the service perimeter, you must specify *all* services that you plan to use.\n\n For each service you include other than Batch, you also\n need to verify that your service perimeter meets the requirements listed\n for that service in the\n [VPC Service Controls supported products and limitations](/vpc-service-controls/docs/supported-products)\n documentation.\n - **VPC networks:** Each Batch job\n requires a VPC network, so your service perimeter must\n include a VPC network that Batch jobs\n can run on. To learn how to configure a VPC network that\n can run your Batch jobs inside a service perimeter, see\n the following documents:\n\n - For an overview of using VPC networks in a service perimeter, see [VPC networks management in service perimeters](/vpc-service-controls/docs/vpc-perimeters-management).\n - To learn how to use Private Google Access with VPC Service Controls to configure access to the Google Cloud services that are required for your Batch jobs, see [Set up private connectivity to Google APIs and services](/vpc-service-controls/docs/set-up-private-connectivity).\n - For more information about the networking requirements for Batch jobs, see [Job networking overview](/batch/docs/networking-overview).\n2. [Create a new service perimeter](/vpc-service-controls/docs/create-service-perimeters)\n or [update an existing service perimeter](/vpc-service-controls/docs/manage-service-perimeters#update)\n to meet these requirements.\n\nCreate a job that runs in a service perimeter\n---------------------------------------------\n\nWhen you create a job that runs in a service perimeter, you must also\nblock external access for all the VMs a job runs on and specify a network and\nsubnet that allow the job to access required APIs.\n\nTo create a job that runs in a service perimeter, follow the steps in the\ndocumentation for\n[Create a job that blocks external access for all VMs](/batch/docs/job-without-external-access)\nand specify a network that meets the\n[network requirements for a job that runs in a service perimeter](#network-requirements).\n\nWhat's next\n-----------\n\n- If you have issues creating or running a job, see [Troubleshooting](/batch/docs/troubleshooting).\n- Learn more about [networking](/batch/docs/networking-overview).\n- Learn more about [creating a job](/batch/docs/create-run-job).\n- Learn how to [view jobs and tasks](/batch/docs/view-jobs-tasks)."]]