SCIM は、Infrastructure Pro、Infrastructure Enterprise、および Startup プランで利用可能です。

SCIM を使用して Datadog ユーザーを Okta と同期させるには、次の手順を参照してください。

この機能の能力と制限事項については、SCIM を参照してください。

前提条件

Datadog の SCIM は、Infrastructure Pro、Infrastructure Enterprise、および Startup プランで利用可能な高度な機能です。

このドキュメントでは、組織が ID プロバイダーを使用してユーザー ID を管理していることを前提としています。

アクセスの混乱を避けるため、Datadog では SCIM の設定時にサービスアカウントのアプリケーションキーを使用することを強く推奨しています。詳細については、SCIM でのサービスアカウントの使用 を参照してください。

SAML と SCIM を併用する場合、アクセスの矛盾を避けるため、Datadog では SAML の Just-in-Time (JIT) プロビジョニングを無効にすることを強く推奨しています。ユーザープロビジョニングは SCIM のみを使用して管理してください。

  1. Okta ポータルで Applications に移動する
  2. Browse App Catalog をクリックする
  3. 検索ボックスに「Datadog」と入力する
  4. Datadog アプリケーションを選択する
  5. Add Integration をクリックする

注: すでに Okta で Datadog を設定済みの場合は、既存の Datadog アプリケーションを選択してください。

自動ユーザープロビジョニングを設定する

  1. アプリケーション管理画面の左側のパネルで Provisioning を選択する
  2. Configure API integration をクリックします。
  3. Enable API integration を選択します。
  4. Credentials セクションに次のように入力します。
    • Base URL: https:///api/v2/scim 注: サイトに適したサブドメインを使用してください。URL を確認するには、Datadog サイト を参照してください。
    • API Token: 有効な Datadog アプリケーションキーを使用します。アプリケーションキーは 組織の設定ページ で作成できます。データへの継続的なアクセスを維持するには、サービスアカウント のアプリケーションキーを使用してください。
Okta 管理者認証情報の設定画面
  1. Test API Credentials をクリックし、認証情報が検証されたことを確認するメッセージが表示されるまで待ちます。
  2. Save をクリックします。設定セクションが表示されます。
  3. Provisioning to Appの横にある Edit を選択し、機能を有効にします。
    • Create Users
    • Update User Attributes
    • Deactivate Users
  4. Datadog Attribute Mappings で、Okta 属性から Datadog 属性への事前設定済みのマッピングを確認します。必要に応じて再マッピングできますが、Okta の値は同じ一連の Datadog 値にマッピングしてください。

Datadog ロール属性をマッピングする

SCIM によってユーザーの Datadog ロール (組み込みまたはカスタムロール) をプロビジョニングするには、roles 属性の明示的なマッピングを追加します。Okta では、この属性はデフォルトではマッピングされません。

Datadog の SCIM ロールサポートは、RFC 7643 で定義されている SCIM の複数値属性の規則に従い、ロール UUID を value として、ロール名を display として使用します。

{
  "roles": [
    { "value": "<DATADOG_ROLE_UUID>", "display": "<DATADOG_ROLE_NAME>" }
  ]
}
  1. Directory > Profile Editor で、Datadog SCIM 用に構成されたアプリケーションのユーザープロファイルを選択してから、Add Attribute をクリックして roles 属性を作成します。
    • Data type: 文字列
    • Display name: ロール
    • Variable name: ロール
    • External name: roles.^[primary==true].value
    • External namespace: urn:ietf:params:scim:schemas:core:2.0:User
    • Enum には、Define enumerated list of values を選択し、Datadog ロールごとに 1 つのエントリを追加します。その際、ロール名を表示名として、ロール UUID を値として使用します。ロール UUID は、組織の設定 ページのロールの URL で確認できます。カスタムロールも同様の方法で追加します。
  2. Datadog アプリケーションの Provisioning > To App 設定で、Okta の roles 属性を Datadog の roles 属性にマッピングします。
  3. アプリの Assignments タブで、各ユーザーに適切なロールをドロップダウンから選択して割り当てます。

SCIM リクエストで複数のロールが送信された場合、Datadog は組織内のロールと一致するもののみをプロビジョニングします。一致するものがない場合、ユーザーは組織のデフォルトロール (Standard) にフォールバックされ、一致しなかったロールは Audit Trail に記録されます。詳細については、SCIM を参照してください。

