Google信任设备

添加或移除受信任的计算机

如果您不想在每次登录 Google 帐号时都输入两步验证码或使用安全密钥,则可将自己的计算机或移动设备标记为受信任的计算机或设备。使用受信任的计算机和设备时,您便不必在每次登录时都输入验证码。

添加受信任的计算机和设备

  1. 登录您信任的计算机或设备。
  2. 当您输入验证码时,请选中在此计算机上不再询问

系统会要求您在可信设备上进行两步验证

即使您已选中“在此计算机上不再询问”旁边的复选框,系统仍可能会提示您通过两步验证进行登录。这通常是因为您的浏览器(例如,Chrome 或 Firefox)未启用 Cookie,或者您已将浏览器设置为每隔一段时间就删除一次 Cookie。

如果您不想在每次登录时都输入两步验证码或使用安全密钥,请尝试执行以下步骤:

  1. 修改浏览器的 Cookie 设置。 您可以将浏览器设置为保存 Cookie,或将 Google 帐号的 Cookie 设置为例外情况(只需添加 [*.]google.com 即可)。请选择您的浏览器,详细了解如何修改相应设置:
    • Google Chrome
    • Mozilla FireFox
    • Microsoft Internet Explorer
  2. 关闭无痕浏览模式。无痕式窗口无法使用您计算机上其他浏览器会话中的 Cookie。要登录,请打开一个普通窗口。
  3. 在您使用的每个浏览器或每台计算机上都选中“在此计算机上不再询问”。 如果您使用不同的浏览器或计算机登录,请务必在每台计算机上选中此复选框,并在每个浏览器上调整 Cookie 设置。

从受信任列表中移除计算机和设备

  1. 打开您的 Google 帐号。您可能需要登录。
  2. 在“安全性”下方,选择登录 Google
  3. 选择两步验证
  4. 在“您信任的设备”下,选择撤消全部

添加或移除受信任的计算机

如果您不想在每次登录 Google 帐号时都输入两步验证码或使用安全密钥,则可将自己的计算机或移动设备标记为受信任的计算机或设备。使用受信任的计算机和设备时,您便不必在每次登录时都输入验证码。

添加受信任的计算机和设备

  1. 登录您信任的计算机或设备。
  2. 当您输入验证码时,请选中在此计算机上不再询问

系统要求您在受信任的设备上进行两步验证

即使您已在登录时选中“在此计算机上不再询问”旁边的复选框,系统仍可能会多次提示您输入用户名、密码和验证码。这通常是因为您的浏览器(例如,Chrome 或 Firefox)未启用 Cookie,或者您已将浏览器设置为每隔一段时间就删除一次 Cookie。

如果您不想在每次登录时都输入两步验证码或使用安全密钥,请尝试执行以下步骤:

  1. 修改浏览器的 Cookie 设置。您可以将浏览器设置为保存 Cookie,或将 Google 帐号的 Cookie 设置为例外情况(只需添加 [*.]google.com 即可)。请在下方选择您所用的浏览器,详细了解如何修改相应设置。
    • Google Chrome
    • Mozilla FireFox
    • Microsoft Internet Explorer
  2. 关闭无痕模式。 无痕式窗口无法使用您计算机上其他浏览器会话中的 Cookie。要登录,请打开一个非无痕式窗口。
  3. 在您使用的每个浏览器或每台计算机上都选中“在此计算机上不再询问”。如果您使用不同的浏览器或计算机登录,请务必在每台计算机上选中此复选框,并在每个浏览器上调整 Cookie 设置。

从受信任列表中移除计算机和设备

  1. 在 Android 手机或平板电脑上,打开设备的“设置”应用 

    Google信任设备
    Google
    Google信任设备
    管理您的 Google 帐号

  2. 点按顶部的安全
  3. 在“登录 Google”下方,点按两步验证。 您可能需要登录。
  4. 在“您信任的设备”下,选择撤消全部

身份验证和授权使用场景

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本页面列出了一些常见的身份验证和授权使用场景,以及有关如何实现每种使用场景的详细信息的链接。

如需大致了解在 Google 的身份验证,请参阅在 Google 进行身份验证。

向 Google API 进行身份验证

