1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Entra ID認証でHeadscaleを利用する

Last updated at Posted at 2025-03-18

Self-HostedなTailscaleサーバのHeadscaleを、Entra ID認証で利用できるようにする設定をしたのでメモとして残しておきます。

Headscaleは認証にOIDC (OpenID Connect) が利用できます。
Entra IDはOIDCに対応しているので、Entra IDテナントのユーザーがHeadscaleを利用できるように設定することができます。

Entra IDの設定

アプリの登録

OIDC ProviderとしてEntra IDを利用する場合には「アプリ」を作成します。

  1. Azureポータル (https://portal.azure.com/) にアクセスする
  2. Entra IDを開く
  3. サイドメニュー [管理] - [アプリの登録] を開く
  4. 「+新規作成」ボタンをクリックする
  5. 必要な情報を入力し、[登録] ボタンを押す
  • このアプリケーションのユーザー向け表示名 「Headscale」
  • この組織ディレクトリのみに含まれるアカウント (シングル テナント) を選択
  • リダイレクト URI 「Web」「https://{Headscaleサーバのホスト名}/oidc/callback」

認証情報の作成

  1. サイドメニュー [管理] - [証明書とシークレット] を開く
  2. [クライアントシークレット] タブで [+新しいクライアントシークレット] を作成する
  3. 作成されたシークレットの [値] をメモしておく (二度と表示できません)
  4. サイドメニュー [概要] を開く
  5. 表示されている[アプリケーション (クライアントID)]と[ディレクトリ (テナント) ID]もメモしておく

Headscale の設定

Headscaleの設定にOIDCの項目を追加する。

参考 : Configuring headscale to use OIDC authentication

/etc/headscale/config.yaml (抜粋)
oidc:
  issuer: "https://login.microsoftonline.com/[テナントID]/v2.0"
  client_id: "[クライアントID]"
  client_secret: "[クライアントシークレット]"
  scope: ["openid", "profile", "email"]
  extra_params:
    domain_hint: [テナントで利用しているドメイン名]
    prompt: select_account

設定を変更したら再起動します。

sudo systemctl restart headscale

これにより、Headscaleのログイン時にEntra IDのログイン画面が表示されるようになります

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?