API 密钥与其创建时所在的 Google Cloud 项目相关联。如果您的 API 需要 API 密钥,则您必须向您的 API 用户提供密钥(该密钥源自您在其中创建 Cloud Endpoints 服务的项目),或者让用户在各自的 Google Cloud项目中启用您的 API 并创建 API 密钥。本页面介绍如何授予用户启用 API 所需的权限。
授予访问权限
Endpoints 使用 Identity and Access Management (IAM)Service Consumer 角色,令非Google Cloud 项目成员能够在各自的 Google Cloud项目中启用您的 API。本部分介绍如何使用Google Cloud 控制台或 Google Cloud CLI 授予访问权限。
Google Cloud 控制台
在 Google Cloud 控制台中,前往项目的 Endpoints > Services 页面。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-04。"],[[["\u003cp\u003eAPI access is granted by assigning the \u003cstrong\u003eService Consumer\u003c/strong\u003e role from Identity and Access Management (IAM) to users or Google Groups, allowing them to enable the API in their own Google Cloud projects.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Cloud console or the gcloud command-line tool can be used to add a user or group to the \u003cstrong\u003eService Consumer\u003c/strong\u003e role, which then allows them to access an API.\u003c/p\u003e\n"],["\u003cp\u003eAccess to an API can be revoked by removing the \u003cstrong\u003eService Consumer\u003c/strong\u003e role from a user or group using either the Google Cloud console or gcloud commands, but it does not stop users who have already enabled the API from calling it.\u003c/p\u003e\n"],["\u003cp\u003eOnce access is granted, users should be informed and directed on how to enable the API in their Google Cloud projects.\u003c/p\u003e\n"],["\u003cp\u003eAPI Keys are linked to a specific Google cloud project, where the API was created, and can be shared for API access, or users can create their own in their respective projects.\u003c/p\u003e\n"]]],[],null,["# Controlling who can enable your API\n\n\u003cbr /\u003e\n\nAPI keys are associated with the Google Cloud project in which\nthey have been created. If your API requires an API key, you either have to give\nyour API users a key from the project that you created the Cloud Endpoints\nservice in, or you can let users enable your API in their own Google Cloud\nproject and create an API key. This page shows you how to grant the permission\nthat users need to enable your API.\n\nGranting access\n---------------\n\nEndpoints uses the\n[Identity and Access Management (IAM)](/iam/docs)\n**Service Consumer** role to allow someone who isn't a member of your\nGoogle Cloud project to enable your API in their own Google Cloud\nproject. This section shows you how to grant access using the\nGoogle Cloud console or the Google Cloud CLI. \n\n### Google Cloud console\n\n1. In the Google Cloud console, go to the **Endpoints** \\\u003e **Services** page for your project.\n\n\n [Go to the Endpoints Services page](https://console.cloud.google.com/endpoints)\n\n \u003cbr /\u003e\n\n2. If you have more than one API, click the name of the API that you want to grant access to.\n3. If the **Permissions** side panel isn't open, click **Show Permissions Panel**.\n4. In the **Add Principal** field, enter the email address of the person or [Google Group](https://support.google.com/groups/answer/2464926) that you want to grant access to.\n5. In the **Select a role** drop-down menu, select **Service Management** \\\u003e **Service Consumer**.\n6. Click **Save**.\n7. Repeat adding members and selecting the role, as needed.\n8. Contact the users or groups that you added and let them know they can enable the API in their Google Cloud projects. See [Enable an API in your Google Cloud\n project](/endpoints/docs/frameworks/enable-api) for information on how to enable a service in APIs \\& services.\n\n### gcloud\n\n1. Open Cloud Shell, or if you have the Google Cloud CLI installed, open a terminal window.\n - If you are granting access to an individual user:\n\n - If you are granting access to a Google Group:\n\n2. Contact the users or groups that you added and let them know they can enable the API in their Google Cloud projects. See [Enable an API in your Google Cloud\n project](/endpoints/docs/frameworks/enable-api) for information on how to enable a service in APIs \\& services.\n\nRevoking access\n---------------\n\nYou revoke access to your API by removing the **Service Consumer** role from a\nuser or group that previously had the role. After you revoke someone's access,\nthey won't be able to enable your API.\n| **Note:** If someone has already enabled your API, revoking access doesn't prevent them from calling your API. Although there is no easy way to to prevent these calls, you can add logic to your code that disallows calls from a specific caller's API key.\n\nThis section shows you how to revoke access using the Google Cloud console or\nthe Google Cloud CLI. \n\n### Google Cloud console\n\n1. In the Google Cloud console, go to the **Endpoints** \\\u003e **Services** page for your Google Cloud project.\n\n\n [Go to the Endpoints Services page](https://console.cloud.google.com/endpoints)\n\n \u003cbr /\u003e\n\n2. If you have more than one API, click the name of the API that you want to revoke access to.\n3. If the **Permissions** side panel isn't open, click **addPermissions**.\n4. Click the **Role** card that the member belongs to.\n5. Click **Delete** delete.\n\n### gcloud\n\n- If you are revoking access for an individual user:\n\n- If you are revoking access for a Google Group:\n\nWhat's next\n-----------\n\n- Tell users how to [enable your API in their Google Cloud project](/endpoints/docs/frameworks/enable-api).\n\n\u003c!-- --\u003e\n\n- Learn more about sharing APIs protected by API keys.\n\n - [Java: Sharing APIs protected by API key](/endpoints/docs/frameworks/java/restricting-api-access-with-api-keys-frameworks#sharing_apis_protected_by_api_key)\n - [Python: Sharing APIs protected by API key](/endpoints/docs/frameworks/java/restricting-api-access-with-api-keys-frameworks#sharing_apis_protected_by_api_key)\n\n\u003c!-- --\u003e\n\n- Create a [Cloud Endpoints Portal](/endpoints/docs/frameworks/dev-portal-overview) for your users."]]