Tailscaleロゴ

Oktaでのユーザーとグループのプロビジョニング

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

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

Tailscaleは、Oktaと連携するためのSystem for Cross-domain Identity Management(SCIM)に対応しています。

機能

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

要件

設定手順

次の手順で、Tailscaleでプロビジョニングを有効にします。

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

Tailscaleでの作業

SCIM APIキーを生成する

  1. 管理コンソールのUser managementページのSCIM Provisioningで、Enable Provisioningを選択します。
    Okta向けのプロビジョニングの有効化
    Okta向けのプロビジョニングの有効化
  2. 生成されたキーをクリップボードにコピーします。
    SCIM APIキーの生成
    SCIM APIキーの生成

Oktaでの作業

キーをTailscaleアプリにコピーする

  1. (任意)Sign OnタブのAdvanced Sign-on Settingsで、接続するTailscaleのインスタンスを選択します。ほとんどのユーザーは、既定のTailscaleを選択したままにします。米国の高コンプライアンスサーバーに接続する必要がある場合は、Tailscale (US high compliance) – must be allowlistedを選択し、Spelldataのサポートにお問い合わせ下さい。
    Tailscaleのインスタンスの選択
    Tailscaleのインスタンスの選択
  2. ProvisioningタブでIntegrationを選択し、Configure API Integrationを選択します。
    Okta管理画面でのSCIM API連携の設定
    Okta管理画面でのSCIM API連携の設定
  3. Enable API integrationを選択します。生成したキーをAPI Tokenフィールドに貼り付けます。Tailscaleが生成するSCIM APIキーは、大文字と小文字を区別します。
    TailscaleのSCIM APIキーによるSCIM API連携の有効化
    TailscaleのSCIM APIキーによるSCIM API連携の有効化
  4. Import Groupsチェックボックスがある場合は、チェックを外します。
  5. Test API Credentialsを選択してSCIM接続を確認し、Saveを選択します。

ユーザー同期を有効にする

  1. OktaのSign On > Credential Detailsで、Application username formatにEmailを選択します。
    Okta管理画面でApplication username formatにEmailを選択
    Okta管理画面でApplication username formatにEmailを選択
  2. Provisioning > Settings > To Appで、Create Users、Update User Attributes、Deactivate Usersを有効にし、Saveを選択します。
    Okta管理画面でのユーザー同期機能の有効化
    Okta管理画面でのユーザー同期機能の有効化
  3. AssignmentsでProvision Userを選択し、以前にアプリケーションに割り当てられたすべてのユーザーがTailscaleにプロビジョニングされるようにします。
    Tailscaleへのユーザーのプロビジョニング
    Tailscaleへのユーザーのプロビジョニング

グループ同期を有効にする

グループ同期を使うと、tailnetポリシーファイルで、人間が読める名前でOktaのグループを参照できます。
例えば、次のように記述します。

{
  "acls": [
    {
      "action": "accept",
      "src": ["group:groupname@example.com"],
      "dst": ["*:*"]
    },
    {
      "action": "accept",
      "src": ["group:all employees@example.com"],
      "dst": ["autogroup:self:*"]
    },
    {
      "action": "accept",
      "src": ["group:engineering@example.com"],
      "dst": ["tag:logging:*"]
    }
  ]
}

Oktaから同期したグループは、Tailscaleのグループを置き換えるものではありません。
Oktaのグループ同期を使いながら、tailnetポリシーファイルでグループを定義することもできます。

Oktaでの作業

  1. Applicationsで、Tailscaleアプリを選択します。
  2. Push GroupsでPush Groupsボタンを展開し、Tailscaleにプッシュするグループを選択します。
    Okta管理画面でのグループ同期の有効化
    Okta管理画面でのグループ同期の有効化
  3. Saveを選択します。別のグループもプッシュしたい場合は、Save & Add Anotherを選択します。

実際には、Oktaでのグループの変更は数秒でTailscaleに反映される傾向がありますが、保証されてはいません。

Tailscaleでの作業

管理コンソールのAccess controlsページのGroup Syncに、Oktaからプッシュしたグループが表示されます。

TailscaleのAccess Controls画面での同期済みグループ
TailscaleのAccess Controls画面での同期済みグループ

プッシュされたグループをアクセスルールで使うには、Copyを選択してルールに貼り付けるか、直接入力します。

"grants": [
  {
    "src": ["group:engineering@example.com"],
    "dst": ["tag:logging"],
    "ip": ["*"]
  }
]

同期されたグループ名は、小文字として扱われます。
スペースは含められますが、@記号は含められません。

Oktaのグループ名を変更する場合

Oktaでグループの名前を変更すると、そのグループに対するTailscaleのアクセス制御ポリシーは適用されなくなります。
アクセス制御ポリシーは、グループへの参照ではなく、Oktaで設定した名前に依存しています。
Tailscaleはフェイルクローズ(アクセスを拒否する側に倒す動作)となり、管理コンソールにエラーメッセージが表示されます。

グループが同期されていないことを示す画面のエラーメッセージ
グループが同期されていないことを示す画面のエラーメッセージ

グループの名前を変更した場合は、アクセス制御ポリシーのグループを新しいグループ名に更新してください。
意図しない変更だった場合は、Oktaで名前の変更を元に戻すこともできます。

グループ同期を無効にする

Oktaでの作業

  1. Applicationsで、Tailscaleアプリを選択します。
  2. Push GroupsでPush Groupsボタンを展開し、Tailscaleへのプッシュをやめるグループの選択を外して、Saveを選択します。

Tailscaleでの作業

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

既知の制限事項

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