Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform RESTAPI使用服务帐户登录到Google平台_Google Cloud Platform_Google Compute Engine_Service Accounts - Fatal编程技术网

Google cloud platform RESTAPI使用服务帐户登录到Google平台

Google cloud platform RESTAPI使用服务帐户登录到Google平台,google-cloud-platform,google-compute-engine,service-accounts,Google Cloud Platform,Google Compute Engine,Service Accounts,我已经在谷歌云平台上创建了一个服务帐户。我正在使用一个独立的Java程序,该程序使用GCP Java客户端API通过获取服务帐户JSON文件来获取身份验证令牌ID。通过使用令牌ID,我可以创建一个计算实例 我不想使用Java API或gcloud工具,是否存在一个REST API,它接受所需的详细信息并返回令牌ID 我查阅了GCP文档,没有找到任何关于REST使用服务帐户进行身份验证和授权的详细信息 我已经在谷歌云平台上创建了一个服务帐户。我正在使用 一个独立的Java程序,它使用GCP Jav

我已经在谷歌云平台上创建了一个服务帐户。我正在使用一个独立的Java程序,该程序使用GCP Java客户端API通过获取服务帐户JSON文件来获取身份验证令牌ID。通过使用令牌ID,我可以创建一个计算实例

我不想使用Java API或gcloud工具,是否存在一个REST API,它接受所需的详细信息并返回令牌ID

我查阅了GCP文档,没有找到任何关于REST使用服务帐户进行身份验证和授权的详细信息

我已经在谷歌云平台上创建了一个服务帐户。我正在使用 一个独立的Java程序,它使用GCP Java客户端API来获取 通过使用服务帐户JSON文件验证令牌ID。利用 令牌ID,我可以创建一个计算实例

使用服务帐户是验证和授权软件应用程序的正确且推荐的方法

注意。这里的假设是软件应用程序正在您控制的系统上运行。如果您在用户的桌面或不受您控制的系统上安装软件,那么您将使用Google OAuth 2.0(Google帐户)获取用户凭据以授权您的应用程序

另一种方法是从有时间限制的服务帐户凭据颁发短期临时凭据。这些短期凭证在服务器上创建,然后交给客户端

我不想使用JavaAPI或gcloud工具,有RESTAPI吗 是否存在接受所需详细信息和返回令牌ID的

你有典型的“鸡还是蛋”的情况。您需要凭据来进行身份验证和授权,否则任何人都可以创建凭据。谷歌服务帐户凭据提供了这一点。要创建服务帐户凭据,请使用Google云控制台或
gcloud
CLI下载服务帐户Json文件

我查阅了GCP文档,没有找到任何细节 用于通过REST使用服务进行身份验证和授权 帐户

这个问题令人困惑。您想使用服务帐户凭据来授权您的Google API调用,还是想调用Google API来获取凭据

在第一种情况下,创建服务帐户凭据后,它们将用于授权API调用。在进行API调用时,将访问令牌添加到HTTP头


对于第二种情况,使用Google OAuth 2.0获取凭据。Google OAuth 2.0使用Google帐户进行身份验证。此方法为您提供访问令牌(就像服务帐户一样)、刷新令牌和客户端ID令牌。您需要将Google帐户用户身份添加到您的Google Cloud IAM中,该IAM提供授权(特权)。

感谢John的解释。我已经从GCP控制台创建了一个服务帐户,并下载了包含以下内容的私钥JSON文件(类型、项目id、私钥id、私钥、客户端电子邮件、客户端id、身份验证uri、令牌uri、身份验证提供方x509证书url和客户端x509证书url)。现在,我想创建一个使用RESTAPI的计算资源。RESTAPI的头需要“Authorization:Bearer”。现在,我使用Java客户端通过指定私钥文件来生成TOKEN_ID。我想知道,是否存在一个RESTAPI来获取TOKEN\u ID?TOKEN\u ID指的是AccessToken。所有Google API都需要访问令牌。关闭此问题并创建一个新问题“如何从服务帐户凭据创建访问令牌?”。我还希望REST API使用服务帐户密钥检索访问令牌。你找到解决办法了吗?