New Relic は、パートナーのお客様の利便性を高めるためにシングルサインオン (SSO) をサポートしています。SSO を導入しているパートナー様は、パートナー様の管理サイトや製品のログインから New Relic にアクセスすることをお客様に義務付けることで、アクセスを制限することも可能です。
シングルサインオンは、お客様にとって利便性が高く、サインオン認証情報を何度も入力する必要がなく、また、ユーザーにとってもより統一感のある体験をもたらします。このような区別が望まれる状況では、SSOを推奨します。サービス間の区別を維持することが望ましい場合や、技術的な理由でSSOを導入できない場合でも、完全に機能する統合を実現することができます。
シングルサインオンの導入
New Relic では 2 種類の SSO 方法をサポートしています。New Relic は 2011 年にシングルサインオンシステムをアップグレードしました。2011年9月以前にNew Relicでシングルサインオンを実装した場合、古いシステムを使用していたことになります。そのSSOの実装方法は非推奨となりました。
すべての新しい統合は、新システムを使用する必要があります。旧システムを使用している既存の実装は、無期限に機能し続けます。ただし、旧システムを使用しているすべてのパートナーには、新モデルへのアップグレードをお勧めします。
シェアードシークレット方式を採用
New RelicのSSO実装のアップグレードされた共有秘密バージョンは、古いハンドシェイクバージョンに比べていくつかの改善点があります。最も重要なのは、システムの安全性が向上したことです。認証SSOリクエストにおいて、共有秘密のSHA1ダイジェスト、タイムスタンプ、リクエスト固有のデータを渡すことで、セキュリティが強化されています。共有秘密は任意の文字列です。どのような共有秘密を選択しても、New Relic Partner コンソールの適切なフィールドに入力します。
SSOの設定を編集するには
- パートナーシップのオーナーアカウントにログインします。
- New Relic UI のユーザー メニューから、 Account settings > Partnerships > Edit settingsを選択します。
- SSO タイプには、
signature
を選択します。 - SSOデータ の場合は、共有シークレットを入力します。
- Select Save.
強化されたセキュリティに加えて、新しい SSO メソッドはセッション Cookie をサポートします。ナビゲーション データは、ヘッダーとフッターの拡張機能をサポートするために、セッション Cookie に保存される場合があります。Cookie の名前は、パートナー コンソールで指定します。指定しない場合、Cookie 名はデフォルトでnav_data
になります。
この SSO メソッドを正常に使用するには、ユーザーのブラウザから SSO URI を起動する必要があります。成功すると、ブラウザは自動的に New Relic にログインされ、そのアカウントへのリダイレクト URL が返されます。
しかし、SSO URIはブラウザ上で生成すべきではありません。これは、共有された秘密が公開され、ログインが偽装される可能性があるからです。URIはホスト上で生成され、ユーザーのブラウザに渡されるべきである。
SSO API
説明
SSO認証リクエスト
方法
POSTまたはGET
URI
https://rpm.newrelic.com/accounts/sso_access
パラメーター
名前 | 必須 | 説明 |
---|---|---|
| はい | New RelicのアカウントのID。 |
| いいえ | ログインしているユーザーのEメールアドレス(オプション)。指定した場合、そのユーザーはすでにアカウントに追加されている必要があります。デフォルトでは、アカウントのOwnerロールが使用されます。 アカウントオーナーは、アカウントの全権限を持っています。それ以下のアカウント権限や別のユーザーを希望する場合は、電子メールを提供する必要があります。 |
| はい | トークンの生成に使用するタイムスタンプ(エポックからの秒数)。New Relic のシステムクロックから 5 分 (300 秒) 以内のタイムスタンプのみ受け付けられます。 |
また
| いいえ | パートナーのナビゲーション データ。このデータは、パートナーシップ構成で指定された名前、またはデフォルトの |
| はい | 署名付きトークン。署名トークンは、 メールなしの例: " 12345:MySecret:0987654321" Ruby 構文の使用: メールでの例: " 12345:MySecret:0987654321:user@host.com" Ruby 構文の使用: |
| いいえ | ユーザーが誘導されるNew Relicページの相対パス。 |
**cURLの例**。
curl -X POST -d "id=63790" -d "timestamp=1319659982" -d"token=a4d30d6f1f1a5b6c2872ab"https://rpm.newrelic.com/accounts/sso_access
curl -X POST -d "id=63790" -d "timestamp=1319659982" -d"token=a4d30d6f1f1a5b6c2872ab" -d "remote_url=/account/63790/servers"https://rpm.newrelic.com/accounts/sso_access
成功報酬について。
<html><body>You are being redirected.</body></html>