Azure ADを使ってNew RelicへのログインをSSO化する

所要時間:約 6分

New RelicへのログインはSAML 2.0をサポートしているIdentity Providerを使うとシングルサインオン(SSO)が構成できます。その中でも、Azure Active Directory (Azure AD)を使う場合、Azure ADに登録したユーザーのUPN(User Principal Name)とメールアドレスが異なる場合の設定方法を含めてご紹介したいと思います。なお、このSSOの設定はOriginal user modelの場合に適用されます。

SSO設定に関してはIntro to SAML SSOに記載があります。AzureADでの設定に関してはそのドキュメントからもリンクされているMicrosoftのドキュメントチュートリアル:Azure Active Directory シングル サインオン (SSO) と New Relic by Account の統合に詳細な手順が記載されています。詳細な手順はドキュメントを参照していただきたいのですが、この記事ではドキュメントを補足するような注意点をまとめたいと思います。

まず、設定作業ですがお客様ご自身で実行していただけます。このとき、Azure AD側の設定とNew Relic 側の設定が必要です。SSO設定をするNew Relicアカウントのオーナーユーザーの方がAzure ADのエンタープライズアプリケーションを編集できる権限をもっていると作業がスムーズにできると思います。加えて、New Relic側のSSO設定は設定した後そのオーナーアカウント自身がSSOでログインできるか確認し、ログインできた場合に有効化できます。失敗したときは有効化しなければまだSSOはアカウントに設定されていません。間違った状態でSSOを設定するとそのアカウントにだれもログインできなくなってしまうため、失敗したときは有効化しないということをぜひ覚えておいてください。なお、万一SSO設定を行った後に間違いにきづきだれもログインできなくなってしまった場合は、サポートチケット経由でSSOの無効化処理を行います。別のサブアカウントでログインできる場合はそちらからサポートチケットを作成していただけますし、どのアカウントでもログイン出来ない場合はアカウントチーム、もしくはExplores Hubでご連絡ください。

実際の作業手順ですが、まずはドキュメントにそって、対象のAzure ADテナントにNew Relic by Accountというエンタープライズアプリケーションを追加します。New Relic by orgという別のアプリケーションもありますが、これは別用途のものですので今回は使いません。

次のAzure AD SSO の構成のところで2点注意が必要です。1点目はMicrosoft側のドキュメントには記載がないですが、基本的なSAML構成の設定で応答URL(Account Consumer Service URL)にhttps://rpm.newrelic.com/accounts/ACCOUNTID/sso/saml/finalizeというURLを設定する必要があります。2点目は複数のサブアカウントで異なるIdentityサービスプロバイダーの設定を利用する場合のみ注意が必要です。異なるサービスプロバイダーの設定とは、複数のサブアカウントに対して別々のエンタープライズアプリケーションを設定する場合、異なるAzureADをサービスプロバイダーとして利用する場合、AzureADと別のサービスプロバイダーを利用する場合、などが含まれます。その場合、New RelicのカスタムエンティティIDを使った設定が必要になります。この場合、エンティティURLのところはデフォルトでrpm.newrelic.comという値が入っていますが、New RelicのSSOの画面で「Use custom entity ID」にチェックを入れた表示される値を設定する必要があります。以下の図はこのカスタムエンティティIDを使う場合の設定例です。

なお、これらのパラメーターはNew Relic側のSSOの設定画面でも確認することができます。

次にAzureADの「ユーザー属性とクレーム」の一意のユーザーID項目を確認します。もし、New Relicのアカウントのメールアドレスとして利用している値が、Azure ADのユーザーのUPNと一致していれば、この設定はデフォルトの user.userprincipalname のままで問題ありません。もし、UPNとメールアドレスが異なる場合は、上の画像のようにuser.emailに値を変更し、Azure ADのユーザーのメールアドレス属性がNew Relicのユーザーのメールアドレスと一致しているかを確認してください。

ここまで設定できたら、ドキュメント通り、SAML署名証明書の項目で証明書をダウンロードし必要な値をコピーし、New RelicのSSOの画面で設定します。

SSOのテストですが、Azure AD側のテストボタンはNew Relic側の画面で設定完了するまで使えないため、New Relic側の機能で行います。次の画面で下のようなテストログインボタンがでますので、クリックし、いまログインしているオーナーのメールアドレスが設定されているAzure ADのユーザーでログインしてSSOを行います。

テストに成功すると次の画面になります。ここで「Enable SAML login」をするとアカウント全体にSSOが設定されます。もしクリックしてから無効化したい場合は、オーナーがログインできている状態であればDisableボタンを押して無効化できます。オーナーがログインできない状態になっているとサポートチケット経由での処理が必要になります。

今回は基本的な設定のみご紹介しましたが、Azure ADには非常に高度で複雑な機能が備わっています。もし、それらの機能とNew RelicのSSOとの関連性について疑問がある場合はぜひ弊社までお問い合わせください。