DOCS
インテグレーションガイド / AD FS

AD FS

本記事は米国PagerDuty社のサイトで公開されているものを日本語訳したものです。原文はこちらです。

Active Directoryフェデレーションサービス(AD FS)は、Active Directory構成をインフラストラクチャ外のサービスに拡張するテクノロジーです。 AD FSを使用すると、ユーザーは資格情報を別途管理する必要なく、PagerDutyにアクセスできるようになります。

このガイドはWindows Server 2012 R2で作成およびテストされましたが、以前のバージョンのWindows ServerではAD FSも提供されています。

これらの変更を行うには、PagerDutyアカウントのアカウント所有者でなければなりません。 さらに、PagerDuty内のSSO機能は、Enterpriseプランで利用可能です。 プランのアップグレードにご興味のある方は、お問い合わせください。

PagerDutyでの設定

  1. AD FS Managementコンソールを開き、操作ペイン でAdd Relying Party Trustクリックし、ウィザードの概要ページでStartをクリックします。 Start-ARPT-Wizard
  2. Enter data about the relying party manually選択し、Nextをクリックします。 AD-FS-RPT-Data-Source
  3. PagerDutyなどのDisplay name入力し、Nextをクリックします。 ADFS-RPT-Display-name
  4. AD FS profile を選択し、Nextをクリックします。 AD-FS-RPT-Profile
  5. トークン暗号化証明書は必要ありませんので、Next をクリックして続行します。 AD-FS-RPT-Cert.png
  6. PagerDutyアカウントにログインし、Configuration メニューからSettingsを選択します。アカウントの詳細ページが表示されたら、右側のサイドバーでSingle Sign-on をクリックします。 3
  7. SAML ラジオボタンをクリックして、PagerDutyでシングルサインオンを設定し、 SAML Endpoint URLをコピーしてウィザードに貼り付けます。 4
  8. AD FSサーバーに戻って、Enable support for the SAML 2.0 WebSSO protocolボックスをチェックにして、コピーしたURLをRelying party SAML 2.0 SSO service URLボックスに貼り付けて、Nextをクリックします。 AD-FS-RPT-SAML-URL
  9. PagerDutyのサブドメインで https:// を含み末尾にはスラッシュをつけないでRelying party trust identifierフィールドに入力し、 Nextをクリックします。 Note: PagerDutyのサブドメインは、記述した通りに正確に入力することが非常に重要です。 https:// を含めない場合や、URLの末尾にスラッシュを含めた場合は、インテグレーションは機能しません。 AD-FS-RPT-Identifiers
  10. ユーザーに必要な多要素認証オプションを選択し、Next をクリックします。 Note:多要素認証を有効にするには、このガイドの対象外になり、追加の手順をご自分で調べていただく必要があります。 AD-FS-RPT-MFA
  11. Permit all users to access this relying party を選択し、Nextをクリックします。 Note:この設定をデフォルトで選択せず、特定のユーザーのみにPagerDutyへのアクセスを許可することもできますが、そのプロセスの説明はこのガイドの対象外です。 AD-FS-RPT-Auth
  12. 設定を確認し、Nextをクリックします。 AD-FS-RPT-Review
  13. Closeをクリックしてウィザードを終了します。 AD-FS-RPT-Finish
  14. 発行ルールのEditタブで Add Rule… をクリックします。 AD-FS-Edit-Claim-Rules
  15. Send LDAP Attributes as Claimsを選択し、Nextをクリックします。 AD-FS-Claim-Rule-Type
  16. Get AttributesなどのClaim rule name入力し、Attribute storeをActive Directoryに設定し、最初のLDAP属性に E-Mail-Addressesを入力し、送信タイプを E-Mail Address に設定し、 2番目のLDAP属性を設定し、発信タイプを Name 設定します。 完了したら、Finishクリックします。 Note:指定した値で入力を開始した後は、ダッシュとスペースを使用して正確に同じオプションを選択することが非常に重要です。 厳密に一致しない変数を選択すると、インテグレーションが機能しないことがあります。 AD-FS-Claim-Rule-Attributes
  17. 発行規則のEdit タブで Add Ruleを再度クリックします。
  18. Transform an Incoming Claim を選択し、Next をクリックします。 AD-FS-Transform-Claim-Rule-Type
  19. Claim rule nameには、Name ID Transformと入力し、Incoming claim typeE-Mail Address に設定し、Outgoing claim typeName ID に設定し、 Outgoing name ID formatEmail 設定します。Pass through all claim values を選択し、Finish をクリックします。 Note:指定した値で入力を開始した後は、ダッシュとスペースを使用して正確に同じオプションを選択することが非常に重要です。厳密に一致しない変数を選択すると、インテグレーションが機能しないことがあります。 たとえば、 Outgoing claim typeNameID をName IDではなくNameIDと設定すると、Outgoing name ID formatEmail に設定することはできず、統合は機能しません。 AD-FS-Transform-Claim-Rule
  20. Configuration Ruleの編集 タブでAdd Rule… を再度クリックします。
  21. Send Claims Using a Custom Rule を選択し、Next をクリックします。 AD-FS-Custom-Claim-Rule-Type
  22. Name Attribute Name TransformなどのClaim rule name 入力し、 Custom rule を次のように設定します。

