【问题标题】:auth_token for slack integration用于松弛集成的 auth_token
【发布时间】:2021-03-20 06:50:51
【问题描述】:

我想使用 Terraform 在 GCP 中使用 slack 设置警报。

我的代码是:

resource "google_monitoring_notification_channel" "slack" {
  display_name = "Prod Slack Alerts"
  type         = "slack"
  labels = {
    "channel_name" = "#alert-channel"
  }
  sensitive_labels {
    auth_token = "one"
  }
}

但问题是我如何获得 auth_token ?我查看了这个post,但这个解决方案已经过时并且不起作用。另外,没有关于此的文档。我已经将 Google Cloud Monitoring 应用程序集成到我的组织的 slack 中。

【问题讨论】:

  • 您提供的帖子对我有用。跟随它时是否有任何错误?关于它的文档,您可以查看link
  • 嘿@jeunii 你知道了吗?我也不知道如何或从哪里获得 slack auth_token。
  • @DavidBrown 查看我的答案

标签: slack terraform-provider-gcp google-cloud-monitoring


【解决方案1】:

好的,所以我找到了方法。它有点hacky,但它为我完成了这项工作!

我首先使用 UI 手动创建了 Slack 集成。点击“编辑通知频道”。完成新的 slack 集成后,我运行以下 gcloud 命令:

gcloud alpha monitoring channels list --project <PROJECT>

这将返回

...
displayName: Prod Slack Alerts
enabled: true
labels:
  auth_token: '****************************************************GdjG'
  channel_name: '#slack_channel'
name: projects/<PROJECCT>/notificationChannels/<CHANNEL-ID>
type: slack
...

这让您知道它以GdjG 结尾。您的令牌可以以不同的方式结束。您需要使用 Web 浏览器的 Inspector 找到它。我将以GdjG 为例。

现在返回并再次手动创建 Slack 通知,但这一次,打开 Web 浏览器的 Inspector 并搜索 GdjG。完成所有流程后,您应该会看到如下内容:

所以寻找类似的网址

Request URL: https://slack.com/api/auth.test?token=
:path: /api/auth.test?token=

您现在可以通过使用令牌继续使用 Terraform 创建您的 slack 频道。根据我的经验,如果您尝试与同一个 slack 组织集成,则令牌不会更改。

【讨论】:

  • 这看起来很老套,但我很高兴你能理解它。我假设令牌是 JWT 令牌,那么您是否检查过它的过期时间?
  • 1.5 年后,这仍然是一个有效的答案。
猜你喜欢
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多