Google API 要求每个请求都必须具有有效的访问令牌或 API 密钥。您可以通过多种方式提供这些必需的凭据,具体取决于您代码的运行位置以及 API 接受的凭据类型。

使用客户端库和应用默认凭据

我们推荐您在使用 Google API 时使用客户端库和应用默认凭据 (ADC)。ADC 是 Cloud 客户端库和 Google API 客户端库使用的一种策略,可根据应用环境自动查找凭据并使用这些凭据向 Google Cloud API 进行身份验证。设置 ADC 并使用客户端库时,您的代码可以在开发或生产环境中运行,而无需更改应用向 Google Cloud 服务和 API 进行身份验证的方式。

如何设置 ADC 取决于您的代码运行位置。ADC 同时支持以服务帐号身份进行身份验证和以用户身份进行身份验证。

通过 Google Kubernetes Engine (GKE) 进行身份验证

您可以通过 Workload Identity 使 GKE 上运行的工作负载能够安全地访问 Google API。Workload Identity 允许 GKE 集群中的 GKE 服务帐号充当 Identity and Access Management (IAM) 服务帐号。

通过 Cloud Run for Anthos 进行身份验证

您可以使用 Workload Identity 对 Cloud Run for Anthos 服务进行身份验证,以便可以访问 Google API。

使用接受 API 密钥的 API

API 密钥会将 API 请求与 Google Cloud 项目关联,以进行结算和配额计算。如果 API 支持 API 密钥,则 API 密钥(而不是令牌)可以随 API 请求一起提供。如需确定 API 是否支持 API 密钥,请参阅 API 的文档。

使用自签名 JSON 网络令牌 (JWT)

某些 Google API 支持自签名 JSON Web 令牌 (JWT),用以替代访问令牌。使用自签名 JWT,您可以避免向 Google 的授权服务器发出网络请求。此方法要求您创建自己的签名 JWT。如需详细了解令牌,请参阅令牌类型。

使用身份验证库和软件包

如果 ADC 以及由 Cloud 客户端库或 Google API 客户端库提供的 OAuth 实现在您的环境中不可用,则可以使用身份验证库和包。

您可以使用以下身份验证库和软件包:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

您还可以使用 Google 的 OAuth 2.0 端点来实现 OAuth 2.0 流程。此方法需要您更详细地了解 OAuth 2.0 和 OpenID Connect 的工作原理。如需了解详情,请参阅针对网络服务器应用使用 OAuth 2.0。

某些 Google Cloud 服务支持特定于该服务的身份验证流程。

使用签名网址提供对 Cloud Storage 资源的限时访问权限

签名网址可提供对特定 Cloud Storage 资源的限时访问权限。

向 Anthos 集群进行身份验证

您可以使用 Google Cloud 身份或使用第三方身份提供方向 Anthos 集群进行身份验证:

  • 使用 Connect 网关通过 Google Cloud 身份进行身份验证。
  • 使用 Anthos Identity Service 通过支持 OIDC 或 LDAP 的第三方身份提供方进行身份验证。

配置使用 API Gateway 或 Cloud Endpoints 部署的 API 以进行身份验证

API Gateway 和 Cloud Endpoints 支持使用 Firebase、Google 签名的 ID 令牌、Okta、Auth0 和 JWT 进行服务到服务身份验证和用户身份验证。

如需了解详情,请参阅相关产品文档:

  • 为 API Gateway 选择身份验证方法
  • 为 Cloud Endpoints 选择身份验证方法

通过 IoT 设备向 IoT Core 进行身份验证

物联网 (IoT) 设备使用 JWT 向 IoT Core 进行身份验证。

向 Cloud Run 或 Cloud Functions 上托管的应用进行身份验证

Cloud Run 和 Cloud Functions 上托管的应用需要使用 OpenID Connect (OIDC) 令牌或 ID 令牌进行身份验证。

如需了解详情,请参阅下面列出的托管服务的产品文档。如需了解获取 ID 令牌的其他方法,请参阅获取 ID 令牌。

Cloud Run

您可以通过多种方式设置 Cloud Run 服务,具体取决于此服务的调用方式。您可能还需要通过 Cloud Run 服务向其他服务进行身份验证,这需要使用 OIDC ID 令牌。

