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 を使用している場合は、次の手順を実行します。
-
Active Directory のサービスユーザー
sidadm を作成します。 -
[パスワードを無期限にする] をオンにして [このアカウントに DES 暗号化を使う] をオフにします。
-
Active Directory の
sidadm ユーザーのサービスプリンシパル名 (SPN) SAPService/sapdev@SSODOMAIN.LAB を作成します。setspn -A SAPService/sapdev@SSODOMAIN.LAB DOMAIN_SHORT\sidadm -
次のコマンドを実行し、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 の使用を認証するパラメーターとライブラリを追加します。
-
KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する
krb5.conf ファイルを設定します。デフォルトでは、krb5.conf ファイルは etc ディレクトリに作成されます。[libdefaults] # "dns_canonicalize_hostname" and "rdns" are better set to false for improved security. # If set to true, the canonicalization mechanism performed by Kerberos client may # allow service impersonification, the consequence is similar to conducting TLS certificate # verification without checking host name. # If left unspecified, the two parameters will have default value true, which is less secure. dns_canonicalize_hostname = false rdns = false # default_realm = EXAMPLE.COM default_realm = SSODOMAIN.LAB [realms] # EXAMPLE.COM = { # kdc = kerberos.example.com # admin_server = kerberos.example.com # } SSODOMAIN.LAB = { kdc = DC.SSODOMAIN.LAB admin_server = dc.SSODOMAIN.LAB } [domain_realm] .ssodomain.lab = SSODOMAIN.LAB ssodomain.lab = SSODOMAIN.LAB [logging] kdc = FILE:/var/log/krb5/krb5kdc.log admin_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON [libdefaults] default_ccache_name = FILE:/tmp/krb5cc_%{uid} -
次のコマンドを実行して、キーを
etc ディレクトリにインポートします。ktutilwkt /etc/krb5.keytabq -
Kerberos Ticket Granting Ticket (TGT) を取得します。
kinit -V SAPService/sapdev@SSODOMAIN.LAB -
次のコマンドを実行して、キータブの権限を変更します。
chgrp sapsys /etc/krb5.keytabchmod 640 /etc/krb5.keytab -
Kerberos TGT の自動更新をセットアップします。
crontab -e 01 0,6,12,18 * * * /usr/bin/kinit -R SAPService/sapdev@SSODOMAIN.LAB -
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
-
-
SAP のユーザーとして
sidadm を作成し、トランザクション SU01 を使用して SNC 名を設定します。 -
[RFC destination (RFC 宛先)] として、トランザクション
SM59 を使用します。[Logon and Security (ログオンとセキュリティ)] タブで、SNC オプションを有効にして、パートナーとして SPN 名を追加します。
SAP Connector の設定
SAP Connector を設定するには、Kerberos を使用した SNC を有効にします。
-
Anypoint Studio にアクセスします。
-
Studio キャンバスで [SAP] を選択します。
-
[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。
-
Kerberos 接続を設定します。
-
[Connection (接続)] 項目で
[Kerberos] を選択します。 -
[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 ライブラリパス)
2025 年 7 月以降にパブリッシュされた画像を使用する場合の CloudHub および CloudHub 2.0 または Runtime Fabric 用の静的値
/usr/lib64/libgssapi_krb5.so.2.2。2025 年 7 月より前にパブリッシュされた画像を使用する場合の CloudHub 2.0 または Runtime Fabric 用の静的値 /usr/lib/x86_64-linux-gnu/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 の私の名前)
セキュアネットワークコミュニケーションのクライアントを特定する SNC 名 (この例では
p:sidadm)
-
-
[Advanced (詳細)] タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。
-
Kerberos 用 SAP 拡張プロパティ
次の表に、Kerberos 用の SAP 拡張プロパティのデフォルト値を示します。
コネクタは、以下の共通拡張プロパティを設定します。
| プロパティ | デフォルト値 |
|---|---|
jco.server.snc_mode |
|
jco.server.snc_qop |
|
コネクタは、操作に対して以下の拡張プロパティを設定します。
| プロパティ | デフォルト値 |
|---|---|
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 のパートナー名)] |