Contrôler l'accès à une API fait partie intégrante du développement. Par exemple, lorsque vous testez l'API, vous pouvez être amené à automatiser le redéploiement des configurations Cloud Endpoints mises à jour à l'aide d'un compte de service doté de l'autorisation nécessaire. Par défaut, seul le propriétaire du projet peut gérer l'accès à une API. Cette page explique comment accorder et révoquer l'accès à l'API à l'aide de la consoleGoogle Cloud ou de Google Cloud CLI.
Cloud Endpoints utilise les rôles Identity and Access Management pour accorder et révoquer l'accès au niveau de l'API. Vous pouvez accorder et révoquer l'accès d'un utilisateur, d'un compte de service ou d'un groupe Google.
Les groupes Google constituent un moyen pratique d'accorder ou de révoquer l'accès d'un ensemble d'utilisateurs. Vous pouvez accorder ou révoquer l'accès pour un groupe entier à la fois, plutôt que d'effectuer cette action pour chaque compte de service ou utilisateur. Vous pouvez également ajouter et supprimer facilement des membres d'un groupe Google, au lieu d'accorder ou de révoquer le rôle IAM de chaque membre.
Accorder l'accès
ConsoleGoogle Cloud
Dans la console Google Cloud , accédez à la page Endpoints > Services (Points de terminaison > Services) de votre projet.
Si vous avez plusieurs API, cliquez sur le nom de l'API.
Si le panneau latéral Autorisations n'est pas ouvert, cliquez sur addAutorisations.
Dans la zone Ajouter des membres, saisissez l'adresse e-mail d'un utilisateur, d'un compte de service ou d'un groupe Google.
Dans la liste déroulante Sélectionner un rôle, cliquez sur Service Management, puis sélectionnez l'un des rôles suivants :
Client du service : ce rôle contient les autorisations nécessaires à un utilisateur non membre du projet pour afficher et activer l'API dans son propre projet. Si vous avez créé un portail pour votre API, ce rôle permet à ses utilisateurs d'accéder à ce portail.
Contrôleur du service : ce rôle contient les autorisations permettant d'appeler les méthodes check et
report dans l'API Service Infrastructurependant l'exécution.
Éditeur pour la configuration de service : ce rôle contient les autorisations minimales requises par Service Management pour déployer une configuration Endpoints sur un service existant.
Administrateur Service Management : ce rôle contient les autorisations des rôles "Éditeur pour la configuration de service", "Client du service" et "Contrôleur du service", ainsi que les autorisations requises pour accorder l'accès à cette API à l'aide de gcloud ou des méthodes de programmation décrites sur la page Accorder, modifier et révoquer les accès à des ressources.
Pour en savoir plus sur ce rôle, consultez la page Contrôle des accès à l'API Service Management. La console Google Cloud permet de sélectionner d'autres rôles. Toutefois, ces derniers ne sont pas utiles pour la gestion de l'API.
Cliquez sur Ajouter pour ajouter le membre au rôle IAM spécifié.
Répétez les étapes d'ajout de membres et de sélection du rôle autant que nécessaire.
Les rôles Service Management ne permettent pas aux utilisateurs d'accéder à la page Endpoints > Services de la console Google Cloud . Pour autoriser les utilisateurs à accéder à la page Endpoints > Services, vous devez leur attribuer le rôle de Lecteur de projet ou un rôle supérieur pour le projet. Pour en savoir plus, consultez la page Accorder, modifier et révoquer les accès à des ressources.
gcloud
Ouvrez Cloud Shell ou, si vous avez installé la Google Cloud CLI, ouvrez une fenêtre de terminal.
Saisissez la commande gcloud applicable :
Pour accorder l'accès à un utilisateur, exécutez la commande suivante :
Pour le rôle, spécifiez l'un des rôles IAM suivants :
roles/servicemanagement.configEditor : ce rôle contient les autorisations minimales requises par Service Management pour déployer une configuration Endpoints sur un service existant.
roles/servicemanagement.admin : ce rôle contient les autorisations des rôles roles/servicemanagement.configEditor, roles/servicemanagement.serviceConsumer et roles/servicemanagement.serviceController, ainsi que les autorisations requises pour accorder l'accès à l'API à l'aide de gcloud ou des méthodes de programmation décrites sur la page Accorder, modifier et révoquer les accès à des ressources.
Les rôles Service Management ne permettent pas aux utilisateurs d'accéder à la page Endpoints > Services de la console Google Cloud . Pour autoriser les utilisateurs à accéder à la page Endpoints > Services, vous devez leur attribuer le rôle de Lecteur de projet ou un rôle supérieur pour le projet. Pour en savoir plus, consultez la page Accorder, modifier et révoquer les accès à des ressources.
Révoquer l'accès
Pour révoquer l'accès à l'API, supprimez le rôle IAM précédemment attribué à un membre.
ConsoleGoogle Cloud
Dans la console Google Cloud , accédez à la page Endpoints > Services de votre projet.
Si vous avez plusieurs API, cliquez sur le nom de l'API.
Si le panneau latéral Autorisations n'est pas affiché, cliquez sur add Autorisations.
Recherchez le membre dont vous souhaitez révoquer l'accès. Vous pouvez cliquer sur la carte Rôle applicable pour afficher une liste des membres, ou saisir un nom ou un rôle dans la zone Rechercher des membres.
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/04 (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/04 (UTC)."],[[["\u003cp\u003eThis document details how to manage API access using Google Cloud's Identity and Access Management (IAM) roles for users, service accounts, or Google Groups.\u003c/p\u003e\n"],["\u003cp\u003eAPI access can be granted through the Google Cloud console by navigating to the Endpoints Services page and selecting from the Service Management roles available, such as Service Consumer, Service Controller, Service Config Editor, and Service Management Administrator.\u003c/p\u003e\n"],["\u003cp\u003eAccess can also be granted or revoked using the \u003ccode\u003egcloud\u003c/code\u003e CLI by employing the \u003ccode\u003egcloud endpoints services add-iam-policy-binding\u003c/code\u003e and \u003ccode\u003egcloud endpoints services remove-iam-policy-binding\u003c/code\u003e commands, respectively.\u003c/p\u003e\n"],["\u003cp\u003eGranting Service Management roles alone does not allow users to access the Endpoints > Services page; for this, users need the Project Viewer role or higher.\u003c/p\u003e\n"],["\u003cp\u003eRevoking API access involves removing the assigned IAM role from the member either through the Google Cloud console or by utilizing \u003ccode\u003egcloud\u003c/code\u003e CLI commands, effectively removing their permissions.\u003c/p\u003e\n"]]],[],null,["# Granting and revoking access to the API\n\nOpenAPI \\| [gRPC](/endpoints/docs/grpc/control-api-access \"View this page for the Cloud Endpoints gRPC docs\")\n\n\u003cbr /\u003e\n\nControlling who has access to an API is an integral part of development. For\nexample, as you test your API, you might want to automate redeploying updated\nCloud Endpoints configurations by using a service account that has the\npermission to do so. By default, only the project owner can manage access to an\nAPI. This page shows you how to grant and revoke access to your API by using the\nGoogle Cloud console or the Google Cloud CLI.\n\nEndpoints uses\n[Identity and Access Management](/iam/docs/overview)\nroles to grant and revoke access at the API level. You can grant and revoke\naccess to a user, service account, or to a\n[Google Group](https://support.google.com/groups/answer/2464926).\n\nGoogle Groups are a convenient way to grant or revoke access to a collection of\nusers. You can grant or revoke access for a whole group at once, instead of\ngranting or revoking access one at a time for individual users or service\naccounts. You can also easily add members to and remove members from a\nGoogle Group instead of granting or revoking the IAM role for\neach member.\n\nGranting access\n---------------\n\n### Google Cloud console\n\n1. In the Google Cloud console, go to the **Endpoints \\\u003e Services** page for your project.\n\n [Go to the Endpoints Services page](https://console.cloud.google.com/endpoints)\n2. If you have more than one API, click the name of the API.\n3. If the **Permissions** side panel isn't open, click **addPermissions**.\n4. In the **Add members** box, enter the email address of a user, service account, or Google Group.\n5. In the **Select a role** drop-down, click **Service Management** , and select one of the following roles:\n - **Service Consumer:** This role contains the permissions for a non-project member to view and enable the API in their own project. If you have created a [portal](/endpoints/docs/openapi/dev-portal-overview) for your API, this role lets your API users access the portal.\n - **Service Controller:** This role contains the permissions to make calls to the `check` and `\n report` methods in the [Service Infrastructure](/service-infrastructure/docs/checking-status) API during runtime.\n - **Service Config Editor:** This role contains the minimum permissions that Service Management requires to deploy an Endpoints configuration to an existing service.\n - **Service Management Administrator:** This role contains the permissions in the Service Config Editor, Service Consumer, and Service Controller roles, plus the permissions required to grant access to this API by using `gcloud` or the programmatic methods described in [Granting, changing, and revoking access to resources](/iam/docs/granting-changing-revoking-access).\n\n\n See the [Service Management API access control](/service-infrastructure/docs/service-management/access-control#roles)\n topic for information about this role. Although the Google Cloud console allows you to select other roles,\n those roles aren't useful for managing your API.\n6. To add the member to the specified IAM role, click **Add**.\n7. Repeat adding members and selecting the role, as needed.\n8. The Service Management roles don't allow users to access the **Endpoints** \\\u003e **Services** page in the Google Cloud console. If you want users to be able access the **Endpoints** \\\u003e **Services** page, you must grant them the **Project Viewer** role or a higher role on the project. See [Granting, changing,\n and revoking access to resources](/iam/docs/granting-changing-revoking-access) for details.\n\n### gcloud\n\n1. Open Cloud Shell, or if you have the Google Cloud CLI installed, open a terminal window.\n2. Enter the applicable `gcloud` command:\n - If you are granting access to a user, run the following: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \\\n --member='user:[EMAIL-ADDRESS]' \\\n --role='[ROLE]'\n ```\n\n For the role, specify one of the following IAM roles:\n - `roles/servicemanagement.configEditor`: This role contains the minimum permissions that Service Management requires to deploy an Endpoints configuration to an existing service.\n - `roles/servicemanagement.admin`: This role contains the permissions in `roles/servicemanagement.configEditor`, `roles/servicemanagement.serviceConsumer`, and `roles/servicemanagement.serviceController`, plus the permissions required to grant access to this API by using `gcloud` or the programmatic methods described in [Granting,\n changing, and revoking access to resources](/iam/docs/granting-changing-revoking-access).\n\n \u003cbr /\u003e\n\n For example: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding example-service-name \\\n --member='user:example-user@gmail.com' \\\n --role='roles/servicemanagement.admin'\n ```\n\n \u003cbr /\u003e\n\n - If you are granting access to a service account, run the following: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \\\n --member='serviceAccount:[EMAIL-ADDRESS]' \\\n --role='[ROLE]'\n ```\n\n For example: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding example-service-name \\\n --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \\\n --role='roles/servicemanagement.configEditor'\n ```\n\n \u003cbr /\u003e\n\n - If you are granting access to a Google Group, run the following: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \\\n --member='group:[GROUP-NAME]@googlegroups.com' \\\n --role='[ROLE]'\n ```\n\n For example: \n\n ```transact-sql\n gcloud endpoints services add-iam-policy-binding example-service-name \\\n --member='group:example-group@googlegroups.com' \\\n --role='roles/servicemanagement.configEditor'\n ```\n\n \u003cbr /\u003e\n\n3. The Service Management roles don't allow users to access the **Endpoints** \\\u003e **Services** page in the Google Cloud console. If you want users to be able access the **Endpoints** \\\u003e **Services** page, you must grant them the **Project Viewer** role or a higher role on the project. See [Granting, changing,\n and revoking access to resources](/iam/docs/granting-changing-revoking-access) for details.\n\nRevoking access\n---------------\n\nTo revoke access to your API, remove the IAM role from the member\nwho previously had the role. \n\n### Google Cloud console\n\n1. In the Google Cloud console, go to the **Endpoints** \\\u003e **Services** page for your project.\n\n [Go to the Endpoints Services page](https://console.cloud.google.com/endpoints)\n2. If you have more than one API, click the name of the API.\n3. If the **Permissions** side panel isn't open, click **addPermissions**.\n4. Locate the member for whom you want to revoke access. You can either click the applicable **Role** card to see a list of members, or you can enter a name or role in the **Search members** box.\n5. Click **Delete** delete.\n6. If you also want to revoke a user's access to your Google Cloud project, see [Granting,\n changing, and revoking access to resources](/iam/docs/granting-changing-revoking-access) for details.\n\n### gcloud\n\n1. Open Cloud Shell, or, if you have the gcloud CLI installed, open a terminal window.\n2. Enter the applicable `gcloud` command:\n - If you are revoking access for a user, run the following: \n\n ```text\n gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \\\n --member='user:[EMAIL-ADDRESS]' \\\n --role='[ROLE-NAME]'\n ```\n\n For example: \n\n ```transact-sql\n gcloud endpoints services remove-iam-policy-binding example-service-name \\\n --member='user:example-user@gmail.com' \\\n --role='roles/editor'\n ```\n - If you are revoking access for a service account, run the following: \n\n ```text\n gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \\\n --member='serviceAccount:[EMAIL-ADDRESS]' \\\n --role='[ROLE-NAME]'\n ```\n\n For example: \n\n ```transact-sql\n gcloud endpoints services remove-iam-policy-binding example-service-name \\\n --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \\\n --role='roles/servicemanagement.configEditor'\n ```\n - If you are revoking access for a Google Group, run the following: \n\n ```transact-sql\n gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \\\n --member='group:[GROUP-NAME]@googlegroups.com' \\\n --role='[ROLE-NAME]'\n ```\n\n For example: \n\n ```transact-sql\n gcloud endpoints services remove-iam-policy-binding example-service-name \\\n --member='group:example-group@googlegroups.com' \\\n --role='roles/viewer'\n ```\n3. If you also want to revoke a user's access to your Google Cloud project, see [Granting,\n changing, and revoking access to resources](/iam/docs/granting-changing-revoking-access) for details.\n\nWhat's next\n-----------\n\nLearn about:\n\n- [Creating a service account](/iam/docs/creating-managing-service-accounts#creating_a_service_account)\n- [`gcloud` commands](/sdk/gcloud/reference) referenced on this page."]]