如需通过 Web 应用或移动应用向服务验证用户的身份,请使用 Identity Platform 或 Firebase Authentication。您还可以使用 Identity-Aware Proxy (IAP) 验证内部用户的身份。

Cloud Functions

在调用函数时,您必需对调用进行身份验证。您可以使用用户凭据或 OIDC ID 令牌完成身份验证。

对应用用户进行身份验证

您可以通过多种选项对应用的最终用户进行身份验证,具体取决于应用环境的其余部分。以下说明可帮助您了解最适合您的应用的选项。

身份验证服务说明
Google Identity 服务

Google 身份服务包括使用 Google 帐号登录、Google 的用户登录按钮以及 Identity Services API 和 SDK。Google Identity 服务基于 OAuth 2.0 和 OpenID Connect (OIDC) 协议。

如果您要创建移动应用,并且希望使用 Gmail 和 Google Workspace 帐号对用户进行身份验证,则“使用 Google 帐号登录”是一个适合的选项。“使用 Google 账号登录”还支持将 Google 帐号与现有登录系统搭配使用。

更多信息

使用 Google 帐号登录提供 Gmail 和 Google Workspace 帐号登录机制并支持动态密码 (OTP)。使用 Google 帐号登录针对的是仅限 Google 的帐号或现有登录系统中的 Google 帐号,适用于移动应用。

使用 Google 帐号登录适用于 iOS、Android 和 Web 应用。

Firebase Authentication

Firebase Authentication 提供身份验证服务和库,可针对各种用户帐号类型向应用验证用户的身份。

如果您希望接受来自多个平台的用户登录,则 Firebase Authentication 是一个适合的选择。

更多信息

Firebase Authentication 可为许多用户帐号类型提供身份验证功能。Firebase Authentication 支持密码身份验证以及使用 Google、Facebook、Twitter 和其他平台联合登录。

Identity Platform 和 Firebase Authentication 均基于 Google Identity 服务。Firebase Authentication 针对的对象是消费者应用。Identity Platform 非常适合希望成为自己的身份提供方或需要 Identity Platform 提供的企业级功能的用户。如需详细了解这些产品之间的差异,请参阅 Identity Platform 与 Firebase Authentication 之间的差异。

以下链接提供了更多信息:

  • 从何处开始使用 Firebase Authentication? 帮助您了解使用 Firebase Authentication 的一些方法。
  • 对于在 App Engine 标准环境中运行的 Python 应用,请参阅使用 Firebase 对用户进行身份验证。

Identity Platform

Identity Platform 是一个客户身份和访问权限管理 (CIAM) 平台,可帮助组织为其应用添加企业级身份和访问权限管理功能。

如果您要创建与 Google 身份提供方(如 Google Workspace)或者您自己的身份和访问权限管理服务搭配使用的应用,则 Identity Platform 是适合的选项。

更多信息

Identity Platform 提供可自定义的普适性身份和身份验证服务,为您处理用户注册和登录流程。Identity Platform 支持多种身份验证方法:SAML、OIDC、电子邮件地址/密码、社交媒体、电话号码和自定义选项。

Identity Platform 和 Firebase Authentication 均基于 Google Identity 服务。Firebase Authentication 针对的对象是消费者应用。Identity Platform 非常适合希望成为自己的身份提供方或需要 Identity Platform 提供的企业级功能的用户。如需详细了解这些产品之间的差异,请参阅 Identity Platform 与 Firebase Authentication 之间的差异。

OAuth 2.0 和 OpenID Connect

OpenID Connect 可让您处理和使用身份验证令牌,自定义程度最高。

如果您希望最大限度地控制 OAuth 2.0 实现,并且能够熟练地实现 OAuth 2.0 流程,请考虑使用此选项。

更多信息

Google 的 OAuth 2.0 实现符合 OpenID Connect 规范,并且已通过 OpenID 认证。OpenID Connect 是以 OAuth 2.0 协议为基础构建的身份层。 您的应用可以使用 OpenID Connect 验证 ID 令牌并检索用户个人资料信息。

OAuth 2.0 可用于实现对 Identity-Aware Proxy 保护的资源进行程序化身份验证。

