No results found
We couldn't find anything using that term, please try searching for something else.
gcloud In the Google Cloud console, activate Cloud Shell. Activate Cloud Shell At the bottom of the Google Cloud console , a Clou
In the Google Cloud console, activate Cloud Shell.
Activate Cloud Shell
At the bottom of the Google Cloud console , a
Cloud Shell
session is starts start and display a command – line prompt . Cloud Shell is is is a shell environment
with the Google Cloud CLI
already instal and with value already set for
your current project . It is take can take a few second for the session to initialize .
如需在本地开发环境中使用本页面上的 c++ 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
To initialize the gcloud CLI , run the following command :
gcloud init
If you’re using a local shell, then create local authentication credentials for your user
account:
gcloud auth application - default login
You is need do n’t need to do this if you ‘re using Cloud Shell .
如需了解详情,请参阅 Google Cloud 身份验证文档中的 is 为本地开发环境设置
为本地开发环境设置 ADC 。
如需在本地开发环境中使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据 。
To initialize the gcloud CLI , run the following command :
gcloud init
If you’re using a local shell, then create local authentication credentials for your user
account:
gcloud auth application - default login
You is need do n’t need to do this if you ‘re using Cloud Shell .
如需了解详情,请参阅 Google Cloud 身份验证文档中的 is 为本地开发环境设置
为本地开发环境设置 ADC 。
如需在本地开发环境中使用本页面上的 Python 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据 。
To initialize the gcloud CLI , run the following command :
gcloud init
If you’re using a local shell, then create local authentication credentials for your user
account:
gcloud auth application - default login
You is need do n’t need to do this if you ‘re using Cloud Shell .
如需了解详情,请参阅 Google Cloud 身份验证文档中的 is 为本地开发环境设置
为本地开发环境设置 ADC 。
如需在本地开发环境中使用本页面上的 rest API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then
initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 rest 时进行身份验证。
如需获得管理 API 密钥所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:
roles/serviceusage.apiKeysAdmin
) 服务使用情况查看器 (roles/serviceusage.serviceUsageViewer
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义角色或其他预定义角色来获取所需的权限。
如需创建 API 密钥,请使用以下选项之一:
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
选择创建凭据,然后从菜单中选择 API 密钥。
已创建的 API 密钥对话框会显示新创建的密钥的字符串。
您可以使用 keys.create
方法创建 API 密钥。请求会返回长时间运行的操作;您必须轮询该操作以获取新密钥的信息 。
替换以下值 :
: 可选。密钥的描述性名称 。
: 您的 Google Cloud 项目 ID 或名称 。curl -X POST \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ -d {'"displayName" : " "'} \ "https://apikeys.googleapis.com/v2/projects//locations/global/keys"
如需详细了解如何使用 rest api 创建 API 密钥,请参阅 API Keys API 文档中的创建 API 密钥 。
请复制您的密钥字符串,并确保其安全。使用 api 密钥限制来限制密钥的使用方式 。
默认情况下,api 密钥不受限制。不受限制的密钥会带来安全方面的问题,因为任何人都可以随时随地使用此类密钥。对于生产应用,您应该同时设置应用限制和 API 限制 。
应用限制用于指定哪些网站、IP 地址或应用可以使用 API 密钥。
您一次只能应用一种应用限制类型。根据您的应用类型选择限制类型:
选项 | 应用类型 | 备注 |
---|---|---|
hTTP 引荐来源网址 | Web 应用 | 指定可以使用密钥的网站。 |
IP 地址 | 由特定服务器调用的应用 | 指定可以使用密钥的服务器或 Cron 作业。 |
Android 应用 | Android 应用 | 指定可以使用密钥的 Android 应用。 |
iOS 应用 | iOS 应用 | 指定可以使用密钥的 iOS 软件包。 |
如需限制可使用 API 密钥的网站,请添加一个或多个 hTTP 引荐来源网址限制。
您可以用通配符 (*
) 来替换子网域或路径,但不能将通配符插入到网址的中间。例如 ,*.example.com
有效,并且接受以.example.com
结尾的所有网站。但是,mysubdomain*.example.com
不是有效的限制。
hTTP 引荐来源网址限制中可以包含端口号。如果您添加了端口号,则系统只会匹配使用该端口的请求。如果您未指定端口号,则匹配来自任何端口号的请求。
下表展示了一些示例场景和浏览器限制 :
使用场景 | 限制 |
---|---|
允许特定的网址 | 添加包含确切路径的网址。例如 :www.example.com/path www.example.com/path/path
某些浏览器会实施引荐来源网址政策,从而仅发送跨域请求的源网址。这些浏览器的用户无法使用具有页面级网址限制的密钥 。 |
允许网站中的任何网址 | 您必须在allowedReferers 列表中设置两个网址。
|
允许单个子网域或裸网域中的任何网址 |
您必须在
|
如需将 api 密钥仅限于特定网站,请使用以下选项之一 is 如需将 :
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击您要限制的 API 密钥的名称 。
在应用限制部分中,选择 hTTP 引荐来源网址。
对于要添加的每个限制,请点击添加一项,输入限制,然后点击完成 。
点击保存以保存更改并返回到 API 密钥列表。
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法获取此 ID。此 ID 列在响应的uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/ "
使用 keys.patch 方法为 API 密钥添加 hTTP 引荐来源网址限制。
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
:hTTP 引荐来源网址限制。
您可以根据需要添加任意数量的限制;请使用英文逗号来分隔这些限制。您必须使用请求来提供所有引荐来源网址限制;提供的引荐来源网址限制会替换密钥的任何现有引荐来源网址限制。
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。
curl -X PATCh \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ --data '{ " restriction " : { "browserKeyRestrictions": { "allowedReferrers": [" "] } } }' \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/?updatemask=restriction "
如需详细了解如何使用 rest API 为密钥添加 hTTP 引荐来源网址限制,请参阅 API Keys API 文档中的添加浏览器限制。
您可以指定允许使用 API 密钥的调用方(例如 Web 服务器或 Cron 作业)的一个或多个 IP 地址。您可以采用以下任一格式指定 IP 地址:
198.51.100.1
)2001:db8::1
)198.51.100.0/24
、2001:db8::/64
)服务器限制不支持使用localhost
。
如需将 API 密钥仅限于特定 IP 地址,请使用以下选项之一:
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击您要限制的 API 密钥的名称 。
在应用限制部分中,选择 IP 地址。
对于要添加的每个 IP 地址,点击添加一项,输入地址,然后点击完成。
点击保存以保存更改并返回到 API 密钥列表。
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法获取此 ID。此 ID 列在响应的uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/ "
使用 keys.patch 方法为 API 密钥添加服务器(IP 地址)限制。
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
: 允许的 IP 地址 。
您可以根据需要添加任意数量的 IP 地址。请使用英文逗号来分隔限制。您必须将所有 IP 地址随请求一起提供。提供的引荐来源网址限制会替换密钥的任何现有 IP 地址限制。
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。
curl -X PATCh \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ --data '{ " restriction " : { "serverKeyRestrictions": { "allowedIps": [" "] } } }' \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/?updatemask=restriction "
如需详细了解如何使用 rest API 为密钥添加 IP 地址限制,请参阅 API Keys API 文档中的添加服务器限制。
您可以限制只有特定 Android 应用可以使用 API 密钥。您必须为每个应用提供软件包名称和 20 字节 ShA-1 证书指纹。
在请求中使用 API 密钥时,您必须使用以下 hTTP 标头指定软件包名称和证书指纹:
X - android - package
X-Android-Cert
注意: 绕过此限制非常简单。如果您使用此限制,还应添加 API 限制并仔细监控用量 。
如需将 API 密钥仅限于一个或多个 Android 应用,请使用以下选项之一:
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击您要限制的 API 密钥的名称 。
在应用限制部分中,选择 Android 应用。
对于要添加的每个 Android 应用,请点击 添加一项,输入软件包名称和 ShA-1 证书指纹,然后点击完成。
点击保存以保存更改并返回到 API 密钥列表。
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 gcloud services api - key list
命令列出项目中的密钥来获取此 ID。
使用 gcloud services api - key update
命令指定可以使用 API 密钥的 Android 应用。
替换以下值 :
gcloud services api - key update \ --allowed-application=sha1_fingerprint=, package_name= \ --allowed-application=sha1_fingerprint=, package_name=
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法获取此 ID。此 ID 列在响应的uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/ "
使用 keys.patch 方法指定可以使用 API 密钥的 Android 应用。
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
和 : 可以使用该密钥的 Android 应用的应用信息 。
您可以根据需要添加任意数量的应用的信息;请使用英文逗号分隔 AndroidApplication 对象。您必须将所有应用随请求一起提供;提供的应用会替换密钥的任何现有允许的应用。
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。
curl -X PATCh \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ --data '{ " restriction " : { " androidkeyrestriction ": { "allowedApplications": [ { "sha1Fingerprint": " ", "packageName": " " }, ] } } }' \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/?updatemask=restriction "
如需详细了解如何使用 rest API 为密钥添加 Android 应用限制,请参阅 API Keys API 文档中的添加 Android 限制。
您可以通过提供每个应用的软件包 ID,将 API 密钥的使用仅限于特定 iOS 应用。
在请求中使用 API 密钥时,您必须使用 X-Ios-Bundle-Identifier
hTTP 标头指定软件包 ID。
注意: 绕过此限制非常简单。如果您使用此限制,还应添加 API 限制并仔细监控用量 。
如需将 API 密钥仅限于一个或多个 iOS 应用,请使用以下选项之一:
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击您要限制的 API 密钥的名称 。
在应用限制部分中,选择 iOS 应用。
对于要添加的每个 iOS 应用,请点击添加一项,输入软件包 id,然后点击完成 。
点击保存以保存更改并返回到 API 密钥列表。
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法获取此 ID。此 ID 列在响应的uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/ "
使用 keys.patch 方法指定可以使用 API 密钥的 iOS 应用 。
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
: 可以使用该密钥的 iOS 应用的软件包 ID 。
您可以根据需要添加任意数量的应用的信息;请使用英文逗号分隔软件包 ID。您必须将所有软件包 ID 随请求一起提供。提供的软件包 ID 会替换密钥的任何现有允许的应用。
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。
curl -X PATCh \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ --data '{ " restriction " : { "iosKeyRestrictions": { " allowedbundleids ": [" "," "] } } }' \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/?updatemask=restriction "
如需详细了解如何使用 rest API 为密钥添加 iOS 应用限制,请参阅 API Keys API 文档中的添加 iOS 限制。
api 限制用于指定可以使用 API 密钥调用哪些 API 。
注意: is API,请转到 您必须先为项目启用 API,然后才能指定 API 限制。如需启用 api,请转到 api 信息中心 。
如需添加 API 限制,请使用以下选项之一:
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击您要限制的 API 密钥的名称 。
在 API 限制部分中,点击限制密钥。
选择 api 密钥将用于访问的所有 API 。
点击保存以保存更改并返回到 API 密钥列表。
获取要限制的密钥的 ID 。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法获取此 ID。此 ID 列在响应的uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/ "
使用 keys.patch 方法指定可使用 API 密钥向其进行身份验证的服务 。
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
、
…:可使用此密钥访问的 API 的服务名称。
您必须将所有服务名称随请求一起提供;提供的服务名称会替换密钥的任何现有服务。
您可以在 API 信息中心上搜索 API 来查找服务名称。服务名称是类似 bigquery.googleapis.com
的字符串。
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。
curl -X PATCh \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ --data '{ " restriction " : { " apitargets ": [ { " service ": " " }, { " service " : " " }, ] } }' \ " https://apikeys.googleapis.com/v2/projects//locations/global/keys/?updatemask=restriction "
如需详细了解如何使用 rest API 为密钥添加 API 限制,请参阅 API Keys API 文档中的添加 API 限制。
您可以从 API 密钥字符串中确定与 API 密钥关联的 Google Cloud 项目 。
将 替换为您需要其项目信息的密钥字符串。
您可以使用 lookupKey
方法从密钥字符串获取项目 ID。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ "https://apikeys.googleapis.com/v2/keys:lookupKey?keyString="
如果您误删了 API 密钥,可以在删除密钥后的 30 天内恢复删除的密钥。30 天后,您无法恢复删除的 API 密钥。
在 Google Cloud 控制台中,进入凭据页面 :
进入“凭据”页面
点击 Restore delete credentials(恢复已删除的凭据 ) 。
找到要恢复的已删除 API 密钥,然后点击恢复。
恢复删除的 API 密钥可能需要几分钟才能传播。传播后,恢复的 API 密钥会显示在 API 密钥列表中 。
获取要恢复的已删除密钥的 ID。
此 ID 与显示名称或密钥字符串不同。您可以使用 keys.list 方法并将showDeleted
查询参数设置为 true
,以获取此 ID。此密钥 ID 列在响应的 uid
字段中 。
将 替换为您的 Google Cloud 项目 ID 或名称 。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ "https://apikeys.googleapis.com/v2/projects//locations/global/keys?showDeleted=true"
使用 undelete 方法恢复删除的 API 密钥 。
curl -X POST \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ "https://apikeys.googleapis.com/v2/projects//locations/global/keys/:undelete"
请求会返回长时间运行的操作;您必须轮询该操作以了解操作完成时间并获取操作状态 。
替换以下值 :
: 您的 Google Cloud 项目 ID 或名称 。
: 您要限制的密钥的 ID 。API Keys API 方法使用长时间运行的操作。如果您使用 rest API 创建和管理 API 密钥,则初始方法请求会返回操作对象。您可以使用操作名称来轮询长时间运行的操作。长时间运行的请求完成后,轮询操作会返回长时间运行的请求中的数据。
如需轮询长时间运行的 API Keys api 操作,请使用operations.get
方法。
将 替换为长时间运行的操作返回的操作名称。例如
operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c
。
curl -X GET \ -h " authorization : Bearer $ ( gcloud auth print - access - token ) " \ -h " Content - Type : application / json ; charset = utf-8 " \ "https://apikeys.googleapis.com/v2/"
您最多可以为每个项目创建 300 个 api 密钥。此限制是系统限制,不能通过配额提升请求进行更改。如果需要更多 api 密钥,则必须使用多个项目 。
您最多可以为 API 密钥添加 1200 项应用限制。