Tailscaleロゴ

Microsoft Entra IDでのユーザーとグループのプロビジョニング

最終検証日:
翻訳: 竹洞 陽一郎

この機能は、Standardプラン、Premiumプラン、Enterpriseプランで利用できます。

Tailscaleは、Microsoft Entra ID(旧称Azure AD)と連携するためのSystem for Cross-domain Identity Management(SCIM)に対応しています。

このトピックでは、Microsoft Entra IDを、SCIMと連携したTailscaleのアイデンティティプロバイダとして設定する方法を説明します。
MicrosoftのチュートリアルConfigure Tailscale for automatic user provisioning(英語)も参照できます。

機能

次のプロビジョニング機能に対応しています。

要件

設定手順

プロビジョニングを有効にする

Tailscaleでの作業

この手順を行うには、TailscaleでOwner、Admin、またはIT adminである必要があります。

SCIM APIキーを生成する

  1. 管理コンソールのUser managementページのSCIM Provisioningで、Enable Provisioningを選択します。
  2. 生成されたキーをクリップボードにコピーします。
    SCIM APIキーの生成
    SCIM APIキーの生成
  3. キーの情報を安全な場所に保存します。Microsoft Entra IDを設定するときに必要です。Tailscaleが生成するSCIM APIキーは、大文字と小文字を区別します。

Microsoft Entra IDでの作業

この手順を行うには、Microsoft Azureポータルの管理者ロールが必要です。

  1. Microsoft Azureポータルにログインします。
  2. Microsoft Entra IDを選択します。
  3. 左側のナビゲーションのManageで、Enterprise applicationsを選択します。
  4. New applicationを選択します。
  5. Browse Microsoft Entra GalleryページでTailscaleを検索し、Tailscaleを選択します。
  6. Sign up for Tailscaleを選択します。

    Tailscaleのサインアップ画面にリダイレクトされます。
    すでにTailscaleアカウントを持っている場合は、次の手順に進みます。
    持っていない場合は、画面の指示に従ってTailscaleにサインアップします。

  7. アプリケーションのOverviewページで、左側のナビゲーションのManageからProvisioningを選択します。
  8. Get startedを選択します。
  9. Provisioning ModeをAutomaticに設定します。
  10. Admin CredentialsのTenant URLに、https://controlplane.tailscale.com/scim/v2/?aadOptscim062020を入力します。

    末尾のパラメータ?aadOptscim062020は必須です。
    このパラメータについては、Microsoft Entra IDのトピックFlags to alter the SCIM behavior(英語)を参照してください。

  11. Secret Tokenに、Tailscaleの管理コンソールで生成したSCIM APIキーを入力します。
    Microsoft Entra IDへの資格情報の入力
    Microsoft Entra IDへの資格情報の入力
  12. Test Connectionを選択します。

    入力した資格情報でプロビジョニングを有効にする権限があるかどうかを示すメッセージが、ポップアップで表示されます。

  13. Settingsセクションで、Send an email notification when an error occursにチェックが入っていることを確認し、通知に使うメールアドレスを入力します。
  14. SettingsセクションのScopeで、すべてのユーザーとグループを同期するか、アプリケーションに割り当てられたユーザーとグループだけを同期するかを選択します。アプリケーションに割り当てられたユーザーとグループだけを同期する場合は、左側のナビゲーションのUsers and groupsセクションで割り当てを行う(英語)必要があります。
  15. Provisioning StatusがOnに設定されていることを確認します。
    Microsoft Entra IDのプロビジョニング設定
    Microsoft Entra IDのプロビジョニング設定
  16. Saveを選択します。
  17. アプリケーションのProvisioningページに戻ります。上部のメニューで、Start Provisioningを選択します。

プロビジョニング後に問題が発生した場合は、アプリケーションのOverviewページを開き、Restart Provisioningを選択します。

Tailscaleアプリケーションへのアクセスを制限する

