小编Joh*_*ley的帖子

Google Firebase SSL证书-我的证书中列出了大量其他网站

问题:我的Google Firebase SSL证书中列出了其他域。

我创建了一个firebase项目来测试来自Cloud Functions的firebase身份验证电子邮件。firebase.jhanley.com

我有在Cloud Functions中运行的单独代码,这些代码针对我拥有/管理的每个域验证SSL证书(下面的代码)。该代码的主要目的是在域的SSL证书即将到期时发送电子邮件。我们的某些SSL证书必须手动更新。

问题是我检查SSL证书的代码为我的SSL证书返回了大量其他域名。当我使用Chrome浏览器查看SSL证书时,还会看到其他域名。我确实希望我的网站与这些其他网站相关联。

在Firebase的SSL证书中看到的域的简化列表:

2r5consultoria.com.br
addlix.com
admin.migrationcover.ae
admin.thermoply.com
akut-med.zeitnachweise.de
...
firebase.jhanley.com
...
Run Code Online (Sandbox Code Playgroud)

问:为什么Firebase SSL会发生这种情况,有解决方案吗?

问:Firebase是否支持安装您自己的SSL证书?

在Cloud Functions中运行的Python 3.x代码通过连接到列表中的每个域名来处理SSL证书。

注意:此代码没有任何(已知)问题。我包括源​​代码,以为社区中的其他人创造附加值。

""" Routines to process SSL certificates """

import  sys
import  datetime
import  socket
import  ssl
import  time
import  myhtml

g_email_required = False    # This is set during processing if a warning or error was detected

def get_email_requred():
    return g_email_required

def ssl_get_cert(hostname):
    """ This function returns an SSL certificate from a host """

    context = ssl.create_default_context() …
Run Code Online (Sandbox Code Playgroud)

ssl ssl-certificate firebase google-cloud-platform

3
推荐指数
1
解决办法
1412
查看次数

Cloud Run 内存限制

如何在自定义 GKE 集群上运行使用超过 2 GB 的 Cloud Run 容器?

由于 Cloud Run 使用 knative,我想知道是否可以调整具有更多分配/允许内存限制的部署描述符以在 GKE 上运行它。

apiVersion: serving.knative.dev/v1alpha1
kind: Revision
metadata:
 ...
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform serverless google-cloud-run

3
推荐指数
1
解决办法
616
查看次数

Your application has authenticated using end user credentials from the Google Cloud SDK which are not supported by the translate.googleapis.com

After reading similar questions, such as:

i am using gcp service account but when calling dialogue flow api its giving error :

and

Why is Google Cloud API trying to connect as an end-user?

and applying the suggested solutions I am still getting the error:

    Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "usageLimits",
    "message" : "Your application has authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell …
Run Code Online (Sandbox Code Playgroud)

java authentication google-translate google-cloud-platform google-cloud-iam

3
推荐指数
2
解决办法
1168
查看次数

Google Cloud Platform:使用 api 列出可用项目

我想gcloud projects list通过 api 调用 ( python)达到相同的效果。

但是,我在浏览文档时遇到的唯一问题就是这个。

此操作是否专门与资源管理器 API 相关联?

对其他项目的可见性会发生什么?如果 RM 绑定到一个项目,它如何查看(并因此列出)其他项目?

api google-cloud-platform gcloud google-cloud-iam

3
推荐指数
2
解决办法
1469
查看次数

我可以使用什么 API 来查看我的 GCP 帐单金额?

我想在我的 GCP 项目中查看我当前的帐单。我尝试使用 Billing API 和 Budget API,但它们只给我元数据信息。没有账单上有费用。我想知道当月的当前账单费用

我知道有一种 Pub/Sub 方式可以做到这一点,但我不想收到账单费用的通知。我想在需要时查看账单成本。

google-cloud-platform google-cloud-billing

3
推荐指数
1
解决办法
127
查看次数

Prisma DATABASE_URL 错误(Cloud Run + Cloud SQL)

我将Prisma与 Cloud Run 和 Cloud SQL 结合使用。DATABASE_URL提供给它后,prisma.schema它在运行时抛出一个错误。

Can't reach database server at `(/cloudsql/project-name:us-east1:database-id)`:`5432`
Please make sure your database server is running at `(/cloudsql/project-name:us-east1:database-id)`:`5432`."
Run Code Online (Sandbox Code Playgroud)
  • 数据库:Postgres
  • 提供的网址DATABASE_URLpostgresql://username:password@localhost/databasename?host=(/cloudsql/project-name:us-east1:database-id)

连接出了什么问题?我是否未能正确构建DATABASE_URL

google-cloud-sql prisma google-cloud-run

3
推荐指数
1
解决办法
3884
查看次数

获取 Google 服务帐户的签名 Jwt 令牌

我正在尝试为 google 服务帐户生成签名的 JWT 令牌

now = int(time.time())
expires = now + 900  # 15 mins in seconds, can't be longer.
payload = {
     'iat': now,
     'exp': expires,
     'sub': 'somekey@someproject.iam.gserviceaccount.com',
     'aud': 'aud'
}
body = {'payload': json.dumps(payload)}
name = 'projects/someproject/serviceAccounts/somekey@someproject.iam.gserviceaccount.com'

iam = googleapiclient.discovery.build('iam', 'v1', credentials=credentials)
request = iam.projects().serviceAccounts().signJwt(name=name, body=body)
resp = request.execute()
jwt = resp['signedJwt']
Run Code Online (Sandbox Code Playgroud)

我面临的问题是关于凭据如果我使用

credentials = service_account.Credentials.from_service_account_info(gcp_json_credentials_dict)
Run Code Online (Sandbox Code Playgroud)

工作正常。

但我正在尝试使用默认服务帐户

credentials, your_project_id = google.auth.default(scopes=["https://www.googleapis.com/auth/cloud-platform"])
Run Code Online (Sandbox Code Playgroud)

出现以下错误 -

googleapiclient.errors.HttpError: <HttpError 403 when requesting https://iam.googleapis.com/v1/projects/someproject/serviceAccounts/somekey@someproject.iam.gserviceaccount.com:signJwt?alt=json returned "Permission iam.serviceAccounts.signJwt is required to perform …
Run Code Online (Sandbox Code Playgroud)

impersonation service-accounts google-cloud-platform google-iam google-cloud-iam

3
推荐指数
1
解决办法
1968
查看次数

如何使用服务帐户从Python代码访问GCP云功能?

我部署了一个简单的 GCP 云函数,它返回“Hello World!”。我需要这个功能得到授权。我取消标记“允许未经身份验证的调用”复选框,因此只有经过身份验证的调用才能调用此代码。我还创建了服务帐户并分配了下一个角色: - Cloud Functions Invoker - Cloud Functions Service Agent

我的代码:

from google.oauth2 import service_account
from google.auth.transport.urllib3 import AuthorizedHttp

if __name__ == '__main__':
    credentials = service_account.Credentials.from_service_account_file('service-account.json',
        scopes=['https://www.googleapis.com/auth/cloud-platform'],
        subject='service-acc@<project_id>.iam.gserviceaccount.com')
    authed_session = AuthorizedHttp(credentials)
    response = authed_session.urlopen('POST', 'https://us-central1-<project_id>.cloudfunctions.net/main')
    print(response.data)
Run Code Online (Sandbox Code Playgroud)

我收到了回复:

b'\n<html><head>\n<meta http-equiv="content-type" content="text/html;charset=utf-8">\n<title>401 Unauthorized</title>\n</head>\n<body text=#000000 bgcolor=#ffffff>\n<h1>Error: Unauthorized</h1>\n<h2>Your client does not have permission to the requested URL <code>/main</code>.</h2>\n<h2></h2>\n</body></html>\n'

Run Code Online (Sandbox Code Playgroud)

如何获得授权?

service-accounts google-cloud-platform google-cloud-functions google-iam google-cloud-iam

2
推荐指数
1
解决办法
3167
查看次数

共享 VPC 和 VPC 对等互连混合

在谷歌云上,我设置了三个新项目——开发、研究和生产。因此,然后创建了一个共享 VPC 主机和上面列出的三个服务项目。还打算为每个服务项目拥有单独的 VPC(以添加更多安全层),因此现在还打算使用 VPC 对等互连。但这里很困惑,我们是否可以在同一组项目上配置共享 VPC 和 VPC 对等互连?如果是这样,那么我找不到任何关于此的链接,这也是正确的做法吗?

vpc google-cloud-platform google-cloud-networking

2
推荐指数
1
解决办法
5367
查看次数

如何从 GCE 实例中的容器优化操作系统获取启动脚本日志?

我正在使用这个启动脚本运行一个容器优化的计算实例:

#!/bin/bash

mkdir /home/my-app
cd /home/my-app
export HOME=/home/my-app

docker-credential-gcr configure-docker


docker run --rm --log-driver=gcplogs --name my-app --security-opt seccomp=./config.json gcr.io/my-project/my-app:latest
Run Code Online (Sandbox Code Playgroud)

--log-driver--name标志根据设定GCP社会导向搬运工文档

但是我看不到容器启动的日志。

此外,当我通过 SSH 连接到实例并运行 command 时logger "hello from logger",我没有看到它显示在云记录器中。我尝试将其转换为高级过滤器并删除除“来自记录器的hello”字符串过滤器之外的所有过滤器。

如何正确设置日志记录?我bunyan在我的 NodeJS 应用程序中使用,但是当应用程序失败时,我完全看不到?我很想拥有journalctl云记录器中的所有日志。或者,至少startup-scriptjournalctl. 现在我正在通过 SSH 连接到实例并运行journalctl -r | grep startup-script.

更新

访问范围设置正确:

Stackdriver Logging API: Write Only
Stackdriver Logging API: Write Only
Run Code Online (Sandbox Code Playgroud)

我正在使用默认的计算引擎服务帐户。这是我使用以下命令创建此 VM 的命令:

gcloud compute instance-templates create $APP_ID-template \ …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine google-cloud-platform stackdriver google-cloud-stackdriver google-container-optimized-os

2
推荐指数
1
解决办法
546
查看次数