Amazon Web Services ブログ

SAP証明書管理のオーバーヘッドをAWS Certificate Managerで削減

はじめに:

署名付き証明書はデジタルパスポートのようなもので、システムのアイデンティティを認証し、安全なデータ転送を保証します。組織がSAPランドスケープをクラウド環境全体に拡張し、サードパーティアプリケーションと統合するにつれて、適切に実装された証明書は、セキュリティ侵害や不正アクセスを防ぎながら、ビジネスクリティカルなシステムのスムーズな運用を維持するために不可欠となります。

多くのSAP管理者やセキュリティ専門家にとって、証明書の管理は、すでに要求の厳しい環境において、さらに複雑なタスクのように思えるかもしれません。ここでAWS Certificate Manager(ACM)が役立ちます。AWS Certificate Managerは、パブリックおよびプライベートSSL/TLS証明書のプロビジョニング、管理、デプロイに使用されるサービスです。これらの証明書を使用して、SAPワークロードなど、EC2インスタンス上で実行されているような証明書を必要とする任意のコンピューティングワークロードでトラフィックを終端できます。

ACMを介したパブリックにエクスポート可能な証明書の発表により、お客様はACMを活用してSAPシステム用のPersonal Security Environment(PSE)を作成できるようになりました。ACMを介したパブリックにエクスポート可能な証明書の開始に関する詳細については、同僚のChanny Yunによるブログ投稿「AWS Certificate Manager introduces exportable public SSL/TLS certificates to use anywhere」をご確認ください。

前提条件:

SAPワークロードでACMからの証明書を使用するには、以下の前提条件をご確認ください:

  • 証明書を要求するドメインのドメイン所有権を検証する方法
  • ACMで要求および検証され、該当する場合は適切なタグが付けられた、エクスポートされたパブリック証明書
  • オペレーティングシステムにインストールされたOpenSSL、またはAWS CloudShellへのアクセス
注: このブログ投稿では、証明書の要求方法については説明しません。これについては、前述の開始ブログですでに説明されています。

.p12ファイルの生成:

ACMから証明書をエクスポートすると、次の3つのファイルが得られます:

  • certificate.txt
  • private_key.txt
  • certificate_chain.txt

これら3つのファイルをフォルダに保存したら、任意のターミナルを開き、そのフォルダから以下のOpenSSLコマンドを実行します。

まず、秘密鍵をエクスポートします:

# openssl pkcs8 -topk8 -in private_key.txt -out private_key.pem -nocrypt
注: ACMから証明書をエクスポートする際に生成されたprivate_key.txtファイルのパスフレーズを持っていることを確認してください。

次に、証明書がエクスポートされた鍵と一致することを確認します:

# openssl x509 -noout -modulus -in certificate.txt | openssl md5
# openssl rsa -noout -modulus -in private_key.pem | openssl md5

それでは、PKCS#12ファイルを構築しましょう:

# openssl pkcs12 -export \
#  -inkey private_key.pem \
#  -in certificate.txt \
#  -certfile certificate_chain.txt \
# -name "CN=<your-certificate-CN>" \
# -out sap_ssl.p12
注: .p12ファイルをSAPにインポートする際に必要となるため、エクスポートパスワードをメモしておいてください。

.p12をSAP PSEに変換:

SAP ABAPベースのシステムで作業している場合、システムにログインしてトランザクションSTRUSTを入力することで、このタスクを実行できます。そこから、変更モードに設定し、PSE -> Importを選択します:

STRUST画面でPSEをインポート

.p12ファイルと定義したエクスポートパスワードを提供します。

注: チェーンから証明書が欠落している場合(例: Starfield Services Root Certificate Authority)、 Amazonトラストリポジトリから証明書をダウンロードできます。

これで、要件に応じてPSEを保存できます(例: SAPSSLS.pseとして)。これにより、現在のPSEが置き換えられます。システムにPSEがすでに存在する場合は、(必要に応じて)バックアップを取っていることを確認してください。

PSE保存画面

PSE保存完了画面

非ABAP環境(SAP HANAやSAP Web Dispatcherなど)でPSEを構築している場合は、以下の手順を使用してSAP PSEを生成できます。

PKCS#12ファイルを生成したのと同じフォルダで、以下のコマンドを実行します:

# openssl pkcs12 -export -out certificate.pfx -inkey private_key.txt -in certificate.txt -certfile certificate_chain.txt
注: private_key.txtファイルのパスフレーズとPKCS#12ファイルのエクスポートパスワードの入力を求められます。

次に、certificate.pfxをルート証明書および証明書チェーンファイルとともにSAPサーバーにコピーし、以下のコマンドを実行します:

# sapgenpse import_p12 -r certificate_chain.txt -r root.crt -p <PSE file name> certificate.pfx
注: PKCS#12暗号化パスワードの入力と、SAP PSEのパスフレーズの設定を求められます。

PSEは認証情報で保護されているため、<sid>admユーザーで以下のコマンドを実行して、cred_v2ファイルを生成する必要があります:

# sapgenpse seclogin -p <PSE file name> [ -O <OS user name> ] [ -x <PIN> ]

PSE認証情報の詳細については、SAPノート#1525059 – Troubleshooting problems with PSE credentials(SAP S-Userが必要)を参照してください。

料金:

ACMのパブリック証明書の料金に関する詳細および最新情報については、AWS Certificate Managerの料金を参照してください。

まとめ:

AWS Certificate Manager(ACM)は、SAP環境で証明書を管理するためのソリューションを提供します。パブリック証明書をエクスポートする機能により、組織はABAPベースおよび非ABAPベースのSAPシステムの両方に対して、Personal Security Environment(PSE)を簡単に作成できるようになりました。この統合により、証明書管理が簡素化され、セキュリティが強化され、SAPランドスケープのコンプライアンス要件が維持されます。

このブログ投稿で概説された手順に従うことで、SAP管理者はACMを使用して安全な証明書管理を実装し、証明書管理の運用オーバーヘッドを削減しながら、SAPシステムを保護された状態に保つことができます。お客様は、タグ付けをさらに活用して、証明書管理における支出の一元的なビューを持つことができます。

AWSでSAPランドスケープを実行することについて詳しく知りたいですか?SAP on AWSページをご覧ください。

本ブログはAmazon Q Developer CLIによる機械翻訳を行い、パートナーSA松本がレビューしました。原文はこちらです。