Flex Gateway新着情報
Governance新着情報
Monitoring API Manager証明書を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。証明書を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。
証明書を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。
SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。
SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。
SNC システム変数を使用できる SAP ECC インスタンス
次のトランザクション
STRUST
(トラストマネージャー)
SM30
(テーブルメンテナンス)
使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。
Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。
SAPCAR
ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。
SAPCAR –xvf <folder-name.SAR>
次の環境変数を設定します。
SNC_LIB: <path_to_library>\sapcrypto.dll
SECUDIR: <path_to_library>
LD_LIBRARY_PATH: <path_to_library>\sapcrypto.dll
SSF_LIBRARY_PATH: <path_to_library>\sapcrypto.dll
Windows の場合、sapcrypto.dll
の 64 ビットバージョンは異なるパスにあり、SNC_LIB_64
という新しい変数に追加されています。
sapgenpse
ツールを使用して、PSE を作成します。
sapgenpse gen_pse -v -p RFC.pse
このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。
CN=RFC, C=AR, O=YourCompany, OU=IT
すでに使用されている名前を表示するには、STRUST を使用できます。
sapgenpse
ツールを使用して、PSE にアクセスするためのログイン情報を保存する cred_v2
ファイルを作成します。
sapgenpse seclogin -p RFC -O <user-credentials>
sapgenpse
ツールを使用して、PSE からクライアントの証明書をエクスポートします。
sapgenpse <export_own_cert> –v –p RFC –o RFC_MULE.crt
SAP Connector 5.9.5 以降では、証明書接続種別を使用するアプリケーションを CloudHub 2.0 または Runtime Fabric にデプロイできます。SAP Connector には、パーソナルセキュリティ環境 (PSE) を設定するインストーラーが組み込まれています。
まずアプリケーションを作成する必要があります。
Anypoint Studio を開きます。
アプリケーションの src/main/resources
ディレクトリに移動します。
src/main/resources
フォルダーに sec
という名前のファイルを作成します。
sec
フォルダーに次の行を追加します。
libsapcrypto.so
Linux バージョンの SAP CommonCryptoLib
sapgenpse
Linux バージョンの PSE ファイルを管理する SAP コマンドラインツール
RFC.pse
前のステップで作成したファイル
CloudHub 2.0 は Linux マシン上で動作するため、com.sap.conn.jco:libsapjco3
など、アプリケーションの連動関係が Linux に合わせてコンパイルされていることを確認してください。
アプリケーションを保存し、CloudHub 2.0 のデプロイに使用する jar
ファイルをエクスポートします。
その後、作成したアプリケーションを CloudHub 2.0 または Runtime Fabric でインポートする必要があります。
Anypoint Platform アカウントにログインし、[Runtime Manager] に移動します。
[Deploy Application (アプリケーションをデプロイ)] をクリックします。
[Application Name (アプリケーション名)] に、アプリケーションの名前 (「cert-ch2」
など) を入力します。
[Deployment Target (デプロイメント対象)] で、[CloudHub 2.0]
または [Runtime Fabric]
を選択します。
[Choose File (ファイルを選択)] をクリックし、jar
ファイルをアップロードします。
[Properties (プロパティ)] タブで、以下を追加します。
プロパティ | 値の例 | 説明 |
---|---|---|
secFilesCopy |
|
|
sourceSecFolder |
|
CloudHub 2.0 または Runtime Fabric の |
targetSecFolder |
|
この値はハードコードされたままにしておきます。 |
pseFile |
|
PSE ファイルの名前 (拡張子なし)。 |
psePassword |
|
PSE ファイルのパスワード。このプロパティの横にある [Protect (保護)] ボタンをクリックすると、内容が非表示になります。 |
osUsername |
|
|
[Start (開始)] をクリックしてアプリケーションを実行します。
組み込みインストーラーを使用する場合は、SAP Connector Config プロパティで CommonCryptoLib ライブラリを適切なパスで参照する必要があります。 |
プロパティ | 値の例 | 説明 |
---|---|---|
jco.client.snc_lib |
${app.home}/sec/libsapcrypto.so |
SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタ操作で使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。 |
jco.server.snc_lib |
${app.home}/sec/libsapcrypto.so |
SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタソースで使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。 |
識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。
SAP 識別名と証明書を表示します。
SAP 証明書を自分の証明書にリンクします。
SAP で SNC クライアントを認証します。
SAP 識別名と証明書のリストを表示します。
SAP GUI にログインして、strust
トランザクションを入力します。
左側のペインで [SNC SAPCryptolib] フォルダーを選択します。
SAP 識別名と証明書リストが表示されます。
SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。
眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、CN=SL-ABAP-IDP
をダブルクリックします。
画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。
インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。
[Add to Certificate List (証明書一覧に追加)] をクリックして、保存アイコンをクリックします。
コマンドラインインターフェースまたはターミナルウィンドウを開き、sapgenpse
ツールを使用して自分の証明書を PSE にリンクします。
sapgenpse maintain_pk -v -a <name_of_SAP_Server_Certificate.crt> -p <name_of_your_PSE.pse>
次の例では、IDE.crt
という証明書を RFC.pse
という PSE にリンクしています。
VSNCSYSACL
ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。
SAP GUI で SM30 トランザクションに移動し、VSNCSYSACL
をビュー名として入力します。
[Maintain (保守)] をクリックします。
作業領域として [E] を選択します。
[System ID (システム ID)] 項目に SAP ID を入力します。
[SNC name (SNC 名)] 項目に識別名を入力します:
p:<your-distinguished-name>
すべてのチェックボックスを選択してエントリをアクティブ化します。
保存アイコンをクリックします。
サーバーが SNC 名を受け入れると、Canonical Name Determined
メッセージが SNC データボックスに表示されます。
サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。
Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。
SM30 トランザクションに移動して、VUSREXTID
ビューを指定し、[Maintain (保守)] をクリックします。
[External ID type (外部 ID 種別)] 項目で、作業領域として DN
を選択します。
[External ID (外部 ID)] 項目に識別名を入力します。
[User (ユーザー)] 項目に SAP ユーザー名を入力します。
[Activated (アクティブ化)] を選択します。
保存アイコンをクリックします。
証明書を使用した SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。
Anypoint Studio にアクセスします。
Studio キャンバスで [SAP] を選択します。
[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。
X.509 証明書接続を設定します。
[Connection (接続)] 項目で Certificate
を選択します。
[General (一般)] タブで、次の項目を設定します。
X.509 Certificate (X.509 証明書) (Base64 でのエンコードなし)
Sap client ID (SAP クライアント ID)
Application server host (アプリケーションサーバーホスト)
[Advanced (詳細)] タブで、拡張プロパティを設定します。
次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ | 値の例 |
---|---|
jco.server.snc_mode |
|
jco.server.snc_partnername |
|
jco.server.snc_qop |
|
jco.server.snc_myname |
|
jco.server.snc_lib |
|
次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ | 値の例 |
---|---|
jco.client.snc_mode |
|
jco.client.snc_partnername |
|
jco.client.snc_qop |
|
jco.client.snc_myname |
|
jco.client.snc_lib |
|
jco.client.x509cert |
|