次の方法で共有


セキュアなネットワーク通信を設定する

セキュア ネットワーク コミュニケーション (SNC) は、オンプレミス データ ゲートウェイと SAP システム間のデータを暗号化することで、Power Platform との SAP 統合のセキュリティを強化します。 この記事では、概念実証としてSNCを設定する手順について説明します。

重要

この記事で紹介する設定と推奨事項は、本番環境での使用を目的としたものではありません。 実稼働環境でSNCを設定するためのガイダンスについては、セキュリティ チーム、社内ポリシー、Microsoftパートナーにお問い合わせください。環境。

前提条件

  1. SAP ERPコネクタを使用するSAP接続があります
  2. 再起動および管理できる SAP インスタンスにアクセスできます。
  3. SAP GUIがインストールされ、セットアップされています。
  4. 公開鍵と秘密鍵のテクノロジーに精通しています。
  5. 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を入手

  1. SAP ソフトウエア ダウンロード センター に移動し、SAP 資格情報でサインインします。
  2. 参照 を選択して、SAPCAR を検索しアーカイブされていないバージョンを選択します。
  3. オペレーティング システムを選択します。
  4. .EXE ファイルを C:\sap\SAR にダウンロードします。

SAP共通暗号ライブラリを入手する

  1. SAPソフトウェア ダウンロード センターで、「COMMONCRYPTOLIB」を検索し、最新バージョンを 選択 します。
  2. オペレーティング システムを選択します。
  3. 最新のリリース日付の .SAR ファイルを C:\sap\SAR にダウンロードします。

SAP 共通暗号ライブラリを解凍する

  1. PowerShell を開き、C:\sap\SAR にアクセスします。

  2. 次のコマンドを入力し、 xxxx を実際の値に置き換えます。

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. sapgenpse.exeC:\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証明書の設定に焦点を当てます。

ルート CA から暗号化証明書、署名証明書、およびユーザー ID への証明書フローを示す図。

証明書の作成

  1. フォルダー構造の設定:

    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" }
    
  2. ルート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"
    
  3. 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"
    
  4. 署名用のOpenSSL構成ファイル sncCert/extensions.cnf を作成します。

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. ルート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証明書を検索します。

  1. PKCS#12 コンテナーを作成する:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. SECUDIR環境 変数を作成します。

    1. システム プロパティ を開く: ファイル エクスプローラーで、この PC を右クリックし、プロパティ>システムの詳細設定 を選択します。
    2. 環境変数 を選択します。
    3. システム新規 を選択します。
    4. 変数名を SECUDIR に設定します。
    5. 値を C:\sapsecudir を設定します。
    6. OK を選びます。
  3. PKCS#12コンテナをPSEにインポートします。

    C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
    

SNC 向けに SAP を設定する

  1. SAP GUI にサインインします。

  2. トランザクション コード SNC0 に移動します。

  3. 作業領域として E と入力します。

  4. 選択 新しいエントリ を上部のバーからクリックし、必要な情報を入力します。

    システムのアクセス制御リストを表示するSAP GUIのスクリーンショット。

  5. 保存 を選択します。

  6. SAP GUI ホーム画面に戻ります。

  7. トランザクション コード RZ10 に移動します。

  8. 次のプロファイル パラメータを設定してください。

    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```
    
    
  9. プロファイルパラメータを保存し、SAP システムを再起動してください。

SAPと オンプレミスの データ ゲートウェイ間で証明書を交換する

信頼を確立するには、オンプレミスの データ ゲートウェイとSAPの間で証明書を交換する必要があります。

ゲートウェイSNC証明書をSAPに追加する

  1. SAP GUI で、トランザクション コード STRUST に移動します。
  2. SNC SAPCryptolib に赤い X が付いている場合は、それを右クリックして 作成 を選択します。
  3. それ以外の場合は、 SNC SAPCryptolib をダブルクリックし、 独自の証明書 をダブルクリックします。
  4. 選択 証明書をインポート し、 sncCert\snc.cert.pem パブリック証明書を選択します。
  5. 証明書リストに追加 を選択します。

オンプレミスの データゲートウェイにSAP SNC証明書を追加します

  1. SAP GUI で、トランザクション コード STRUST に移動します。

  2. SNC SAPCryptolib をダブルクリックし、あなたの 独自の証明書 をダブルクリックします。

  3. パブリック証明書のエクスポート

  4. 公開証明書をゲートウェイ マシンに移動します (例: C:\sap\contoso-public-key.crt)。

  5. ゲートウェイのPSEに証明書をインポートします。

    C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
    

セキュアな接続をテストする

セキュアな接続をテストするには、次の手順を実行します。 テストが正常に完了すると、運用環境で SNC を実装する準備ができました。

  1. Power Automate でインスタント フローを作成します。

  2. SAP ERP Call Function アクションを追加します。

  3. 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"
    }```
    
    
  4. STFC_CONNECTION RFC関数を使用して接続をテストします。

    Power Automate フローのテストの結果を示すスクリーンショット。

重要

秘密鍵を安全に取り扱い、このセットアップが完了したら削除してください。

次のステップ

Microsoft Entra ID を SSO 用証明書で設定する