c:[Type == h​ttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/name] => issue( Type = "Name"、Issuer = c.Issuer、OriginalIssuer = c.OriginalIssuer、Value = c.Value、ValueType = c.ValueType);

完了したら、Finish クリックします。 AD-FS-Custom-Claim-Rule

  1. Edit Claim Rules ダイアログで OK をクリックします。
  2. Service > Certificates と移動し、Token-signing certificate を選択し、操作ウィンドウで View Certificate … をクリックします。 AD-FS-View-Cert
  3. Details タブに移動し、Copy to File をクリックし、証明書のエクスポートウィザードのページで Next をクリックします。 AD-FS-Cert-Details
  4. **Base-64 encoded X.509(.CER)**を選択し、 Next をクリックします。 AD-FS-Cert-Export-File-Format
  5. 証明書ファイルを保存する場所を選択し、Next をクリックしてFinishOK 、さらにOK をクリックします。
  6. Authentication Policies に移動し、Primary Authentication Global Settings をクリックします。 AD-FS-Primary-Auth-Global-Settings
  7. IntranetForms Authentication を選択し、 OK をクリックします。 Note:これはWindows Server 2012 R2に必要です。 以前のバージョンのWindowsでは既定でフォーム認証が既に有効になっています。 また、フォーム認証を有効にすることは、PagerDutyだけでなく、設定されたすべてのサイトに適用されます。次のPowerShellコマンドを使用してフォームをイントラネットのフォールバック認証方法として設定することもできます。

Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider @('WindowsAuthentication'、 'FormsAuthentication')

AD-FS-Edit-Global-Auth-Policy 30. エクスポートした証明書ファイルをNotepad(または別のプレーンテキストエディタ)で開き 、内容をコピーします。 注:証明書ファイルの内容をコピーするときは、 -----BEGIN CERTIFICATE----- および -----END CERTIFICATE----- ヘッダーを含める必要があります。そして、メモ帳または別のプレーンテキストエディタを使用して証明書ファイルを開く必要があります。 ワードパッド、Wordなどはプレーンテキストエディタではないので、証明書を正しくコピーできないことがあります。 AD-FS-Cert-in-Notepad-768x555

  1. PagerDutyで、 X.509 Certificate フィールドに証明書を貼り付け、AD FSサービスの Login URL を入力します。 ログインURLは、通常、FQDNまたはIP、または /adfs/ls 付加されたサーバー( https://login.company.com/adfs/ls )です。このガイドの手順を完了してテストが完了すると、このページに戻って、ユーザ名とパスワードでユーザログインを無効にします。自動プロビジョニングを有効にすると、SSOユーザーが手動で介入することなくPagerDutyアカウントを作成できるようになりますが、料金プランに含まれるユーザー数を超える場合は、追加のユーザーを追加すると請求に影響します。このページで作業が完了したら、Save Changes クリックします。 AD-FS-Cert-URL
  2. おめでとう! AD FSを使用してPagerDutyにログインできるようになりました。

よくある質問

  1. ユーザ名とパスワードの認証が無効になっていたら、Account OwnerはSSOなしでログインできますか?

    このユーザー名とパスワードの認証がユーザーに対して無効になっている場合でも、Account Ownerは、SSO構成を変更するか完全に無効にする必要がある場合は、バックアップオプションとしてユーザー名とパスワードで常にログインすることができます。

  2. アカウント設定でシングルサインオンオプションが表示されないのはなぜですか?

    SSOは現在のエンタープライズプランのアカウントでのみ利用可能です。

  3. 自分の設定にユーザーロール/職種を含めるカスタムクレームルールを作成するにはどうすればよいですか?

    ‘Name’ Attribute Name Transform ルールを作成するために使用した手順に従いますが、要求ルールを次のように設定します。

    c:[Type == "jobresponsibilities"]
    => issue(Type = "Role", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);