既定では、Entraディレクトリサービスのすべてのユーザーが、Tailscaleアプリにアクセスできます。
Tailscaleにアクセスできるユーザーを制御するには、Enterprise Applications > Tailscale > Propertiesに移動し、Assignment Required?をYesに設定します。

Assignment Required?の設定
Assignment Required?の設定

この設定を有効にすると、Tailscaleアプリケーションに割り当てられたユーザーだけがアクセスできるようになります。

サポートされている属性マッピング

Tailscaleは、コアの「User」と「Group」SCIMリソースのSCIM属性に対応しています。
Tailscaleの機能で使うのは次の属性だけで、その他の属性は使われずに保存されます。

Tailscaleが使うSCIM属性
属性SCIM属性の種類Tailscaleでの扱い
externalIdCommon必須
userNameCore user必須
emailsCore user任意
name.givenNameCore user任意
name.familyNameCore user任意
name.formattedCore user任意
displayNameCore user任意
activeCore user任意
preferredLanguageCore user任意

userNameは、ユーザーがtailnetへのサインインに使うメールアドレスに対応付ける必要があります。

photosは同期できる属性ではありませんが、ログイン時にユーザーに設定されます。

TailscaleはSCIMのEnterprise User Schema Extensionに対応していません。
これらの拡張のユーザー属性を追加で指定すると、リクエストは失敗します。

tailnetポリシーファイルでMicrosoft Entra IDのグループを参照する

tailnetポリシーファイルでは、人間が読める名前か、Microsoft Entra IDのグループIDのどちらかを使って、Microsoft Entra IDのグループを参照できます。
例えば、次のように記述します。

{
  "grants": [
    {
      "src": ["group:groupname@example.com"],
      "dst": ["*"],
      "ip": ["*"]
    },
    {
      "src": ["group:all employees@example.com"],
      "dst": ["autogroup:self"],
      "ip": ["*"]
    },
    {
      "src": ["group:3ac067a2-f424-87b0-14a3-926482d83980@example.com"],
      "dst": ["tag:logging"],
      "ip": ["*"]
    }
  ]
}

Microsoft Entra IDのグループにネストされたグループ(英語)が含まれている場合、そのグループをアクセス制御で使うと、Tailscaleは5階層下までのサブグループのメンバーを含めます。
5階層を超えてネストされたメンバーは含まれません。

Microsoft Entra IDのグループ名を変更する場合

tailnetポリシーファイルで(グループIDではなく)グループ名を使っている場合、Microsoft Entra IDでグループの名前を変更すると、そのグループに対するTailscaleのアクセスルールは適用されなくなります。
Tailscaleはフェイルクローズ(アクセスを拒否する側に倒す動作)となり、管理コンソールにエラーメッセージが表示されます。

グループの名前を変更した場合は、tailnetポリシーファイルのグループを新しいグループ名に更新してください。
意図しない変更だった場合は、Microsoft Entra IDで名前の変更を元に戻すこともできます。

tailnetポリシーファイルでグループIDを使っている場合は、グループの名前を変更しても、そのグループに対するTailscaleのアクセスルールには影響しません。

プロビジョニングを無効にする

この手順を行うには、Microsoft Azureポータルの管理者ロールが必要です。

Microsoft Entra IDでの作業

  1. Microsoft Azureポータルにログインします。
  2. Microsoft Entra IDを選択します。
  3. 左側のナビゲーションのManageで、Enterprise applicationsを選択します。
  4. Tailscaleアプリケーションを検索して選択します。
  5. Manageで、Propertiesを選択します。
  6. Deleteを選択し、Yesを選択します。

Tailscaleでの作業

  1. 管理コンソールのUser managementページのSCIM Provisioningで、Disable provisioningを選択し、確認のためにもう一度Disable provisioningを選択します。
  2. 管理コンソールのAccess controlsページで、プッシュされなくなったグループを参照しないようにルールを更新します。
  3. Microsoft Entra IDで使っていたSCIM APIキーを残しておく必要がない場合は、キーを失効させます。

既知の制限事項

原文:User & group provisioning for Microsoft Entra ID(Tailscale公式ドキュメント)