セキュア ネットワーク コミュニケーション (SNC) は、オンプレミス データ ゲートウェイと SAP システム間のデータを暗号化することで、Power Platform との SAP 統合のセキュリティを強化します。 この記事では、概念実証としてSNCを設定する手順について説明します。
重要
この記事で紹介する設定と推奨事項は、本番環境での使用を目的としたものではありません。 実稼働環境でSNCを設定するためのガイダンスについては、セキュリティ チーム、社内ポリシー、Microsoftパートナーにお問い合わせください。環境。
前提条件
- SAP ERPコネクタを使用するSAP接続があります。
- 再起動および管理できる SAP インスタンスにアクセスできます。
- SAP GUIがインストールされ、セットアップされています。
- 公開鍵と秘密鍵のテクノロジーに精通しています。
- OpenSSLがインストールされ、セットアップされています。 Git for Windows をお持ちの場合は、
C:\Program Files\Git\usr\bin\
システム PATH に を追加して、openssl
コマンドを使用できるようにします。
SAP共通暗号ライブラリをインストールする
SAP Common Crypto Libraryにより、SAP Connector for Microsoft .NET (NCo) は オンプレミスの データ ゲートウェイとSAP間の通信を暗号化できるようになります。 ライブラリを抽出するには、SAPCARと呼ばれる独自の解凍ユーティリティが必要です。
SAPCARを入手
- SAP ソフトウエア ダウンロード センター に移動し、SAP 資格情報でサインインします。
- 参照 を選択して、SAPCAR を検索しアーカイブされていないバージョンを選択します。
- オペレーティング システムを選択します。
- .EXE ファイルを
C:\sap\SAR
にダウンロードします。
SAP共通暗号ライブラリを入手する
- SAPソフトウェア ダウンロード センターで、「COMMONCRYPTOLIB」を検索し、最新バージョンを 選択 します。
- オペレーティング システムを選択します。
- 最新のリリース日付の .SAR ファイルを
C:\sap\SAR
にダウンロードします。
SAP 共通暗号ライブラリを解凍する
PowerShell を開き、
C:\sap\SAR
にアクセスします。次のコマンドを入力し、
xxxx
を実際の値に置き換えます。.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
sapgenpse.exe
がC:\sap\libs\sapcryptolib
ディレクトリ内にあることを確認します。
証明書を生成する
SAP Common Crypto Libraryをインストールしたので、オンプレミスの データゲートウェイとSAPシステム間の信頼と暗号化を確立するための証明書を生成できます。
警告
この方法はデモンストレーション目的のみであり、実稼働システムには推奨されません。 実稼働システムの場合は、社内のPKIガイダンスまたはセキュリティ チームに相談してください。
この例では、証明書は次の図に示すように構成されています。 ルートCA [O=Contoso、CN=Root CA] は、SNC暗号化証明書 [O=Contoso、CN=SNC] とユーザー証明書 [O=Contoso、CN=UserIDs
] に署名します。
この記事では、ルートCA証明書とSNC証明書の設定に焦点を当てます。
証明書の作成
フォルダー構造の設定:
mkdir rootCA mkdir sncCert # Create the necessary serial and index files if they don't exist if (-Not (Test-Path "rootCA\index.txt")) { New-Item -Path "rootCA\index.txt" -ItemType File } if (-Not (Test-Path "rootCA\serial")) { Set-Content -Path "rootCA\serial" -Value "01" }
ルートCAを生成します。
openssl genpkey -algorithm RSA -out rootCA/ca.key.pem -pkeyopt rsa_keygen_bits:2048 openssl req -x509 -new -key rootCA/ca.key.pem -days 7305 -sha256 -extensions v3_ca -out rootCA/ca.cert.pem -subj "/O=Contoso/CN=Root CA"
SNC 証明書を生成する:
openssl genrsa -out sncCert/snc.key.pem 2048 openssl req -key sncCert/snc.key.pem -new -sha256 -out sncCert/snc.csr.pem -subj "/O=Contoso/CN=SNC"
署名用のOpenSSL構成ファイル
sncCert/extensions.cnf
を作成します。subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment extendedKeyUsage = clientAuth,emailProtection
ルートCAを使用してSNC証明書に署名します。
openssl x509 -req ` -in sncCert/snc.csr.pem ` -CA rootCA/ca.cert.pem ` -CAkey rootCA/ca.key.pem ` -CAcreateserial ` -out sncCert/snc.cert.pem ` -days 3650 ` -sha256 ` -extfile sncCert\extensions.cnf ` -extensions v3_leaf
個人の安全な環境を作成してください
オンプレミスの データ ゲートウェイ用のPersonal Secure環境 (PSE) を作成します。 NCoライブラリはPSE内でSNC証明書を検索します。
PKCS#12 コンテナーを作成する:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
SECUDIR環境 変数を作成します。
- システム プロパティ を開く: ファイル エクスプローラーで、この PC を右クリックし、プロパティ>システムの詳細設定 を選択します。
- 環境変数 を選択します。
- システム で 新規 を選択します。
- 変数名を
SECUDIR
に設定します。 - 値を
C:\sapsecudir
を設定します。 - OK を選びます。
PKCS#12コンテナをPSEにインポートします。
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
SNC 向けに SAP を設定する
SAP GUI にサインインします。
トランザクション コード
SNC0
に移動します。作業領域として E と入力します。
選択 新しいエントリ を上部のバーからクリックし、必要な情報を入力します。
保存 を選択します。
SAP GUI ホーム画面に戻ります。
トランザクション コード
RZ10
に移動します。次のプロファイル パラメータを設定してください。
snc/accept_insecure_gui: 1 snc/accept_insecure_rfc: 1 snc/enable: 1 snc/extid_login_diag: 1 snc/extid_login_rfc: 1 snc/gssapi_lib: $(SAPCRYPTOLIB) snc/identity/as: p:CN=ID3, O=Contoso snc/permit_insecure_start: 1 snc/data_protection/max: 3```
プロファイルパラメータを保存し、SAP システムを再起動してください。
SAPと オンプレミスの データ ゲートウェイ間で証明書を交換する
信頼を確立するには、オンプレミスの データ ゲートウェイとSAPの間で証明書を交換する必要があります。
ゲートウェイSNC証明書をSAPに追加する
- SAP GUI で、トランザクション コード
STRUST
に移動します。 - SNC SAPCryptolib に赤い X が付いている場合は、それを右クリックして 作成 を選択します。
- それ以外の場合は、 SNC SAPCryptolib をダブルクリックし、 独自の証明書 をダブルクリックします。
- 選択 証明書をインポート し、
sncCert\snc.cert.pem
パブリック証明書を選択します。 - 証明書リストに追加 を選択します。
オンプレミスの データゲートウェイにSAP SNC証明書を追加します
SAP GUI で、トランザクション コード
STRUST
に移動します。SNC SAPCryptolib をダブルクリックし、あなたの 独自の証明書 をダブルクリックします。
パブリック証明書のエクスポート
公開証明書をゲートウェイ マシンに移動します (例:
C:\sap\contoso-public-key.crt
)。ゲートウェイのPSEに証明書をインポートします。
C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
セキュアな接続をテストする
セキュアな接続をテストするには、次の手順を実行します。 テストが正常に完了すると、運用環境で SNC を実装する準備ができました。
Power Automate でインスタント フローを作成します。
SAP ERP Call Function
アクションを追加します。SAP 接続 文字列に次の SNC パラメータを追加します。
{ "AppServerHost": "xxx", "Client": "xx", "SystemNumber": "xx", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\\sap\\libs\\sapcryptolib\\sapcrypto.dll", "SncMyName": "p:CN=SNC, O=Contoso", "SncPartnerName": "p:CN=ID3, O=Contoso", "SncQop": "Default", "UseSnc": "true", "SncSso": "Off" }```
STFC_CONNECTION
RFC関数を使用して接続をテストします。
重要
秘密鍵を安全に取り扱い、このセットアップが完了したら削除してください。