(このブログはCopy Database/Move Database on SAP HANAの説明中のSSL設定手順補完のために書かれています。)
複数のSAP HANA MDCインスタンス間でデータベースのコピー/移動を行う場合、インスタンス間でSSLによるセキュアな通信が確保される必要があります。この記事は、Copy database/Move Databaseを行う際に必要なSSLの設定に就て説明します。
SSLを使用する場合、サーバーは証明書の管理を行う必要がありますが、SAP HANAは証明書管理の方法(PKI)を複数提供しています。
SAP HANAが提供するPKIで、インストールと同時に設定されます。
サーバーのPrivate key、サーバー証明書は、$SECRDIR/sapsrv.pse内に保存されています。
この記事では、systemPKIをDBオブジェクトにより管理する方法で設定を説明します。
説明文中、コピー元ホストがhost1、コピー先ホストがhost2、HANAインスタンスのSIDは両方ともSR1です。
まず、PKI管理の対象となるものには以下があります。
これらを管理するためのDBオブジェクトには以下のものがあります。
以上を図で表すと以下のようになります。
SAP HANAが提供するPKIであるsystemPKIは、ファイルシステムベースの管理で提供されています。今回は、DBオブジェクトで管理しますので移行が必要です。
ここまでの説明でキーや証明書がBase64形式で存在すればPSEへの登録ができることはわかりました。しかし実際は、$SECUDIR/sapsrv.pseの内容を見ればわかりますが、バイナリー形式(多分、.DER形式)で提供されています。従いまして、前処理として、host1/host2それぞれのsapsrv.pseから秘密鍵とサーバー証明書を抽出する必要があります。
この辺りの情報と抽出のためのスクリプトを提供するのがSAP Note 2175664です。簡単にここで説明すると、提供されるextract_certificates.pyにsapsrv.pseを引数として与えて実行すると、Base64形式のコンテンツを伴ったALTER PSE ... SET OWN CERTIFICATE文が得られる、ということです。詳細は、Noteをごらんください。
'-----BEGIN RSA PRIVATE KEY-----Host1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost
1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Pri
vateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Private
KeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyH
ost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1
PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Priv
ateKeyHost1PrivateKeyHost1PrivateK==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----Host1ServerCertificateHost1ServerCertificateHost1ServerCertifica
teHost1ServerCertificateHost1ServerCertificateHost1ServerCertifi
cateHost1ServerCertificateHost1ServerCertificateHost1ServerCerti
ficateHost1ServerCertificateHost1ServerCertificateHost1ServerCer
tificateHost1ServerCertificateHost1ServerCertificateHost1ServerC
ertificateHost1ServerCertificateHost1ServerCertificateHost1Serve
Host1ServerCertificaterCertificate==
-----END CERTIFICATE-----';
(PRIVATE KEYの部分を以降、host1秘密鍵と引用します。)
(CERTIFICATEの部分を以降、host1サーバ証明書と引用します。)
ALTER PSE <name> SET OWN CERTIFICATE
'-----BEGIN RSA PRIVATE KEY-----Host2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost
2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Pri
vateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Private
KeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyH
ost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2
PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Priv
ateKeyHost2PrivateKeyHost2PrivateKey==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----Host2ServerCertificateServerCertificateServerCertificateServerCe
rtificateServerCertificateServerCertificateServerCertificateServ
erCertificateServerCertificateServerCertificateServerCertificate
ServerCertificateServerCertificateServerCertificateServerCertifi
erCertifiServerCertificateServerCertificateServerCertificateServ
cateHost2ServerCertificateHost2ServerCertificateHost2ServerCerti
ficateHost2ServerCertificateHost2Ce==
-----END CERTIFICATE-----';
(PRIVATE KEYの部分を以降、host2秘密鍵と引用します。)
(CERTIFICATEの部分を以降、host2サーバ証明書と引用します。)
'-----BEGIN RSA PRIVATE KEY-----
Host1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost
1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Pri
vateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Private
KeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyH
ost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1
PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1PrivateKeyHost1Priv
ateKeyHost1PrivateKeyHost1PrivateK==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Host1ServerCertificateHost1ServerCertificateHost1ServerCertifica
teHost1ServerCertificateHost1ServerCertificateHost1ServerCertifi
cateHost1ServerCertificateHost1ServerCertificateHost1ServerCerti
ficateHost1ServerCertificateHost1ServerCertificateHost1ServerCer
tificateHost1ServerCertificateHost1ServerCertificateHost1ServerC
ertificateHost1ServerCertificateHost1ServerCertificateHost1Serve
Host1ServerCertificaterCertificate==
-----END CERTIFICATE-----';
'-----BEGIN CERTIFICATE-----
Host2ServerCertificateServerCertificateServerCertificateServerCe
rtificateServerCertificateServerCertificateServerCertificateServ
erCertificateServerCertificateServerCertificateServerCertificate
ServerCertificateServerCertificateServerCertificateServerCertifi
erCertifiServerCertificateServerCertificateServerCertificateServ
cateHost2ServerCertificateHost2ServerCertificateHost2ServerCerti
ficateHost2ServerCertificateHost2Ce==
-----END CERTIFICATE-----';
'-----BEGIN RSA PRIVATE KEY-----
Host2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost
2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Pri
vateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Private
KeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyH
ost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2
PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2PrivateKeyHost2Priv
ateKeyHost2PrivateKeyHost2PrivateKey==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Host2ServerCertificateServerCertificateServerCertificateServerCe
rtificateServerCertificateServerCertificateServerCertificateServ
erCertificateServerCertificateServerCertificateServerCertificate
ServerCertificateServerCertificateServerCertificateServerCertifi
erCertifiServerCertificateServerCertificateServerCertificateServ
cateHost2ServerCertificateHost2ServerCertificateHost2ServerCerti
ficateHost2ServerCertificateHost2Ce==
-----END CERTIFICATE-----';
-----END CERTIFICATE-----';
以上
2016年9月7日
花木敏久
SAPジャパン
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
41 | |
25 | |
17 | |
14 | |
9 | |
7 | |
6 | |
6 | |
6 | |
6 |