👻

Datadog ユーザの ID を探す方法

2024/05/24に公開2

最近、Datadog に Datadog Teams が追加されたので試してみたところ、Datadog ユーザの ID を取得する方法の情報があまりなかったので、記事として残します。

TL;DR

Datadog teams を作成する

Terraform で Datadog team を作成する場合は、datadog_team 、Datadog team にメンバーを参加させたい場合は、datadog_team_membership を利用します。

Datadog team は特に迷うことなく作成できたのですが、Datadog team membership リソースの作成でユーザの ID が必要のため、探すときに手間取りました。

試したこと

SaaS のユーザ情報を取得する際に API を叩くことが多いので、List all users で試してみましたが最大で取得できる page に制限があったので、欲しい情報が手に入りませんでした。(私のやり方が悪いかもしれません)

コンソールからも取得できたりすることがあるのでそちらも試してみたところ、https://app.datadoghq.com/organization-settings/users から取得することができました。
Users ページでユーザ ID を取得したいユーザを検索し、対象のユーザをクリックするとアドレスバーに以下のように表示されました。user_id key の value がユーザID です。

GitHubで編集を提案

Discussion

rakiraki

メンバーシップのリソース(記事中でもリンクを貼っている)のサンプルコードにユーザのIDの取得方法出てますよね?

https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/team_membership

resource "datadog_team" "foo" {
  description = "Example team"
  handle      = "example-team-updated"
  name        = "Example Team-updated"
}

resource "datadog_user" "foo" {
  email = "new@example.com"
}

# Create new team_membership resource
resource "datadog_team_membership" "foo" {
  team_id = datadog_team.foo.id
  user_id = datadog_user.foo.id
  role    = "admin"
}

ユーザ管理してないならデータソースでひっぱることもできます。
https://registry.terraform.io/providers/DataDog/datadog/latest/docs/data-sources/user

users データソースでぶんまわすこともできます。
https://registry.terraform.io/providers/DataDog/datadog/latest/docs/data-sources/users

EOEO

はい、対象の全ユーザを Data Source で取得してます。