クラウド-オンプレミス環境の架け橋となるSAP HANA Cloud Connectorの仕組みを紐解く
作成者:山澤 雅史 投稿日:2015年12月16日
SAPジャパンの山澤です。
数回にわたってお送りしてきたSAP HANA Cloud Platform(HCP)の紹介シリーズですが、今回は クラウドとオンプレミスの重要な架け橋になるSAP HANA Cloud Connector(以降 Cloud Connectorと略するケース有)について紹介をしたいと思います。
SAP HANA Cloud Connectorに関しては、過去のSAP HANA Cloud Platform紹介記事でも触れていますが、オンプレミスとクラウド間に仮想トンネルを構築して両者における通信を安全に行うものです。
この記事を通じてSAP HANA Cloud Connectorについて理解を深めて頂ければと思います。
SAP HAHA Cloud Connectorの概観
HCPにおけるConnectivityサービスはオンデマンド(クラウド)アプリケーションと顧客ネットワーク内で作動するシステムとの安全な連携を可能にします。
このために、Cloud Connectorは連携の仲介役(エージェント)としてオンプレミス側のネットワークに導入される必要があり、HCPアカウントへの永続的SSLトンネルを確立する役割を担います。
このトンネルの確立のために、Cloud Connectorの管理者はHCPアカウントに認証される必要があります。 一旦トンネルが確立されると、顧客ネットワーク内のシステムをリモートに呼び出すために接続アカウントのアプリケーションによって使用されます。
以下に示した図は、Cloud ConnectorがHCPアプリケーションとオンプレミスシステム間で安全な接続のために使用されるランドスケープです。
一つのCloud Connectorのインスタンスは複数のHCPアカウントへ接続が可能であり、それぞれの接続は独立した認証と構成定義を必要とします。 任意の数のSAPや非SAPのシステムが一つのCloud Connectorインスタンスに接続することができます。
オンプレミスシステムはCloud Connectorとの組み合わせの中で、オンプレミスシステムとCloud Connector間の信頼が確立されない限り、触れられる必要はありません。
Cloud Connectorはまた、高可用性モードでも管理されることができます。この場合、シャドウCloud Connectorと呼ばれるセカンダリーインスタンスは、マスタ―インスタンスが利用不可となった場合に切り替わるために導入されます。
Cloud Connectorは データベーストンネルと呼ばれるオンプレミスネットワークからHCPアカウントへの直接接続もサポートします。 これはHCP上のHANAデータベースや他のデータベースにODBC/JDBCのデータベースツールへの接続などを可能にします。
Inbound接続
- Cloud Connectorの導入
- クラウド(HCP)アカウントへの接続の確立
- オンプレミスシステムの構成
- クラウドアプリケーションからオンプレミスシステムへの接続
オンプレミスネットワークへのInbound接続のために、Cloud ConnectorはHCPとInternalシステムとの間のリバースインボークプロキシとして振る舞います。 導入されただけでは、Cloud Connectorを介しても、デフォルトではどのシステムへもアクセスすることはできません。HCPへ公開されるべき各々のシステムやすべてのシステムの各々のサービスやリソースはCloud Connectorで明確に構成される必要があります。
Cloud Connectorの管理者は構成されたオンプレミスシステムがクラウドから使用できるように、仮想のホスト名やポートを明示する可能性があります。このことによって物理的なホスト情報がクラウドへ公開されることを回避します。
リバースインボークのアプローチにより、Cloud ConnectorからHCPへSSL トンネルを確立し、Cloud Connectorの管理者にトンネルの制御を与えます。 例えばトンネルはクラウドから、もしくは企業ネットワークの外部いずれからも確立をできなくし、Cloud Connector管理者はトンネルの確立と閉鎖するときを決定する(唯一の)人となります。トンネルそのものは強力なコミュニケーション暗号化されたTLSや、コミュニケーション両サイド、クライアント側(Cloud Connector側)とサーバ側(HCP側)のMutual認証が使用されます。
証明書
Cloud ConnectorとHCPアカウントの認証に使用されるX.509証明書は発行、制御されCloud Connectorとクラウド内のセキュアストレージで管理されます。トンネル暗号化と認証をおこなうことで、HCPアプリケーションとCloud Connector間コミュニケーションの機密性と信頼性は保証されます。
アプリケーション制御
制御の追加のレベルとして、Cloud Connectorはトンネルを使用することができるHCPアプリケーションのリストを任意に制限します。これは 複数のアプリケーションが一つのHCPアカウントにデプロイされていて、個別のアプリケーションのみがオンプレミスへの接続を必要とするような状況で有効です。
HCPはインフラとプラットフォーム層とアカウントレベルでの厳格な分離を保証します。このことは、一つのアカウントのアプリケーションが他のアカウントのリソースの使用やアクセスできないということです。接続サービスのために、一つのアカウントのHCPアプリケーションが他のアカウントのトンネルへのアクセスができないことを意味します。
サポートプロトコル
Cloud ConnectorはHTTPやRFCの接続をサポートし、他のプロトコルはサポートしません。これらのプロトコルで送られるデータペイロードはTLS/トンネルレベル上で暗号化されます。Cloud Connectorからオンプレミスシステムへのルートのために、Cloud Connector管理者はそれぞれの構成されるオンプレミスシステムがHTTP, HTTPS, RFC, RFC over SNCを使用するかの選択ができます。HTTPSのために、システム証明書はCloud Connectorと接続されるオンプレミスシステム間の信頼関係を構築するためにCloud Connectorで構成されることができます。RFC over SNCのために、SNC PSEは個別にCloud Connectorで構成されます。
Cloud Connectorは 接続されたオンプレミスシステムへクラウドユーザIDのプリンシプル伝播をサポートします。 このために、(HTTPSのケースの場合の)システム証明書や(RFCケースの場合の)SNC PSEは構成や個々のオンプレミスシステムと信頼構築するために必須となります。 プリンシプル伝播のための信頼の構成は、Cloud Connectorが使用するオンプレミスシステムを構成し、接触する唯一の方法です。
オーディットロギング
オーディットロギングは組織におけるリスク管理戦略において重要な要素です。 Cloud ConnectorはCloud Connector間のアクセスの完全なレコードやCloud Connectorによる構成の変更のオーディットロギングを提供します。 書き出されたオーディットログファイルはCloud Connectorによりサインされ、完全性をチェックされます。
Cloud Connectorのオーディットログは、通常と異なるもしくは、システムやネットワークの疑わしい動きに対してCloud Connector管理者へのアラートのために使用することができます。さらに、オーディットログデータは監査にセキュリティポリシーの執行の確認と適切な役割分担の要求される情報を提供することができます。ITスタッフはセキュリティ関連問題の原因追究のためのデータとして使用することができます。
Outbound接続
- Cloud Connectorの導入
- HCP上のHANA DBへのサービスチャネルの構成
- オンプレミスデータベースもしくはBIツールからHCP上のHANA DBへ接続
Cloud Connectorはデータベーストンネルと呼ばれるオンプレミスネットワークからHCPへの直接の接続をサポートします。これはローカルのデータベースツールがJDBCやODBCによりHCP上のHANA DBや他のデータベース接続するために利用できます。例えば Lumira、BOE、Data ServiceのようなSAP BusinessObjectsのツールなどからの利用が可能になります。
データベーストンネルはCloud ConnectorからクラウドへのJDBCもしくはODBCの接続のみを許可します。他のプロトコルのための利用は不可です。トンネルはInbound 接続と同じセキュリティメカニズム使用します。例えばTLS暗号化とMutual認証、いつ、だれがトンネルを確立し、閉じたかのオーディットログなどです。
Cloud Connectorはデータベーストンネルの目的のために単独で利用されることができます。 このケースにおいてはInbound接続のための構成はおこなわれません。 唯一オンプレミスネットワークからクラウド上のHANA DBへの接続のみがCloud Connectorを介して許可されます。
データベーストンネルを使用するために2つの異なるHCPユーザが必要となります。一つ目はHCPアカウントのメンバとしてのユーザで、HANA DBへデータベーストンネルを確立するのに必要となります。2つ目はHANA DBのユーザでデータベースへのODBC/JDBC接続ために必要となります。HANA DBのユーザにとって、HANAのRoleや権限は、関連するユーザがどのアクションをデータベース上で実行できるかを制御するために使用されます。
拡張経緯
Cloud Connectorの最新バージョンは2.6.1となりますが(2015年12月3日現在)、随時機能の拡張が図られております。
以下に主要な拡張の経緯を紹介しますが、詳細についてはリリース情報をご確認ください。
~ SAP HANA Cloud connector 2.6.0
- コマンドラインツールの追加(UIポートの調整..)
- ログオン失敗回数の制限機能
- SAP HANA Cloud connector, version 2.5.0
- サービスチャネル(ロ―カルネットワークでクラウドサービスへアクセス)の提供
- 高可用性設定のサポート
- LDAP認証構成時のセキュア接続(LDAPS)
- など
~ SAP HANA Cloud connector 2.3.0
- アプリケーションWhitelistによるトンネル利用アプリケーション制限機能
- プリンシパル伝播サポートのRFCプロトコルへの拡張
- アクセスコントロール構成のExport/Import機能
- シングルインストレーションにおける複数アカウントのサポート
- プリンシパル伝播のサポート
- オーディットログの完全性チェック
- ペイロードトレース機能
- Windows64bit MSI, Linux 64bit Zip, MacOS X 64bit Zip installer
- など
~ SAP HANA Cloud connector 1.3.1
- RFCプロトコルサポート
- Host ヘッダー(仮想ホストを含む)サポート
- SCCプロセスのプロセスモニタ
- SCCオーディットログの拡張(構成変更情報の追加)
- 公開可能バックエンドのシステムマッピング機能
- Cloud Connector管理者の認証のためのLDAPサポート
- バックエンド接続のためのMutual認証のためのシステム証明書
- など
まとめ
SAP HANA Cloud Connectorは現状のFirewallやDMZの構成を変更することなしに、HCPとオンプレミス間の安全な接続を提供し、アプリケーションの連携を可能にするとともに、HTTP以外のプロトコルのサポートや オンプレミスのLDAPをクラウドユーザの認証に利用したりすることを可能にします。
今回はHCPとオンプレミスのシステムを安全に接続するためのSAP HANA Cloud Connectorの主にセキュリティに関する内容をお伝えしました。
今回の内容がSAP HANA Cloud Connectorの理解の一助となれば幸いです。
本内容は SCN (http://scn.sap.com/welcome)のBlog
“SAP HANA Cloud Connector security whitepaper”の内容を基に抄訳、意訳したものです。 ご興味のある方は是非原文(link http://scn.sap.com/docs/DOC-60903)もご参考ください。
用語補足
プリンシパル伝播:Connectivityサービスにより提供されるオンデマンドユーザのIDをCloud Connectorへ、さらに関連するオンプレミスシステムへ安全に転送する仕組み
SNC : セキュアネットワーク通信 – インターネット、特にWAN 接続を使用した安全なネットワーク接続
PSE : パーソナルセキュリティ環境 – ユーザまたはコンポーネントの公開鍵に関する情報が保存されている安全な場所
Mutual認証 : 通常クライアントとサーバの 2 者が互いに認証し合うプロセス