SAML を使用したシングルサインオン
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

SAML を使用したシングルサインオン

このドキュメントは、SAML ID プロバイダー (IdP) が既に稼働中であることを前提としています。

Datadog アカウントに対して SAML (Security Assertion Markup Language) を構成すると、SAML IdP が構成された Active Directory、LDAP などのオーガニゼーションの ID ストアに保存されている資格情報を使用してすべてのチームメンバーが Datadog にログインできるようになります。

: Datadog アカウントで SAML が有効化されていない場合は、サポートチームに有効化を依頼してください。

2 分間のビデオをご覧ください。

SAML の構成

左側ナビゲーションメニューでユーザー名にマウスを置くとドロップダウンメニューが表示されますが、Datadog 管理者の場合は、ここに Configure SAML オプションがあります。

このオプションを選択すると、SAML Single Sign On Configuration ページが表示されます。

  1. Choose File ボタンをクリックして、SAML IdP から IdP メタデータをアップロードします。

    ファイルを選択したら、Upload File をクリックします。

  2. Datadog のサービスプロバイダーメタデータをダウンロードして、Datadog をサービスプロバイダーとして認識するように IdP を構成します。

  3. IdP メタデータをアップロードし、IdP を構成したら、Enable ボタンをクリックして Datadog で SAML を有効にします。

Datadog で SAML を構成し、Datadog からのリクエストを受け付けるように IdP のセットアップが完了したら、ユーザーは SAML Configuration ページ上部のステータスボックスに表示されるシングルサインオン URL からログインできます。

シングルサインオン URL は、Team ページにも表示されます。この URL をロードすると、IdP に対する SAML 認証が開始されます。: この URL は、アカウントで SAML が有効にならないと表示されません。

: マルチオーガニゼーションに対して SAML を構成する必要がある場合は、マルチオーガニゼーションに関するドキュメントを参照してください。

Datadog サービスプロバイダーの詳細

  • Datadog は、SAML2HTTP-POST 連結をサポートします。 urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
  • Datadog は、アサーションリクエストの NameIDPolicy の形式として urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress を指定します。
  • アサーションには署名が必要です。
  • アサーションは暗号化できますが、暗号化されていないアサーションも許可されます。
  • Datadog の SP メタデータを参照してください。

属性の設定

アサーションに属性を含めることができます。Datadog は、AttributeStatement で次の 3 つの属性を探します。

  1. eduPersonPrincipalName: 指定された場合、eduPersonPrincipalName は、ユーザーの Datadog ユーザー名に対応している必要があります。通常、ユーザー名はユーザーのメールアドレスです。
  2. sn: オプション。ユーザーの姓に設定されます。
  3. givenName: オプション。ユーザーの名に設定されます。

Datadog は、属性が URI NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:uri または基本 NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:basic を使用することを想定しています。各属性に使用される名前は、IdP が使用する NameFormat に依存します。

IdP が URI NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:uri を使用するように構成されている場合は、次のようになります。

  1. eduPersonPrincipalName: IdP は、属性の名前を urn:oid:1.3.6.1.4.1.5923.1.1.1.6 に設定します。
  2. sn: IdP は、属性の名前を urn:oid:2.5.4.4 に設定します。
  3. givenName: IdP は、属性の名前を urn:oid:2.5.4.42 に設定します。

IdP が基本 NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:basic を使用するように構成されている場合は、次のようになります。

  1. eduPersonPrincipalName: IdP は、属性の名前を urn:mace:dir:attribute-def:eduPersonPrincipalName に設定します。
  2. sn: IdP は、属性の名前を urn:mace:dir:attribute-def:sn に設定します。
  3. givenName: IdP は、属性の名前を urn:mace:dir:attribute-def:eduPersonPrincipalName に設定します。

eduPersonPrincipalName が AttributeStatement にある場合は、この属性の値がユーザー名として使用されます。eduPersonPrincipalName が AttributeStatement にない場合、ユーザー名は Subject の NameID から取得されます。NameID は、Format urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress を使用する必要があります。

sngivenName が提供されている場合は、Datadog プロファイルのユーザー名を更新するために使用されます。

個別の SAML IdP

個別の IdP の構成方法については、以下のドキュメントを参照してください。

その他の機能

SAML Configurationダイアログで、以下の機能を有効にできます。

ジャストインタイム (JIT) プロビジョニング

JIT プロビジョニングを使用すると、初めてログインしようとしたときに Datadog 内にユーザーアカウントが作成されます。したがって、管理者がユーザーアカウントを 1 つずつ手動で作成する必要がなくなります。

オーガニゼーションによっては、一部のユーザーを Datadog に招待したくない場合があります。アカウントに対する SAML の動作を変更したい場合は、Datadog のサポートチームにお問い合わせください。特定のユーザーが Datadog にアクセスできないようにする場合は、オーガニゼーション側で、Datadog にアサーションを送信しないように IdP を構成する必要があります。

管理者は、新しい JIT ユーザーにデフォルトのロールを設定できます。デフォルトのロールは「標準」ですが、新しい JIT ユーザーを「読み取り専用」や「管理者」として追加することもできます。

IdP 始動のログイン

Datadog URL がロードされると、ブラウザは、ユーザーが自分の資格情報を入力したカスタマー IdP にリダイレクトされ、IdP は Datadog に再度リダイレクトします。IdP によっては、最初に AuthnRequest を受け取らずに、直接 Datadog にアサーションを送信できます (IdP 始動のログイン)。

IdP 始動のログイン機能を有効にしたら (さらにキャッシュがクリアされるまで待った後に)、新しいバージョンの SP メタデータを取得する必要があります。新しい SP メタデータには、アサーションの送信先となるオーガニゼーション固有の AssertionConsumerService エンドポイントが含まれます。

更新された SP メタデータを使用しないと、Datadog はオーガニゼーションとアサーションを関連付けることができず、SAML の応答には “InResponseTo” 属性がないというメッセージと共にエラーページが表示されます。

SAML 限定

SAML 限定モードを有効にした場合、すべてのユーザーが SAML でログインする必要があります。それまでのユーザー名/パスワードまたは Google OAuth ログインは機能しません。Datadog へのアクセス権を持つすべてのユーザーは、Datadog アカウントにアクセスするために自社の IdP/ディレクトリサービスに有効な資格情報を持っている必要があります。

その他の参考資料