Kerberos を使用した SAP セキュアネットワークコミュニケーション接続の設定

Kerberos を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。Kerberos を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定します。

SAP ではサードパーティソリューションのサポートは提供されません。

始める前に

Kerberos を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。

  • SAP GUI アプリケーション

    このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP からオペレーティングシステムに合ったインストーラーをダウンロードします。

  • SNC システム変数を使用できる SAP ECC インスタンス

  • 次のトランザクション

    • STRUST​ (トラストマネージャー)

    • SM30​ (テーブルメンテナンス)

    • SNC1​ (ユーザーの SNC 名を生成)

    • SU01​ (ユーザーメンテナンス)

    • SM59​ (RFC 宛先)

Active Directory を設定する

Active Directory を設定するには、使用しているオペレーティングシステムに従って新しいサービスプリンシパル名 (SPN) を作成し、キータブをエクスポートします。

Windows を使用している場合は、次の手順を実行します。

  1. Active Directory のサービスユーザー ​sidadm​ を作成します。

  2. [パスワードを無期限にする]​ をオンにして ​[このアカウントに DES 暗号化を使う]​ をオフにします。

  3. Active Directory の ​sidadm​ ユーザーのサービスプリンシパル名 (SPN) ​SAPService/sapdev@SSODOMAIN.LAB​ を作成します。

    setspn -A SAPService/sapdev@SSODOMAIN.LAB DOMAIN_SHORT\sidadm

  4. 次のコマンドを実行し、Active Directory からこの SPN のキータブをエクスポートします。パスワードはキータブに設定するパスワードで、SID はキータブのファイル名です。

    ktpass -princ SAPService/sapdev@SSODOMAIN.LAB -mapuser DOMAIN_SHORT\sidadm -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -mapop set -pass <​password​> -out <SID>aes.keytab

SAP サーバーの設定

SAP サーバーを設定するには、SAP サーバーのオペレーティングシステムのドメインと KDC を変更して Kerberos をセットアップし、SNC の使用を認証するパラメーターとライブラリを追加します。

  1. KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​krb5.conf​ ファイルを設定します。デフォルトでは、​krb5.conf​ ファイルは ​etc​ ディレクトリに作成されます。

  2. 次のコマンドを実行して、キーを ​etc​ ディレクトリにインポートします。

    ktutil

    wkt /etc/krb5.keytab

    q

  3. Kerberos Ticket Granting Ticket (TGT) を取得します。

    kinit -V SAPService/sapdev@SSODOMAIN.LAB

  4. 次のコマンドを実行して、キータブの権限を変更します。

    chgrp sapsys /etc/krb5.keytab

    chmod 640 /etc/krb5.keytab

  5. Kerberos TGT の自動更新をセットアップします。

    crontab –e 01 0,6,12,18 * * * /usr/bin/kinit -R SAPService/sapdev@SSODOMAIN.LAB

  6. SAP サーバーの GSS-API ライブラリ (この例では ​/usr/lib64/libgssapi_krb5.so.2​ パスにある) を見つけて、デフォルトプロファイルで Kerberos を使用した SNC のパラメーターを設定し、SAP を再起動します。

    • snc/permit_insecure_start = 1

    • snc/data_protection/use = 3

    • snc/data_protection/max = 3

    • snc/data_protection/min = 1

    • snc/accept_insecure_r3int_rfc = 1

    • snc/accept_insecure_rfc = 1

    • snc/accept_insecure_cpic = 1

    • snc/accept_insecure_gui = 1

    • snc/gssapi_lib = /usr/lib64/libgssapi_krb5.so.2

    • snc/enable = 1

    • snc/identity/as = p:SAPService/sapdev@SSODOMAIN.LAB

    • login/password_change_for_SSO = 0

  7. SAP のユーザーとして ​sidadm​ を作成し、トランザクション ​SU01​ を使用して SNC 名を設定します。

  8. [RFC destination (RFC 宛先)] として、トランザクション ​SM59​ を使用します。​[Logon and Security (ログオンとセキュリティ)]​ タブで、SNC オプションを有効にして、パートナーとして SPN 名を追加します。

SAP Connector の設定

SAP Connector を設定するには、Kerberos を使用した SNC を有効にします。

  1. Anypoint Studio にアクセスします。

  2. Studio キャンバスで ​[SAP]​ を選択します。

  3. [Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。

  4. Kerberos 接続を設定します。

    1. [Connection (接続)]​ 項目で ​[Kerberos]​ を選択します。

    2. [General (一般)]​ タブで、次の項目を設定します。

      • SAP system number (SAP システム番号)

      • SAP client ID (SAP クライアント ID)

      • Application server host (アプリケーションサーバーホスト)

      • Kerberos Config File Path (Kerberos 設定ファイルパス)

        KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​krb5.conf​ ファイルへのパス

      • Keytab File Path (Keytab ファイルパス)

        Active Directory の SPN のキータブへのパス。

        キータブには、​プリンシパル​ (​sidadm​) のエントリのみが含まれている必要があります。既存のキータブを使用する場合、まず既存のエントリを削除する必要があります。既存のエントリを削除するには、次のコマンドを実行します。

        ktutil -k <replace_with_keytab_name>.keytab remove -p <replace_with_principal_name>@<replace_with_domain>

        新しいキータブを作成するには、次のコマンドを実行します。

        ktutil --keytab=<replace_with_keytab_name>.keytab add -p <replace_with_principal_name>@<replace_with_domain> -w <replace_with_principal_password> -e aes256-cts-hmac-sha1-96 -V <replace_with_key _version_number>

      • GSS Library Path (GSS ライブラリパス)

        CloudHub を使用する場合の静的値 ​/usr/lib64/libgssapi_krb5.so.2.2

      • Principal (プリンシパル)

        Active Directory のサービスユーザー名 (この例では ​sidadm​)

      • Client SNC Partner Name (クライアント SNC のパートナー名)

        Active Directory の SPN 名 (この例では ​p:SAPService/sapdev@SSODOMAIN.LAB​)

      • Client SNC My Name (クライアント SNC の私の名前)

        Active Directory のサービスユーザー名 (この例では ​p:sidadm​)

    3. [Advanced (詳細)]​ タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。

Kerberos 用 SAP 拡張プロパティ

次の表に、Kerberos 用の SAP 拡張プロパティのデフォルト値を示します。

コネクタは、以下の共通拡張プロパティを設定します。

プロパティ デフォルト値

jco.server.snc_mode

1

jco.server.snc_qop

3

コネクタは、操作に対して以下の拡張プロパティを設定します。

プロパティ デフォルト値

jco.client.user

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Principal (プリンシパル)]

jco.client.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.client.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC My Name (クライアント SNC の私の名前)]

jco.client.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC Partner Name (クライアント SNC のパートナー名)]

コネクタは、ソースに対して以下の拡張プロパティを設定します。

プロパティ デフォルト値

jco.server.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.server.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC My Name (サーバー SNC の私の名前)]

jco.server.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC Partner Name (サーバー SNC のパートナー名)]