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
Python 生成google服务帐户凭据,无需登录云功能_Python_Google Cloud Platform_Google Api_Google Oauth - Fatal编程技术网

Python 生成google服务帐户凭据,无需登录云功能

Python 生成google服务帐户凭据,无需登录云功能,python,google-cloud-platform,google-api,google-oauth,Python,Google Cloud Platform,Google Api,Google Oauth,如何在没有服务帐户密钥文件的情况下创建凭据 我的当前设置 我正在使用从应用程序调用云函数 curl -X POST CF_URL -H "Authorization: Bearer $TOKEN" -d@Key.json 云中函数 credentials=service\u account.credentials.from\u service\u account\u inforequest\u json, 作用域=['https://www.googleapis.com/auth/cloud

如何在没有服务帐户密钥文件的情况下创建凭据

我的当前设置

我正在使用从应用程序调用云函数

curl -X POST CF_URL -H "Authorization:  Bearer $TOKEN" -d@Key.json
云中函数

credentials=service\u account.credentials.from\u service\u account\u inforequest\u json, 作用域=['https://www.googleapis.com/auth/cloud-platform'] service=googleapiclient.discovery.build 'cloudresourcemanager','v1',凭据=凭据,缓存发现=False 政策= 服务项目 .Getiam政策 resource=credentials.project\u id, body={}, 处决
我将服务帐户密钥作为有安全问题的有效负载传递。如何避免将密钥文件作为有效负载传递

在云功能和所有GCP产品中,您都有一个功能名称。这意味着您可以选择在云功能运行时要附加到该功能的服务帐户。如果未定义任何人,则默认情况下使用此人

因此,默认身份自动存在于云功能中。您可以简单地执行此操作,如下所示:


在云功能和所有GCP产品中,您都有一个功能名称。这意味着您可以选择在云功能运行时要附加到该功能的服务帐户。如果未定义任何人,则默认情况下使用此人

因此,默认身份自动存在于云功能中。您可以简单地执行此操作,如下所示:


您不传递服务帐户JSON密钥文件的内容。那是行不通的。如果启用了云函数身份验证,则需要传递OAuth标识令牌作为承载参数。查看这些链接:这是正确的。我正在使用打印身份令牌进行身份验证。我的问题是如何在云函数中生成凭据以执行其他操作。您不传递服务帐户JSON密钥文件的内容。那是行不通的。如果启用了云函数身份验证,则需要传递OAuth标识令牌作为承载参数。查看这些链接:这是正确的。我正在使用打印身份令牌进行身份验证。我的问题是如何在云函数中生成凭证来做其他事情。谢谢。我有一个跨项目的问题。我的云功能部署在项目B中,我想修改项目A中的资源。项目A服务帐户拥有所有角色/权限。我正在从项目A调用项目B云功能。将默认服务帐户电子邮件地址身份添加到项目B中具有所需角色的IAM。不要混淆所有内容!您有权在任何项目中调用函数,并且您有权在任何项目中调用函数。您可以在项目A的资源上授予云功能服务帐户标识,即使您已经在项目B中创建了服务帐户。对于云功能的授权,也是一样。@guilaume。谢谢,我知道了。我没想别的,谢谢。我有一个跨项目的问题。我的云功能部署在项目B中,我想修改项目A中的资源。项目A服务帐户拥有所有角色/权限。我正在从项目A调用项目B云功能。将默认服务帐户电子邮件地址身份添加到项目B中具有所需角色的IAM。不要混淆所有内容!您有权在任何项目中调用函数,并且您有权在任何项目中调用函数。您可以在项目A的资源上授予云功能服务帐户标识,即使您已经在项目B中创建了服务帐户。对于云功能的授权,也是一样。@guilaume。谢谢,我知道了。我没有想别的办法。
import google.auth

credentials, project_id = google.auth.default(scopes='https://www.googleapis.com/auth/cloud-platform']))