第 4 章 クラウドサービス事業者向け実装ガイド
4.3. 利用企業の管理者向け機能の実装
利用企業の管理者が、クラウドサービスと自社の認証システムの連携を設定するために必要な 機能について解説する。
4.3.1. OpenID Connect OP (認証サーバー)登録機能
OpenID Connectを用いた認証連携の設定では、利用企業の認証サーバーをOpenIDプロバイ
ダーとして登録するための機能が必要となる。登録にあたり、利用企業から次の情報が提供され る。
No 情報 例
1 クラウドサービスに割り当てたclient_id pWBoRam9sG
2 Issuerの識別子 https://op.com.example.co.jp
3 認証エンドポイントURI https://op.com.example.co.jp/authorize
4 IDトークン署名検証用の公開鍵 PEM形式 or JWK形式の公開鍵
5 IDトークン署名検証用の公開鍵のID iAw5
これらの情報を利用企業の管理者が Web フォーム画面へ入力し、登録管理する機能をクラウ ドサービスが提供することが望ましい。
このうち、ID トークン署名検証用の公開鍵に関する情報は、署名用のキーペアのローテー ションのために、利用企業が適切なタイミングで更新する情報となる。そのため、公開鍵の情報 の管理画面を専用に用意した方が、利用企業の管理者にとってわかりやすいものとなるだろう。
ID トークン署名検証用の公開鍵は、キーペアローテーションをスムースに行なうため、少な くとも 2つを登録することができる必要がある。IDトークン署名検証用の公開鍵のID (kid) に ついては、公開鍵毎にユニークな値が設定されていることの検証を行なうべきである。
クラウドサービスが個別の認証機能でサービスを利用する機能を有している場合、利用企業が
OpenID Connectを用いた認証連携を設定することで、個別の認証機能の利用を停止する機能も
必要である。
4.3.2. SCIM クライアント (ID 管理サーバー)登録機能
SCIM を用いたユーザー情報のプロビジョニングの設定では、利用企業の ID 管理サーバーを SCIMクライアントとして登録する機能が必要となる。
当実装ガイドでは、SCIM エンドポイントアクセス時の認証方式として、少なくともBasic認 証に対応することを求めている。Basic 認証によるエンドポイントアクセスの安全性を確保する ための機能として、次の3つを併用することを推奨する。
一つ目は、Basic 認証のためのパスワードをクラウドサービス側で生成して提供する機能であ る。
クラウドサービスは十分な長さ(32 バイト以上)を持つパスワードを生成し利用企業に提供 する。生成したパスワードは利用企業の管理者向けの管理画面で照会する。
この機能は、利用企業の管理者が、強度が不十分なパスワードを設定してSCIMエンドポイン トを利用することを予防することを狙いとするものであり、対応を強く推奨する。
二つ目は、SCIMクライアントのIPアドレスを用いたアクセス制御を行なう機能である。
Basic 認証で用いるパスワードは、自動的にかつ定期的に交換されるものではなく、人の手を
介在して交換・設定されるものであるため、パスワード漏えいによる第三者によるSCIMエンド ポイントアクセスのリスクがある。
このリスクを回避するために、クラウドサービスは SCIMクライアントの IPアドレスを用い たアクセス制御を実装することが望ましい。
SCIM クライアント登録機能として、利用企業が認識している正規の ID 管理サーバー
(SCIM クライアント)の IP アドレスを事前登録することで、このアクセス制御に対応する。
ID管理サーバーを複数構成するケースもあるため、複数のIPアドレスの登録に対応する必要が ある。
三つ目は、SCIMクライアントのエンドポイントアクセスの記録を提供する機能である。
SCIM エンドポイントのアクセスの記録として、クライアントの IP アドレスと行なった操作 の記録を提供することで、利用企業はSCIMエンドポイントへの意図しないアクセスを検出でき るようになる。
SCIM を用いたユーザー情報のプロビジョニングでは、異動情報の反映などに用いられるため、
特定の処理日において膨大な回数のSCIMエンドポイントの呼び出しが行なわれることとなる。
そのため、利用企業の管理者向けに提供されるアクセスの記録では、全アクセスの記録だけで はなく、単位期間毎のアクセス元 IP 毎のアクセス数の情報などのサマリ情報の提供を行なうと 良い。
4.3.3. 管理者向け機能利用時の認証方式
利用企業の管理者向け機能は、認証連携にかかわる重要な設定を扱うものとなる。そのため、
管理者向け機能利用時の認証には、ID とパスワードによる認証に加え、ワンタイムパスワード を利用するなど、多要素によるより安全な方式を提供すべきである。