Cloud Deployment Manager ne sera plus pris en charge à partir du 31 décembre 2025. Si vous utilisez actuellement Deployment Manager, veuillez migrer vers Infrastructure Manager ou vers une autre technologie de déploiement d'ici le 31 décembre 2025 pour que vos services continuent de fonctionner sans interruption.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour contrôler l'accès à vos ressources dans Google Cloud, utilisez la gestion de l'authentification et des accès (IAM). IAM vous permet de définir des autorisations pour contrôler qui a accès à quelles ressources dans votre projet. Pour une introduction à IAM, consultez la présentation d'IAM.
Lorsque vous déployez des ressources, vous pouvez également contrôler qui y a accès en définissant à l'avance une stratégie IAM dans la configuration. Par exemple, si vous envisagez de créer des sujets Pub/Sub pouvant être gérées par des utilisateurs spécifiques, vous pouvez l'indiquer à Deployment Manager en spécifiant une stratégie IAM dans votre configuration. Lorsque vous créez ou mettez à jour votre déploiement, Deployment Manager appelle l'API IAM pour définir les autorisations appropriées sur la ressource.
Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
Utiliser des stratégies IAM dans Deployment Manager
Une stratégie IAM est un ensemble d'utilisateurs et leurs rôles. Vous définissez une stratégie IAM au niveau du projet, en utilisant des rôles de base ou prédéfinis. Certains services, tels que Cloud Pub/Sub, permettent également la définition de stratégies IAM au niveau des ressources.
Si un service n'est pas compatible avec la définition de stratégies IAM au niveau des ressources, Deployment Manager renvoie une erreur de type NO_METHOD_TO_UPDATE_ACCESS_CONTROL.
Pour connaître la liste des rôles disponibles et les ressources auxquelles vous pouvez les appliquer, consultez la page Comprendre les rôles.
Accorder l'autorisation à Deployment Manager de définir des stratégies IAM
Deployment Manager utilise le compte de service des API Google pour appeler d'autres API Google et gérer les ressources Google Cloud en votre nom. Vous devez attribuer le rôle de base roles/owner au compte de service des API Google de votre projet afin qu'il puisse appliquer les stratégies IAM définies dans vos configurations.
Accédez à la page IAM dans la console Google Cloud de votre projet.
Attribuez les rôles roles/owner au compte de service API :
Console
Toujours dans la console Google Cloud , développez le menu déroulant Rôles du compte de service des API Google, puis sélectionnez Projet > Propriétaire.
Cliquez sur Enregistrer pour enregistrer les modifications.
gcloud
Avec Google Cloud CLI, ajoutez une liaison à la stratégie IAM pour le projet :
Le corps de la requête doit contenir la liste des liaisons que vous souhaitez appliquer à ce projet. Le rôle roles/owner doit faire partie de la liaison. Exemple :
Ensuite, pour définir une stratégie IAM dans votre configuration ou votre modèle, procédez comme suit :
Ajoutez la section accessControl à la configuration de premier niveau pour chaque ressource à laquelle vous souhaitez appliquer des stratégies de contrôle d'accès.
Spécifiez la stratégie gcpIamPolicy souhaitée pour la ressource. Chaque stratégie IAM peut contenir plusieurs liaisons. Chaque liaison associe une liste d'utilisateurs à un rôle.
Pour en savoir plus sur les stratégies IAM, consultez la documentation IAM.
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/03 (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/03 (UTC)."],[[["\u003cp\u003eIAM in Google Cloud controls who has what access to which resources within a project.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager can set IAM policies preemptively during resource deployment, specifying user access rights.\u003c/p\u003e\n"],["\u003cp\u003eThe Google APIs service account, with the \u003ccode\u003eroles/owner\u003c/code\u003e role, is necessary for Deployment Manager to apply IAM policies.\u003c/p\u003e\n"],["\u003cp\u003eIAM policies are set using the \u003ccode\u003eaccessControl\u003c/code\u003e section within resource configurations, binding users or service accounts to specific roles.\u003c/p\u003e\n"],["\u003cp\u003eSetting up the \u003ccode\u003eaccessControl\u003c/code\u003e section in Deployment Manager's resource configuration allows you to add bindings that assign specific roles to different users.\u003c/p\u003e\n"]]],[],null,["# Setting access control in a configuration\n\nTo control access to your resources in Google Cloud, you use\n[Identity and Access Management (IAM)](/iam). With IAM, you set permissions\nspecifying **who** has **what** kind of access to **which** resources in your\nproject. For an introduction to IAM, see the [IAM Overview](/iam/docs/overview).\n\nWhen you deploy resources, you can also control who has access to these\nresources by setting an IAM policy preemptively in your configuration. For\nexample, if you plan to create Pub/Sub Topics that can be managed by specific\nusers, you can express this to Deployment Manager by specifying an\nIAM policy in your configuration. When you create or update your deployment,\nDeployment Manager calls the IAM API to set the appropriate permissions on\nthe resource.\n\nBefore you begin\n----------------\n\n- If you want to use the command-line examples in this guide, install the [\\`gcloud\\` command-line tool](/sdk).\n- If you want to use the API examples in this guide, set up [API access](/deployment-manager/docs/reference/latest).\n\nUsing IAM policies in Deployment Manager\n----------------------------------------\n\nAn IAM policy is a collection of users and their roles. You set an IAM policy at\nthe project level, using either basic or predefined roles. Some services,\nsuch as Cloud Pub/Sub, also support setting IAM policies at the resource level.\n\nIf a service does not support setting IAM policies at the resource level,\nDeployment Manager returns a `NO_METHOD_TO_UPDATE_ACCESS_CONTROL` error.\n\nFor a list of roles and the resources you can apply them to, see [Understanding\nRoles](/iam/docs/understanding-roles).\n\nGranting Deployment Manager permission to set IAM policies\n----------------------------------------------------------\n\nDeployment Manager uses the\n[Google APIs Service Account](/deployment-manager/docs/access-control#access_control_for_deployment_manager)\nto call other Google APIs and manage Google Cloud resources on your\nbehalf. You must grant your project's Google APIs service account the basic\n`roles/owner` role so it can apply the IAM policies you define in your\nconfigurations.\n\n1. Go to the IAM page in the Google Cloud console of your project. [Go to the IAM page](https://console.cloud.google.com/iam-admin/iam/)\n\n2. If prompted, select your project from the list.\n3. Look for the **Google APIs service account**, which has the email\n address in the following format:\n\n [PROJECT_NUMBER]@cloudservices.gserviceaccount.com\n\n | **Note:** This email address requires the project number, not the project ID. To learn how to identify the project number, see [Identifying projects](/compute/docs/projects#projectids).\n4. Grant the APIs service account the `roles/owner` roles:\n\n\n ### Console\n\n 1. While still in the Google Cloud console, expand the **Roles** dropdown for the Google APIs service account and select **Project \\\u003e Owner**.\n 2. Click **Save** to save your changes.\n\n ### gcloud\n\n With the Google Cloud CLI, add a binding to the IAM policy for the project: \n\n ```\n gcloud projects add-iam-policy-binding [PROJECT_ID] \\\n --member serviceAccount:[SERVICE_ACCOUNT_EMAIL] --role roles/owner\n ```\n\n where:\n - `[PROJECT_ID]` is the ID of the project.\n - `[SERVICE_ACCOUNT_EMAIL]` is the email of the service account.\n\n For example: \n\n ```\n gcloud projects add-iam-policy-binding database-images \\\n --member serviceAccount:123456789012@cloudservices.gserviceaccount.com \\\n --role roles/owner\n ```\n\n ### API\n\n In the API, make a `POST` request to the following URL, where\n `[PROJECT_ID]` is the ID of the project: \n\n POST https://cloudresourcemanager.googleapis.com/v1/projects/$[PROJECT_ID]:setIamPolicy\n\n The request body should contain the list of bindings you want to apply\n to this project. The `roles/owner` role should be part\n of the binding. For example: \n\n {\n \"policy\": {\n \"version\": \"0\",\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:example@gmail.com\",\n \"serviceAccount:123456789012@cloudservices.gserviceaccount.com\"\n ]\n }\n ]\n }\n }\n\n \u003cbr /\u003e\n\nSetting an IAM policy in your configuration\n-------------------------------------------\n\nNext, in your configuration or template, you can set an IAM policy by following\nthese instructions:\n\n1. Add the `accessControl` section to the top-level configuration for each\n resource for which you want to apply access control policies.\n\n2. Specify the desired `gcpIamPolicy` for the resource. Each IAM policy can\n contain a list of bindings. Each binding binds a list of members to a role.\n\n | **Note:** If you use the `accessControl` section to grant roles to accounts, including service accounts, we recommend that you use Deployment Manager to manage roles for that account. If you change the account's roles outside Deployment Manager and then update the original deployment, the roles from the deployment configuration are applied to the account.\n\n If you're using `accessControl` to manage service accounts,\n [learn more about managing service accounts](/iam/docs/creating-managing-service-accounts).\n\nFor example, the following `accessControl` section adds bindings that grant\nthese roles to users:\n\n resources:\n - name: a-new-pubsub-topic\n type: pubsub.v1.topic\n properties:\n ...\n\n accessControl:\n gcpIamPolicy:\n bindings:\n - role: roles/pubsub.editor\n members:\n - \"user:alice@example.com\"\n - role: roles/pubsub.publisher\n members:\n - \"user:jane@example.com\"\n - \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n\nFor more information on IAM policies, read the\n[IAM documentation](/iam/docs/granting-changing-revoking-access)."]]