Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerKerberos を使用した 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 を設定するには、使用しているオペレーティングシステムに従って新しいサービスプリンシパル名 (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 サーバーのオペレーティングシステムのドメインと 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
ディレクトリにインポートします。
ktutil
wkt /etc/krb5.keytab
q
Kerberos Ticket Granting Ticket (TGT) を取得します。
kinit -V SAPService/sapdev@SSODOMAIN.LAB
次のコマンドを実行して、キータブの権限を変更します。
chgrp sapsys /etc/krb5.keytab
chmod 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 を設定するには、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 ライブラリパス)
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
)
[Advanced (詳細)] タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。
次の表に、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 のパートナー名)] |