Identity-Aware Proxy (IAP)

借助 IAP,您可以在请求到达应用资源之前控制对应用的访问权限。

与此表中的其他身份验证服务(在应用内实现)不同,IAP 会先执行身份验证,然后您的应用才可供访问。

更多信息

通过 IAP,您可以为应用建立一个中央授权层,并使用签名标头来保护应用的安全。受 IAP 保护的应用只能由具有正确 IAM 角色的主帐号访问。如果最终用户尝试访问受 IAP 保护的资源,IAP 会为您执行身份验证和授权检查。IAP 无法针对项目内的活动提供保护,例如同一项目内的其他服务。

对于 Google 身份,IAP 会使用 ID 令牌。如需了解详情,请参阅程序化身份验证。

如需了解 IAP 如何保护应用资源,请参阅 IAP 概览。

以下语言版本的教程适用于 IAP:

  • 利用 Go 对用户进行身份验证
  • 使用 Node.js 对用户进行身份验证
  • 使用 PHP 对用户进行身份验证
  • 利用 Python 对用户进行身份验证
  • 利用 Ruby 对用户进行身份验证

App Engine Users API 对于在 App Engine 标准环境中运行的应用,Users API 可用于提供针对某些语言的用户身份验证功能。
授权访问最终用户资源 如果您的应用访问最终用户拥有的资源,您必须获得最终用户对此操作的许可。此使用场景有时称为“三足式 OAuth”或“3LO”,因为涉及到三个实体:应用、授权服务器和用户。

Google Cloud 和 Google Workspace 的身份验证和授权选项

Google Cloud 和 Google Workspace 提供了各种用于设置访问权限、增强帐号安全性和管理帐号的选项。

为外部工作负载授予对 Google Cloud 资源的访问权限

借助工作负载身份联合,您可以授予本地或多云端工作负载对 Google Cloud 资源的访问权限。过去,此使用场景需要使用服务帐号密钥,但工作负载身份联合避免了使用服务帐号密钥的维护和安全负担。工作负载身份联合支持许多与 OIDC 兼容或与 SAML 2.0 兼容的身份提供方。支持的身份提供方包括 AWS、Azure Active Directory、本地 Active Directory、Okta、GitHub Actions 和 Kubernetes 集群。

设置身份提供方

您可以通过 Cloud Identity 或 Google Workspace 将 Google 用作身份提供方。您还可以将 Cloud Identity 或 Google Workspace 帐号与外部身份提供方联合。这种方法使用 SAML,使员工能够使用其现有身份和凭据登录 Google 服务。

设置双重验证

要求双重验证是最佳实践,有助于防止不法分子在获取帐号凭据后访问该帐号。使用双重验证时,要求用户提供第二重信息或标识,然后再对用户进行身份验证。Google 提供了多种支持 FIDO (Fast IDentity Online) 标准的解决方案。

Identity Platform 支持将双重验证用于 Web、iOS 和 Android 应用。

Google Identity 服务支持 FIDO (Fast IDentity Online) 身份验证。

Google 支持将各种硬件解决方案用于双重验证,例如 Titan 密钥。

设置基于证书的访问权限

作为 BeyondCorp Enterprise 零信任解决方案的一部分提供的基于证书的访问权限可通过其 X.509 证书标识设备,以仅向可信设备上经过身份验证的用户授予访问权限。基于证书的访问权限有时也称为双向传输层安全协议 (mTLS)。

常规帐号和身份验证信息

获取有关访问 Google 帐号的帮助

如果您需要有关访问或管理 Google 帐号的帮助,请参阅 Google 帐号支持页面。

处理被破解的凭据

如果您认为自己的凭据已被破解,您或您的管理员可以采取相关措施来缓解这种情况。如需了解详情,请参阅处理被破解的 Google Cloud 凭据。

如果您看到有关证书或证书授权机构 (CA)(包括根 CA)问题的错误,请参阅 Google 信任服务常见问题解答了解详情。

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2022-11-05 UTC.

[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"很难理解" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"信息或示例代码不正确" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"没有我需要的信息/示例" },{ "type": "thumb-down", "id": "translationIssue", "label":"翻译问题" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }]