登录
首页 >  Golang >  Go问答

在 GCP 上部署的服务出现"IAM_PERMISSION_DENIED"错误,但本地主机未发生任何问题

来源:stackoverflow

时间:2024-02-29 12:27:24 212浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《在 GCP 上部署的服务出现"IAM_PERMISSION_DENIED"错误,但本地主机未发生任何问题》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

当我检查 gcp 中已部署容器的日志时,我收到 错误详细信息: name = errorinfo reason = iam_permission_denied domain = iam.googleapis.commetadata = map[permission:logging.logentries.create] 。我不确定为什么会发生这种情况,因为在本地主机中运行容器似乎工作正常。

该服务也与另一个服务部署在同一主机上,但端口号不同,另一个服务似乎工作正常,尽管它没有使用任何 google api 服务。

gcp 上出现错误的服务有一个 .env 文件,其中包含以下内容:

google_application_credentials=json/name-of-json-file.json

json 文件是服务帐户密钥文件。 dockerfile 如下所示:

# specifies a parent image
from golang:1.19.2-bullseye

# creates an app directory to hold your app’s source code
workdir /app

# copies everything from your root directory into /app
copy . .

# installs go dependencies
run go mod download

# builds your app with optional configuration
run go build -o /logging-go

# tells docker which network port your container listens on
expose 8040

# specifies the executable command that runs when the container starts
cmd [ "/logging-go" ]

该服务正在使用 google 日志记录 api,并通过以下代码片段进行访问:

c, cErr := Load(".env")
    if cErr != nil {
        log.Fatalf("could not load config: %s", cErr)
        return
    }

    // initializes logger which writes to stdout
    ctx := context.Background()
    opt := option.WithCredentialsFile(c.GoogleApplicationCredentials);
    loggerClient, clientErr := logging.NewClient(ctx, "poc-projects-01", opt)
    if clientErr != nil {
        log.Fatal(clientErr)
    }

    if clientErr := loggerClient.Ping(ctx); clientErr != nil {
        log.Fatal(clientErr)
    }

    logger := loggerClient.Logger("frontend_logs")

通过 docker 运行它时,它在我的本地主机上运行良好,但在 gcp 上不起作用。关于如何解决这个问题有什么想法吗?


正确答案


我知道我对服务帐户密钥拥有正确的权限,甚至让一位 DevsOps 人员为我创建了一个,但它仍然无法正常工作。我发现使用默认服务帐户密钥最终可以在 GCP 上运行。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在 GCP 上部署的服务出现"IAM_PERMISSION_DENIED"错误,但本地主机未发生任何问题》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>