企業やその他の組織が利用するアイデンティティ連携の標準プロトコルとしては、SAMLが利用されているが、OAuth/OpenID Connectが急浮上している。今後SAMLとOAuth/OpenID Connectは、企業にどう使われていくのだろうか。2014年1月、Japan Identity and Cloud Summitのために来日したパット・パターソン氏に聞いた
[2014/02/11訂正]インタビューでは「OAuthおよびOAuthをベースとしたOpenID Connect」という文脈で聞いています。記事でこれを「OpenID Connect」という一語に集約してしまったのは大変不適切でしたので、「OAuth/OpenID Connect」に修正させていただきます。
企業やその他の組織が利用するアイデンティティ連携の標準プロトコルとしては、SAMLが利用されているが、ここにきてOAuth/OpenID Connectが急浮上している。今後SAMLとOAuth/OpenID Connectは、企業にどう使われていくのだろうか。2014年1月、Japan Identity and Cloud Summitのために来日したパット・パターソン(Pat Patterson)氏に聞いた。サン・マイクロシステムズに在籍していたパターソン氏はLiberty Allianceの活動を通じ、SAMLには早くから関わってきた。2010年より米セールスフォース・ドットコムでデベロッパー・エバンジェリスト・アーキテクトを務めている同氏は、最近特に、セールスフォース・ドットコムにおけるアイデンティティ関連活動への関わりを強めている。
――初期のSAMLは素晴らしい取り組みであるものの、複雑なものだったと理解している。これまでどう発展してきたと表現するか。
SAMLは柔軟性が高く、多様な用途に活用できたが、ある程度の複雑さも伴っていた。だがその後、関係者が同一の、比較的少数の属性を使うことでまとまってきた。アイデンティティ提供側が提供先にユーザーのアイデンティティ情報を送るやりかたとしては、Webブラウザとバックチャンネルの2つが以前からあったが、業界はブラウザを使ったアプローチを使うことに落ち着いた。導入がはるかにシンプルで、データセンターのファイアウォールのポートを開けなくて済むからだ。われわれが始めた当初は柔軟性と複雑さが同居していたが、徐々に1つのやり方に集約してきたといえる。
5年前には、SAMLとWS-Federationがアイデンティティ戦争を戦っていた。しかし当時すでにSAMLは必要十分な普及をしていた。そしてネットワーク事業者は周りを見渡し、同一の技術に落ち着くことを選択した。決め手となったのは、(WS-Federationを推進していた)マイクロソフトが、Active Directory Federation Services(ADFS)でSAMLにも対応したことだ。そのことがSAMLの正当性を確かなものにし、転換点となった。だれもが「やっと1つのテクノロジを皆が使える、これでコストと複雑さを軽減できる」と考えた。
もう1つ面白いと思うのは、私がLiberty Allianceを通じてSAMLに関わり始めたとき、SAMLの想定ユースケースは多少人工的につくられた感じがあった。消費者が(旅行を計画する際、)航空会社、レンタカー会社など各種のサービスを次々に使うというものだった。実際には、こうした統合はバックエンドで行われ、ユーザーは気にしなくてよくなった。
それに代わって起こったのは、SaaSの成長だった。企業の従業員はActive Directoryなどの社内アイデンティティ管理機能にまずアクセスし、そのあとSalesforce、Google、その他のサービスにアクセスするような使い方が増えてきた。Google、Workday、Concurなど、現在のサービスプロバイダのSAMLインテグレーションの仕方は非常に似通っており、以前ほど複雑なものではなくなった。
また、SAMLはXMLをベースとして作られた。もちろん強力な、エンタープライズにフォーカスした技術だが、FacebookやGoogleなど、コンシューマー向けのアイデンティティプロバイダが増えてきた。彼らにとってはOAuth/OpenID Connectのほうが使いやすい。RESTベースで、いまのWebアプリケーションに組み込みやすいからだ。私がセールスフォース・ドットコムに入ってから約3年半の間に、状況は大きく変化した。以前はSAMLが唯一の選択肢だったが、最近当社もOpen ID Connectへの対応を追加した。コンシューマー向けサービスとの統合のために必要だからだ。セールスフォース・ドットコムなどのサービス事業者やアイデンティティ管理製品ベンダのOAuth/OpenID Connectサポートが進むにつれ、企業におけるこのプロトコルの採用は広がるだろう。
――SAMLがOAuth/OpenID Connectに取って代わられる可能性はあると思うか。
非常に長い期間を掛けてという話なら、あり得る。SAMLは、エンタープライズの世界ではまだ支配的だ。バランスが変わり始めた後も、SAMLとOAuth/OpenID Connectは共存し続けるだろう。これは非常に長期にわたるシフトだと思う。SAMLはとても多くの製品に組み込まれているので、ずっと残り続けるということも考えられる。
――OAuth/OpenID Connectが勝つべきだと思うか。
それは面白い質問だ。何が起こるべきか。新しいアプリケーションを構築する人たちにとってはOAuth/OpenID Connectのほうがいい選択肢だろう。はるかに使いやすいからだ。あなたのパートナーがOAuth/OpenID Connectをサポートするなら、この新しい技術を使うほうがおそらく理にかなっている。だが、もしあなたのパートナーの全てがSAMLをサポートし、OAuth/OpenID Connectをサポートしているのが半数しかないなら、まずSAMLをやるのが理にかなっている。
しかし、私はフォレスター・リサーチがいうように、SAMLは「universal identity solvent(アイデンティティに関する汎用的な解決策)」だと考えている。SAML insertionさえできれば、ほとんど何にでも統合できるからだ。OAuth/OpenID Connectは実装が容易なため、普及スピードはSAMLより速いかもしれない。だが、(2つの技術の)バランスが傾くまでにはかなりの時間があるだろう。
――SAMLが将来使うのに適していないという理由があるとすれば、それは何か。
あるとすれば、Signed XMLの内在的な複雑さだ。RubyやNode.jsなどでアプリケーションを開発する人にとって、OpenID ConnectよりSAMLのほうが難しい。一方でエンタープライズの環境で、Javaを使ったり、アイデンティティ管理製品を使うのであれば、必要な作業は済んでいることになり、コストも吸収されている。
新しいサービス、例えばFacebookはSAMLをやっていない。GoogleはSAMLをインバウンドでしか受け付けない。つまりSalesforceからGoogleにSAMLでログインできるが、逆は不可能だ。こうしてコンシューマーをターゲットとした新たなアイデンティティ提供者はOAuth/OpenID Connectを選択している。
――企業が、Active Directoryを使わないで済むやり方はないのか。
その質問は、マイクロソフトにするべきだ(笑)。だが、中小企業なら、インターネット上のサービス、例えばSalesforceを社内アイデンティティ管理サーバとして使うことも可能だ。10人くらいの従業員のためにActive Directoryのサーバを立てる必要があるのか、代わりにSalesforceでユーザーアカウントを管理し、そこからGoogleやConcurにログインすることを考えるのもいいと思う。
Salesforceでは、前リリースのWinter '13でOpenID Connectのクライアント機能を実装した。次回リリースのSpring '14ではプロバイダ機能を実装する。われわれはどちらかをサポートしないなどの宗教的な立場をとらない。顧客が必要だと思うものを実装する。Salesforceはマルチテナントの企業向けサービスだ。だからアイデンティティ連携について、顧客に可能な限り選択肢を与える必要がある。
――シングルサインオンあるいはアイデンティティ連携により、どんな可能性がひらけてくると考えるか。
面白い技術として(Force.comで)Canvas APIというものを提供している。外部のアプリケーションを、Salesforceのユーザーインターフェイスの一部に組み込むものだ。iFrameで統合し、アイデンティティトークンをはじめとする情報を渡せる。
このため、Salesforceの画面の一部に「発送」というボタンをつけて、これを押すとバックエンドシステムにアクションを起こさせ、バックエンドシステムからのAPIコールで、Salesforce側のステータスも「発送」に変えるといったことができる。非常にシームレスで緊密な統合が可能だ。
――アイデンティティ管理をサービスとして提供しているスタートアップ企業などがあるが、この市場は大きなものになると思うか。
この市場がどうなるかは分からない。だがSalesforceではアイデンティティ機能に限定したライセンスを提供するようになっている。従って、Salesforceをアイデンティティ管理サービスとして使ってもらうことも可能だ。営業に関連した人々だけがSalesforceを使うのではなく、アイデンティティのみのライセンスを社内全体にいきわたらせることもできる。その意味ではサービスとしてのアイデンティティ管理を提供しているといえる。
まずは既存顧客が社内全体に展開できるよう、Salesforceのアイデンティティ管理プラットフォームをさらに役立つものにしていく。そのうえで、アイデンティティ管理機能だけを使う顧客が出てきたとしたら、素晴らしいことだ。
Copyright © ITmedia, Inc. All Rights Reserved.