Teams の自動プロビジョニングを設定する

Managed Teams を使用すると、Datadog Teams の主要なプロビジョニング (名前、ハンドル、メンバーシップ) を ID プロバイダーを通じて制御できます。セットアッププロセスは、Datadog 内に Teams がすでに存在するかどうかによって異なります。

注: ユーザーを Teams に追加するには、そのユーザーが Datadog にすでに存在している必要があります。したがって、SCIM によって Datadog 内にユーザーが確実に作成されるようにするには、Okta の Datadog アプリにユーザーを割り当てる必要があります。チームメンバー全員が Datadog で自動的に作成されるよう、Okta グループに Datadog アプリケーションを割り当てます。

Datadog で新しい Teams を作成する

  1. Okta の Datadog アプリケーションで、Push Groups タブに移動します。
    Okta のプッシュグループ設定インターフェース
  2. Push Groups ボタンをクリックします。プッシュグループインターフェースが開きます。
  3. Datadog にプッシュする Okta グループを選択します。
  4. Match result & push action 列で、Create group が選択されていることを確認します。
  5. Save をクリックします。

操作が正常に完了したことを確認するには、Datadog の Teams リスト に移動します。設定した Okta グループと一致する Datadog Teams を検索します。Datadog 内に Teams が存在し、外部で管理されていることを確認します。Teams が Datadog に表示されるまでに 1 〜 2 分かかる場合があります。

外部で管理されている Identity team という名前のチームを示している Datadog チームリスト。

Okta グループとの既存の Datadog Team の同期

既存の Datadog Teams を Okta グループにマッピングできます。Okta グループから Datadog チームへのリンクを確立すると、それ以降はその Datadog チームは Okta によって管理されるようになります。

注: 既存の Datadog チームを Okta グループと同期するには、Okta グループ名から派生したハンドルが、既存の Datadog チームのハンドルと完全に一致している必要があります。

  1. Okta の Datadog アプリケーションで、Push Groups タブに移動します。
  2. Push Groups ボタンをクリックします。プッシュグループインターフェースが開きます。
  3. Datadog チームを同期する Okta グループを選択します。
  4. Match result & push action 列で、Create group が選択されていることを確認します。
  5. Save をクリックします。

注: Create group を選択すると、Okta にNo match found メッセージが表示されます。このメッセージは無視してグループの作成を続行し、同期を確立できます。

Okta グループと Datadog チーム間の関連付けを削除する

Okta グループと Datadog チームの関連付けを解除するには、2 つのオプションがあります。オプションによって、Datadog チームのメンバーシップへの影響は異なります。

Datadog でチームメンバーを保持する

この手順により、Okta ではなく Datadog でチームメンバーシップを管理できるようになります。チームメンバーは変更されません。

  1. Okta の Datadog アプリケーションで、Push Groups タブに移動します。
  2. Push Groups ボタンをクリックします。プッシュグループインターフェースが開きます。
  3. Datadog チームとのリンクを解除する Okta グループを選択します。
  4. Match result & push action 列で Unlink Pushed Group を選択します。ダイアログボックスが表示されます。
  5. Leave the group in the target app を選択します。
  6. Unlink をクリックします。
  7. Save をクリックします。

Datadog からチームメンバーを削除する

この手順により、Okta ではなく Datadog でチームメンバーシップを管理できるようになり、Datadog チームからチームメンバーが削除されます。

  1. Okta の Datadog アプリケーションで、Push Groups タブに移動します。
  2. Push Groups ボタンをクリックします。プッシュグループインターフェースが開きます。
  3. Datadog チームとのリンクを解除する Okta グループを選択します。
  4. Match result & push action 列で Unlink Pushed Group を選択します。ダイアログボックスが表示されます。
  5. Delete the group in the target app (recommended) を選択します。
  6. Unlink をクリックします。
  7. Save をクリックします。

注: オプションの名前に反して、Delete the group in the target app を選択しても Datadog からはチームが_削除されません_。代わりに、チームからすべてのメンバーが削除され、Okta のグループと Datadog チーム間のリンクが解除されます。

参考文献