パート5:オプションと詳細設定
このセクションでは、オプション機能のインストールと設定、および詳細設定について説明します。
コマンドライン インターフェイス
Incentives CLIは、モデル内のさまざまなアクションを完了するために使用できるコマンドラインインターフェイスです。
コマンドライン インターフェイスのインストール
Incentives コマンドラインインターフェイス(CLI)を使用する前に、CLIアプリケーションをインストールする必要があります。
新しいインストーラ(バージョン10.1.1.102.0以降で使用可能)を使用していない場合は、タイムアウト値を設定する前にアプリケーションをインストールする必要があります。
リリースフォルダ内の
ICM-cli.exe
インストールファイルをダブルクリックします。インストールウィザードの手順を完了します。
IBM Cognos ICM CLI.exe.config
ファイルを開き、タイムアウト値を大きな値に設定します。たとえば、タイムアウト値を90000000に設定します。
ファイルを保存します。
オンプレミスのICM向けSAML 2.0統合
Thèé ôón Prèémîïsèé (Incentives) æãdmîîn wëëb æãpplîîcæãtîîòòn sýüppòòrts SÅML 2.0 îîntëëgræãtîîòòn.
SAML 2.0統合の要件
IncentivesとSAML 2.0を統合する前に、次の設定を行う必要があります。
テナントサービスおよび管理者Webアプリケーションは、同じドメインとポートで実行する必要があります。つまり、同じサーバと同じホストポートで実行されるということです。
テナントサービス、REST API、管理者Webアプリケーションもすべて同じサーバーでホストすることをお勧めします。
Webアプリケーションのインストールが完了しました。これでIncentivesに正常にログインできます。
SAML 2.0設定
SAML 2.0統合用に、正しく設定する必要があるファイルがIncentivesに3つあります。
テナントサービス
???のセクションで概説されている手順に従って、default.json
ファイルを設定します。
REST API
RESTAPI.appSettings.config
ファイルで、TenantService
値が9101
に設定されていることを確認します。たとえば、次のキーを設定します。
<add key="TenantServices" value="http://yourServer:9101/services" />
???セクションの手順に従って、他のフィールドを設定します。
管理者Webアプリケーション
index.html
ファイルで、API_URL
とAUTH_URL
を次のように設定します。
API_URL: 'http://yourServer:8080', AUTH_URL: 'http://yourServer:9100'
その他のフィールドはすべて同じです。管理者Webアプリケーションの設定についての詳細は、???を参照してください。
その他すべてのコンポーネント
このガイドの前述の手順に従ってください。変更は必要ありません。
OpenSSLを使用したSAML 2.0統合証明書の生成
Incentives管理者WebアプリケーションがSSO IdPと通信するには、SSO証明書を生成する必要があります。証明書により、SSO IdPは、管理者Webアプリケーションが認証されていることを確認できます。
OPENSSLをインストールします。
次のような新しいディレクトリをコンピュータ上に作成します。
C:/Users/Administrator/Desktop/SSOCerKey
コマンドプロンプトを開き、次のコマンドを実行します。
注記
これを単一のコマンドとして入力します。改行はしません。ディレクトリを OpenSSL実行ファイルが見つかる場所に変更し、コマンドを選択したディレクトリに書き込むように変更し、オペレーティング・システムに基づいてコマンドを変更する必要がある場合があります。次のコマンドはWindows用です。
openssl.exe req -x509 -newkey rsa:2048 -keyout C:/Users/Administrator/Desktop/SSOCerKey/key.pem -out C:/Users/Administrator/Desktop/SSOCerKey/cert.pem -days 365
同じコマンドラインウィンドウで、カレントディレクトリを、
key.pem
およびcert.pem
ファイルが生成された場所に変更します。次のコマンドを実行して、
key.pem
ファイルを復号化します。openssl rsa -in C:/Users/Administrator/Desktop/SSOCerKey/key.pem –out C:/Users/Administrator/Desktop/SSOCerKey/keyDecrypted.pem
cert.pem
ファイルをコピーして貼り付け、名前をcert.cer
に変更します。これにより、ブラウザでファイルを開き、証明書の有効期限を確認できます。この日付は後で必要になりますので、メモしてください。
テキストエディタを使用して、復号化されたキーファイルの
keyDecrypted.pem
を開きます。
SAML 2.0証明書のアップロード
SAML 2.0証明書を作成したら、REST APIを使用してPostgresにアップロードする必要があります。
SAML 2.0証明書をアップロードするには、Postmanなどのアプリケーションで次のREST API呼び出しを実行します。
POST yourServer/services/sso/certs/sp/new
ボディ:
{ "cert_name": "aUniqueCertificateName", "certificate": "yourCertificateValueNoHeaders", "private_key": "yourDecryptedPrivateKeyWithHeaders", "certificate_expiry": "YYYY-MM-DD" }
注記
cert_name
:データベースとモデル内で一意である限り、任意の値にできます。certificate
:cert.pem
ファイルを開き、ヘッダーとフッターのBEGIN CERTIFICATE
とEND CERTIFICATE
の間に行をコピーします。BEGIN CERTIFICATE
とEND CERTIFICATE
の行は含めないでください。これらの行を貼り付け、各行の末尾に\n
を追加し(以下の例を参照)、すべての改行文字を削除します。これにより、1行が1つの長い文字列になります。private_key
:keyDecrypted.pem
ファイルを開き、BEGIN/END RSA PRIVATE KEY
ヘッダーとフッターを含むすべてのコンテンツをコピーします。これらの行を貼り付け、END RSA PRIVATE KEY
フッターの後を除く各行の末尾に\n
を追加し(以下の例を参照)、すべての改行文字を削除します。これにより、1行が1つの長い文字列になります。
サンプルボディ
{"cert_name": "myNewCert", "certificate": "\nMIICsDCCAZgCCQCmhR6tkSBYeTANBgkqhkiG9w0BAQsFADAaMQswCQ\nYDVQQGEwJjYTELMAkGA1UECAwCb24 wHhcNMTgwODEzMTUzMzI4WhcN\nMTkwODEzMTUzMzI4WjAaMQswCQYDVQQGEwJjYTELMAkGA1UECAwCb24wggEiMA0GC\nSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCdKfslziLODmyreA/W7EgN0cIzy4oM1tcVd46+SjA\nyGy1TfYYRLWfgaogUPkB+RNPPyrTg7xhA1HQ4F hi6OH8UUZiS/Kaj0+q0/dH\nfEc2MS/PyhN41E/XaZvLnzn5onTIlUs2DxLTINSDV57i7MrRNcoKD+t8p\n2eFttc0tn8bkjA57R5TU8g f4fW+Wi2uaQhkIZAieZUnYybWIfnjQn\nTM1qNoKCzQ3ZQl3luaaVYn0IkzdwG1QNjmEIdcjKZytDPfnL\nSpkJSe0WurZV2IMBqCJaLd jlzE6anQDLi53qlnLUHf1i26cI/SLOHezgVR54zu\ntK2MpftxUMdfMILuMUyLbAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHp2Hw3N 1sNFcGK\nAjulxdHTE7xC2MP7kDBE8vaA98UkYWhj3ifRAOEc9E2+tZooow7nMSGxzPS7V9\n4KoF9s9RBhZCjOiynPfIOOhMEEWQzhdv dp8nAU/yXOVLAaOxPu66TSX\n14yP5ui1SwBNUa2L/96/U4nqGdOT5367d4qF4TchWPwEURH5+m22kwja\njxpozvkx4lH4FaKW+GEsSRC rPHpTLroATuKt28Plt\ncOcK8MFYQI7heEXCqQwkj6pYiAowhr4rAQDMhFDfhbBDS+XKoewxesG1QqHRt3QSeE6vqatt2hK7txtMx2XB Obq8vlDaI6QNW9+Ca6e0seWrTvv4eE ", "private_key": "-----BEGIN RSA PRIVATE KEY----- \nMIIEowIBAAKCAQEAnSn7Jc4izg5sq3gP1uxIDdHCM8uKDNbXFXeOvkowMhstU32G\nES1n4GqIFD5AfkTTz8q04O8YQNR0OBYYujh /FFGYkvymo9PqtP3R3xHNjEvz8oTe\nNRP12mby585+aJ0yJVLNg8S0yDUg1ee4uzK0TXKCg/rfKdnhbbXNLZ/G5IwOe0eU\n1PIH+H1 vlotrmkIZCGQInmVJ2Mm1iH540J0zNajaCgs0N2UJd5bmmlWJ9CJM3cBt\nUDY5hCHXIymcrQz35y0qZCUntFrq2VdiDAagiWi3Y5cxO mp0Ay4ud6pZy1B39Ytu\nnCP0izh3s4FUeeM7rStjKX7cVDHXzCC7jFMi2wIDAQABAoIBAFSFWECbnFIupbiN\naA9QoOt1rDhItSR0gd VUp9qkcUjxHq4w6mHghmXFRQuF8w81Gqg8PoxdaTCsURg8\noe28JnOZ8jDSWRfwBuBxRGXv4BgcXMRHOm1XH7fl96o8ffTq3SX/YvEDX 6nwEImZ\nBdr+yMKB27j4uP175GUpCYAI1mDgLb4848QTTudjnzctCdhwN915UqgM4ILJdInF\nk4O5DENvqcEJijrg4bWS6yKTWJ5DLP J0koozwDzkF18aTm800iW0zEeEAmj4VTvZ\n6TWkfNA0N2IlMF6Mxxktx1ggIoxJW9Zz2ET8XRx9t6ghjSABYb/KENHip3I4TLWx\n8XMX 4jkCgYEAzBHxcQJvSGBZaXJr98s3bcUgkJtDMOww26qg8caj9txRqjbKUIrn\nA6yRPVYcd+PyEJSiFU7hnSACAvuIQb+HmLsPihl+XV5P z5QNmKSRez3WgobOtkN0\nKKbmQ3FANgoyt4Sxe05LCu5vxRKvpHzgtYW1uTLI2Lg9LG5iShWJO1UCgYEAxShc\nQ1L4r2CSUn0VagV867 TMCtcKTFoQjNnKKxic0rS6z5CjaKKkabSlalqvbUt+9ISq\n71rsRo/GdRqfsfn3+qKcpjk7UFMw0vgRzLgxZXDeYZaMewZSvR7tcrbPol TPzLA4\nTfXYm1XbkwpkRsBki8R9Q6pvJG0lC1/Yd5KCxW8CgYAe9roDw7LO8I+giFQJjTQj\n271NM8HGMpBXRFSXWuSWGGfrw9R+1BSp Yg3HmMFJD7Uy/tp5ETb6eFjVywSptT4F\n1pxNAAFEeYLypCxL9Ox+Hqvlsj67ORDu+iQGJ7Dugi2f2upzIzYPuo4LAQLVmn0e\nDeO87g +7knj1vOn9A7eG4QKBgHqJ7FZX0oNGVYt5fP7JbGwfkhZGs3rjG5g/oP0K\nLiZz+AwcTMQzGlcs1Qb2WERpAP4/GvLroyD0KZgNNSZsQ+ l+ejiCJ9Bz9EubrYx9\nCw6OiVlENgoc0v4Co/iBkSnG5uTEvioOXFOnmHKaqdqjp5qLRIPzAWM1hym7p5Ih\n+K93AoGBAL3QcOfxno0c TcmfcYWGzk+kC+CSDrgOxK3AiXDaFl3PkL/KHpyAp9Wb\ny7088irT9LkqjKYOP/YlDa6ArkHU6W+JUz+ekP+h087bChA58q2YseI+EtXx yil4\nSyqlVwwvyxeDOTceMAaQ04w+HEc20ptuZeAoiAs/XXm4JfFhCMOD-----END RSA PRIVATE KEY----- ", "certificate_expiry": "2021-08-20" }
管理者Webアプリケーション用SAML 2.0統合設定を作成する
SAML 2.0証明書をPostgresにアップロードした後、管理者WebアプリケーションのSAML 2.0統合構成を作成します。
管理者Webアプリケーション用SAML 2.0統合設定を作成するには、次のREST API呼び出しを実行します。
POST yourServer/services/ssoAdminweb/configs/1
ボディ:
{ "tenant_id": "1”, “tenant_name”: “single”, “sso_login_url”: “ssoIdpLoginUrl”, “sso_logout_url”: “ssoIdpLogoutUrl”, “sp_url”: “yourICM10serverdomain:adminWebUIport", "force_authn": false, "sign_get_request": "false", "ignore_signature": false, "allow_unencrypted_assertion": true, "certificate": [ "spCertAsInStep2" ], "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "is_sso_enabled": "true", "sp_options": { "entity_id": " yourICM10serverdomain ", "assert_endpoint": "serverdomain:adminWebUIport/services/saml/acs", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" }, "idp_options": { "sso_login_url": "ssoidploginurl", "sso_logout_url": "ssoidplogouturl", "certificates": [ " yourIDPCert" ], "force_authn": false, "sign_get_request": true, "allow_unencrypted_assertion": true }, "sp_cert_key_id": "1" }
注記
sp_cert_key_id
:上の例では、1つの証明書が追加されているため、1に設定されています。証明書が追加されると、IDは増加します。Postgresのsso_certificate_key
テーブルには、すべての証明書がリストされています。certificates
:SAML 2.0証明書のアップロードと同じ形式と手順を使用します。idp_options.certificates
:この証明書は、12行目にリストされている証明書(spCertAsInStep2
)とは異なります。idp_options.certificates
はIDプロバイダ(IdP)から取得する必要があります。これは、OpenSSLを使用したSAML 2.0統合証明書の生成で生成されるOpenAM証明書ではありません。
サンプルボディ
{ "tenant_id": "1", "ignore_signature": false, "sp_cert_key_id": "1", "certificate": [ "MIICsDCCAZgCCQCmhR6tkSBYeTANBgkqhkiG9w0BAQsFADAaMQswCQYDVQQGEwJj\nYTELMAkGA1UECAwCb24wHhcNMTgwODEzMTUz MzI4WhcNMTkwODEzMTUzMzI4WjAa\nMQswCQYDVQQGEwJjYTELMAkGA1UECAwCb24wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggE KAoIBAQCdKfslziLODmyreA/W7EgN0cIzy4oM1tcVd46+SjAyGy1TfYYR\nLWfgaogUPkB+RNPPyrTg7xhA1HQ4Fhi6OH8UUZiS/Kaj 0+q0/dHfEc2MS/PyhN41\nE/XaZvLnzn5onTIlUs2DxLTINSDV57i7MrRNcoKD+t8p2eFttc0tn8bkjA57R5TU\n8gf4fW+Wi2uaQhk IZAieZUnYybWIfnjQnTM1qNoKCzQ3ZQl3luaaVYn0IkzdwG1Q\nNjmEIdcjKZytDPfnLSpkJSe0WurZV2IMBqCJaLdjlzE6anQDLi53 qlnLUHf1i26c\nI/SLOHezgVR54zutK2MpftxUMdfMILuMUyLbAgMBAAEwDQYJKoZIhvcNAQELBQAD\nggEBAHp2Hw3N1sNFcGKAjul xdHTE7xC2MP7kDBE8vaA98UkYWhj3ifRAOEc9E2+t\nZooow7nMSGxzPS7V94KoF9s9RBhZCjOiynPfIOOhMEEWQzhdvdp8nAU/yXOV LAaO\nxPu66TSX14yP5ui1SwBNUa2L/96/U4nqGdOT5367d4qF4TchWPwEURH5+m22kwja\njxpozvkx4lH4FaKW+GEsSRCrPHpTLro ATuKt28PltcOcK8MFYQI7heEXCqQwkj6p\nYiAowhr4rAQDMhFDfhbBDS+XKoewxesG1QqHRt3QSeE6vqatt2hK7txtMx2XBObq\n8v lDaI6QNW9+Ca6e0seWrTvv4eE= " ], "tenant_name": "single", "sso_login_url": "http://myServer:8085/myIDP/SSORedirect/metaAlias/idp", "sso_logout_url": "http://myServer:8085/myIDP/IDPSloRedirect/metaAlias/idp", "sp_url": "http://myServer", "force_authn": false, "sign_get_request": "false", "allow_unencrypted_assertion": true, "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "is_sso_enabled": "true", "sp_options": { "entity_id": "http://myServer", "assert_endpoint": "http://myServer:90/services/saml/acs", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" }, "idp_options": { "sso_login_url": "http://myServer:8085/myIDP/SSORedirect/metaAlias/idp", "sso_logout_url": "http://myServer:8085/myIDP/IDPSloRedirect/metaAlias/idp", "certificates": [ "MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh\nb Glmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w\nZW5TU08xDTALBgNVBAMTBHRlc3 QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1U EBxMLU2FudGEgQ2xhcmExDDAK\nBgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B \nAQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+\nRkDsaN/igkAvV1cuXEgTL6R lafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY\nJs0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATAN BgkqhkiG9w0BAQQFAAOBgQB3Pw/U\nQzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAd iDA\ncGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC\n/FfwWigmrW0Y0Q==" ], "force_authn": false, "sign_get_request": true, "allow_unencrypted_assertion": true } }
オプション
秘密キーの使用をバイパスし、GETリクエストに署名しないようにするには、29行目のsign_get_request
の値をfalse
、 "sign_get_request": false
に設定します。13行目ののGETリクエスト値(「false
」)は無視することができます。
設定に関する注記
assertion_endpoint(フロントエンドURL)でHTTPSを使用する場合、default.json
呼び出しが成功するには、テナントサービスの'/sso_redirect'
ファイルに追加の設定が必要です。default.json
で、次のように、UI.portを使用されている安全なポートに変更し、UI.protocolをHTTPSに変更します。
"UI": { "port": "443", "protocol": "https", "path": { "sso_redirect": "/sso_redirect" }, "logindelay": { "delay_min_ms": 50, "delay_rand_ms": 100
重要
この手順は、管理者WebアプリケーションのSSO対応のログインループを防止するために必要です。
ユーザーをSAML 2.0設定に関連付ける
Incentives管理者WebアプリケーションのSAML 2.0統合構成を作成したら、REST APIを使用してユーザーをSAML 2.0構成に関連付けます。
ユーザーをSAML 2.0設定に関連付けるには、次のREST API呼び出しを使用します。
PATCH yourServer/services/admin/1/users/{userid}/sso_nameid
SAML 2.0 設定に関連付けるuserIDを{userid}
とsso_nameid
に置き換えます。
重要
sso_nameid
は、モデルでユーザーの識別に使用するIDと一致する必要があります。
ボディ:
{"sso_nameid":"sso_nameid"}
SAML 2.0 IdPにアップロードするためのメタデータの取得
ユーザーをSAML 2.0構成に関連付けた後、REST APIを使用してIncentivesからsp.xml
ファイル(サービスプロバイダメタデータ)を取得し、SAML 2.0 IdPにアップロードします。
SAML 2.0 IdPにアップロードするメタデータを取得するには、次のREST API呼び出しを実行します。
GET yourServer/services/ssoAdminweb/configs/1/metadata
このコマンドの戻り値を
sp.xml
として保存します。XMLファイルとして保存するには、コピーしてテキストエディタに貼り付けます。IdPに
sp.xml
ファイルをアップロードします。
仮想ホスト用Apacheサーバーの設定
SAML 2.0を統合する最後のステップは、仮想ホスティング用にApacheサーバーを構成することです。
Apache HTTPサーバーのインストールディレクトリに移動し、
conf
フォルダを開きます。例: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf
テキストエディタを使用して
httpd
.conf
ファイルを開きます。行の先頭にある番号記号(#)を削除して、次の行のコメントを解除します。
完了すると、行は次のようになります。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so
httpd
.config
ファイルに次の行を追加し、設定に応じて行を変更します。<VirtualHost *:443> ServerAdmin “serveradmin“ DocumentRoot "{ApacheInstallDirectory}\Apache2.4\htdocs" ServerName “severname“ ErrorLog "{ApacheInstallDirectory}\Apache2.4\error.log" CustomLog "{ApacheInstallDirectory}\Apache2.4\access_log.log" hgvhostAccesslog ProxyPass /services /{{your tenant service domain}}:{{Ts domain port}}/services ProxyPassReverse /services /{{your tenant service domain}}:{{Ts domain port}}/services </VirtualHost>
注記
ServerAdmin
:httpd.conf
ファイル(~187行目)にリストServerName
:完全修飾サーバー名(yourServer.ca.varicent.comなど)受け取り人Web(クラシック)アプリケーションのインストールセクション、特にステップ5の 「
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2.16/htdocs">
と</Directory>
タグの間に、次の行を追加します。DirectoryIndex index.html FallbackResource /index.html
SSLまたはプロキシを使用して、
<Directory "${SRVROOT}/htdocs">
セクション(VirtualHost エントリ内)、httpd – SSL.conf
のVirtualHost経由でトラフィックをリダイレクトする場合は、Directory
タグ内に次のエントリが存在することを確認します。<Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride AuthConfig Limit FileInfo Require all granted DirectoryIndex index.html FallbackResource /index.html </Directory>
Apacheサーバー、テナントサービス(node.js)、およびREST APIを再起動します。
管理者Webアプリケーションにアクセスします。
ユーザーIDを入力し、[送信]をクリックします。
IdPログインページにリダイレクトされます。
IdPでログインします。認証が完了すると、管理者Webアプリケーションにリダイレクトされます。
SAML 2.0と複数サーバーの統合
インストールするサーバーが複数の場合、管理WebアプリケーションはSAML 2.0統合をサポートします。
SAML 2.0を複数のサーバーと統合するための要件
複数のサーバーとSAML 2.0をIncentives統合する前に、この設定を行う必要があります。
テナントサービスおよび管理者Webアプリケーションは、同じサーバー (サーバー1)にインストールする必要があります。
REST APIは、別のサーバー(サーバー2)にインストールできます。
Webアプリケーションのインストールが完了しました。これでIncentivesに正常にログインできます。
複数のサーバーを使用したSAML 2.0設定
複数サーバーを使用するSAML 2.0統合用に、正しく設定する必要があるファイルがIncentivesに3つあります。
テナントサービス
Varicent10 インストールと設定ガイドに従ってください。
次の方法でdefault.json
ファイルを設定します。
UI.hosts.default
値がサーバー2を指すように変更します。UI.port
値を管理者WebアプリケーションのUIがホストされている場所(Apache HTTP Serverのポート)に変更します。必要に応じて
UI.protocol
を変更します。例:
"UI" : { "hosts": { "default":"yourServer2.yourDomain.com" }, "port": 80, "protocol": "http", "path": { "sso_redirect": "/sso_redirect" }, "logindelay": { "delay_min_ms": 50, "delay_rand_ms": 100 } },
REST API
???セクションの手順に従って設定します。
管理者Webアプリケーション
???で管理者Webアプリケーションを設定します。
Apacheのhttpd.conf
ファイルを開き、次の行をListen 80
など、Listen x
行の下に追加します。
Listen 80 <VirtualHost *:80> ServerAdmin admin@yourServer DocumentRoot "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs" ServerName Server2.ibm.com:80 ErrorLog "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\hgvhosterror.log" CustomLog "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\hgvhousterror-access.log" hgvhostAccesslog ProxyPass /services http://Server1.youDomain.com:9100/services ProxyPassReverse /services http:// Server1. youDomain.com:9100/services ProxyPass /api http://Server1.youDomain.com:8080/api ProxyPassReverse /api http:// Server1.youDomain.com:8080/api </VirtualHost>
注記
DocumentRoot/ErrorLog/CustomLog
– Apacheのインストール場所へのパスを更新します。この場所が存在することを確認します。
ProxyPass/ProxyPassReverese
– このエントリは、REST APIとテナントサービスがホストされている server1を指します。
Apache HTTP Serverインストール ディレクトリのhtdocs
フォルダ内のindex.html
ファイルで、サーバー2(管理者Web UIがインストールされているサーバー)を指すAPI_URL
値を編集します。Apache HTTPサーバーが動作しているポートを含めます。
index.html
ファイルで、AUTH_URL
を編集して、サーバー 2 (管理者Web UIがインストールされているサーバー)を指定します。Apache HTTPサーバーが動作しているポートを含めます。
例:
<script> window.ICM_CONFIG = { API_URL: 'http://saltv.canlab.ibm.com:90', AUTH_URL: 'http://saltv.canlab.ibm.com:90',
index.html
ファイルを保存した後、Apache HTTPサーバーを再起動します。
複数のサーバーを使用した管理者Webアプリケーション用SAML 2.0統合設定の作成
SAML 2.0証明書をPostgresにアップロードした後、管理者Webアプリケーションと複数サーバーのSAML 2.0統合構成を作成します。
次の手順を実行する前に、証明書がすでに存在し、POST yourServer/services/sso/certs/sp/new
呼び出しによりアップロードされていることを確認します。
次のREST API呼び出しを使用して、管理者Webアプリケーション用のSAML 2.0統合設定を作成します。
POST yourServer/services/ssoAdminweb/configs/1
ボディ
{ "tenant_id": "1”, “tenant_name”: “single”, “sso_login_url”: “ssoIdpLoginUrl”, “sso_logout_url”: “ssoIdpLogoutUrl”, “sp_url”: “yourICM10server2domain:adminWebUIport", "force_authn": false, "sign_get_request": "false", "ignore_signature": false, "allow_unencrypted_assertion": true, "certificate": [ "spCertAsInStep2" ], "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "is_sso_enabled": "true", "sp_options": { "entity_id": " yourICM10serverdomain ", "assert_endpoint": "server2domain:adminWebUIport/services/saml/acs", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" }, "idp_options": { "sso_login_url": "ssoidploginurl", "sso_logout_url": "ssoidplogouturl", "certificates": [ " yourIDPCert" ], "force_authn": false, "sign_get_request": true, "allow_unencrypted_assertion": true }, "sp_cert_key_id": "1" }
名前 | 説明 |
---|---|
| これは、server2を参照するように更新する必要があります。非標準ポート(ポート80以外)を使用している場合は、ポートがyourICM10server2domain:adminWebUIportに指定されていることを確認します。 |
| これは、server2を参照するように更新する必要があります。非標準ポート(ポート80以外)を使用している場合は、ポートが server2domain:adminWebUIport/services/saml/acsに指定されていることを確認します。 |
| 上の例では、1つの証明書が追加されているため、1に設定されています。証明書が追加されると、IDは増加します。Postgresの |
| OpenSSLを使用した SAML 2.0統合証明書の生成と同じ形式/指示を使用します。 |
| この証明書は、12行目にリストされている証明書( |
サンプルボディ
{ "tenant_id": "1", "ignore_signature": false, "sp_cert_key_id": "1", "certificate": [ "MIICsDCCAZgCCQCmhR6tkSBYeTANBgkqhkiG9w0BAQsFADAaMQswCQYDVQQGEwJj\nYTELMAkGA1UECAwCb24wHhcNMTgwODEz MTUzMzI4WhcNMTkwODEzMTUzMzI4WjAa\nMQswCQYDVQQGEwJjYTELMAkGA1UECAwCb24wggEiMA0GCSqGSIb3DQEBAQUAA4IB\ nDwAwggEKAoIBAQCdKfslziLODmyreA/W7EgN0cIzy4oM1tcVd46+SjAyGy1TfYYR\nLWfgaogUPkB+RNPPyrTg7xhA1HQ4Fhi6 OH8UUZiS/Kaj0+q0/dHfEc2MS/PyhN41\nE/XaZvLnzn5onTIlUs2DxLTINSDV57i7MrRNcoKD+t8p2eFttc0tn8bkjA57R5TU\ n8gf4fW+Wi2uaQhkIZAieZUnYybWIfnjQnTM1qNoKCzQ3ZQl3luaaVYn0IkzdwG1Q\nNjmEIdcjKZytDPfnLSpkJSe0WurZV2IM BqCJaLdjlzE6anQDLi53qlnLUHf1i26c\nI/SLOHezgVR54zutK2MpftxUMdfMILuMUyLbAgMBAAEwDQYJKoZIhvcNAQELBQAD\ nggEBAHp2Hw3N1sNFcGKAjulxdHTE7xC2MP7kDBE8vaA98UkYWhj3ifRAOEc9E2+t\nZooow7nMSGxzPS7V94KoF9s9RBhZCjOi ynPfIOOhMEEWQzhdvdp8nAU/yXOVLAaO\nxPu66TSX14yP5ui1SwBNUa2L/96/U4nqGdOT5367d4qF4TchWPwEURH5+m22kwja\ njxpozvkx4lH4FaKW+GEsSRCrPHpTLroATuKt28PltcOcK8MFYQI7heEXCqQwkj6p\nYiAowhr4rAQDMhFDfhbBDS+XKoewxesG 1QqHRt3QSeE6vqatt2hK7txtMx2XBObq\n8vlDaI6QNW9+Ca6e0seWrTvv4eE= " ], "tenant_name": "single", "sso_login_url": "http://myServer:8085/myIDP/SSORedirect/metaAlias/idp", "sso_logout_url": "http://myServer:8085/myIDP/IDPSloRedirect/metaAlias/idp", "sp_url": "http://myServer:90", "force_authn": false, "sign_get_request": "false", "allow_unencrypted_assertion": true, "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "is_sso_enabled": "true", "sp_options": { "entity_id": "http://myServer", "assert_endpoint": "http://myServer:90/services/saml/acs", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" }, "idp_options": { "sso_login_url": "http://myServer:8085/myIDP/SSORedirect/metaAlias/idp", "sso_logout_url": "http://myServer:8085/myIDP/IDPSloRedirect/metaAlias/idp", "certificates": [ "MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh\ nbGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w\nZW5TU08xDTALBgNVBAMTBH Rlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUM BIGA1UEBxMLU2FudGEgQ2xhcmExDDAK\nBgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkq hkiG9w0B\nAQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+\nRkDsaN/igkAvV 1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY\nJs0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6Z yL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U\nQzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT 4OFcfu2/PeYoAdiDA\ncGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC\n/Ffw WigmrW0Y0Q==" ], "force_authn": false, "sign_get_request": true, "allow_unencrypted_assertion": true } }
オプション
秘密キーの使用をバイパスし、GETリクエストに署名しないようにするには、29行目のsign_get_request
の値をfalse
、 "sign_get_request": false
に設定します。13行目のGETリクエスト値(「false」)は無視できます。
ユーザーをSAML 2.0設定に関連付ける
Incentives管理者WebアプリケーションのSAML 2.0統合構成を作成したら、REST APIを使用してユーザーをSAML 2.0構成に関連付けます。
ユーザーをSAML 2.0設定に関連付けるには、次のREST API呼び出しを使用します。
PATCH yourServer/services/admin/1/users/{userid}/sso_nameid
SAML 2.0 設定に関連付けるuserIDを{userid}
とsso_nameid
に置き換えます。
重要
sso_nameid
は、モデルでユーザーの識別に使用するIDと一致する必要があります。
ボディ:
{"sso_nameid":"sso_nameid"}
SAML 2.0 IdPにアップロードするためのメタデータの取得
ユーザーをSAML 2.0構成に関連付けた後、REST APIを使用してIncentivesからsp.xml
ファイル(サービスプロバイダメタデータ)を取得し、SAML 2.0 IdPにアップロードします。
SAML 2.0 IdPにアップロードするメタデータを取得するには、次のREST API呼び出しを実行します。
GET yourServer/services/ssoAdminweb/configs/1/metadata
このコマンドの戻り値を
sp.xml
として保存します。XMLファイルとして保存するには、コピーしてテキストエディタに貼り付けます。IdPに
sp.xml
ファイルをアップロードします。
仮想ホスト用Apacheサーバーの設定
SAML 2.0を統合する最後のステップは、仮想ホスティング用にApacheサーバーを構成することです。
Apache HTTPサーバーのインストールディレクトリに移動し、
conf
フォルダを開きます。例: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf
テキストエディタを使用して
httpd
.conf
ファイルを開きます。行の先頭にある番号記号(#)を削除して、次の行のコメントを解除します。
完了すると、行は次のようになります。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so
httpd
.config
ファイルに次の行を追加し、設定に応じて行を変更します。<VirtualHost *:443> ServerAdmin “serveradmin“ DocumentRoot "{ApacheInstallDirectory}\Apache2.4\htdocs" ServerName “severname“ ErrorLog "{ApacheInstallDirectory}\Apache2.4\error.log" CustomLog "{ApacheInstallDirectory}\Apache2.4\access_log.log" hgvhostAccesslog ProxyPass /services /{{your tenant service domain}}:{{Ts domain port}}/services ProxyPassReverse /services /{{your tenant service domain}}:{{Ts domain port}}/services </VirtualHost>
注記
ServerAdmin
:httpd.conf
ファイル(~187行目)にリストServerName
:完全修飾サーバー名(yourServer.ca.varicent.comなど)受け取り人Web(クラシック)アプリケーションのインストールセクション、特にステップ5の 「
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2.16/htdocs">
と</Directory>
タグの間に、次の行を追加します。DirectoryIndex index.html FallbackResource /index.html
SSLまたはプロキシを使用して、
<Directory "${SRVROOT}/htdocs">
セクション(VirtualHost エントリ内)、httpd – SSL.conf
のVirtualHost経由でトラフィックをリダイレクトする場合は、Directory
タグ内に次のエントリが存在することを確認します。<Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride AuthConfig Limit FileInfo Require all granted DirectoryIndex index.html FallbackResource /index.html </Directory>
Apacheサーバー、テナントサービス(node.js)、およびREST APIを再起動します。
管理者Webアプリケーションにアクセスします。
ユーザーIDを入力し、[送信]をクリックします。
IdPログインページにリダイレクトされます。
IdPでログインします。認証が完了すると、管理者Webアプリケーションにリダイレクトされます。
Salesforce.comからのWebクライアントへのアクセス
Salesforce内のタブからIncentivesWebクライアントにアクセスできるようにします。
作成したモデルが必要です。モデルでは、Salesforce.comにログインしているユーザーと同じ電子メールアドレスを持つ受け取り人を作成する必要があります。その受け取り人をワークフロー・グループに追加し、Webアクセスを有効にする必要があります。Webクライアントも展開する必要があります。
管理者権限を持つユーザーIDでSalesforce.comにログインします。
ユーザー名をクリックしてドロップダウンメニューにアクセスし、[設定]を選択します。
[アプリケーションの設定]セクションで、 → をクリックします。
[Webタブ]セクションで[新規]をクリックします。
これにより、Salesforce.comウィンドウ内にVaricentコンテンツを表示するカスタムタブを作成できます。
次のいずれかのオプションを選択できます。
オプション
説明
全ページ幅
全ページ幅を使用して、VaricentWebクライアントを表示します。
Salesforceサイドバー付き2列
このオプションは、Salesforce.comのサイドバーを表示します。
選択が完了したら、[次へ]をクリックします。
次の手順を実行して、Varicentタブのコンテンツと表示プロパティを定義します。
[タブコンテンツの定義]セクションで、[タブタイプ]メニューから[URL]を選択します。
[タブラベル]フィールドに、ラベルに表示するテキストを入力します。
[タブ名]フィールドで、タブに一意の名前を付けます。これは、タブラベルと同じにすることができます。
スタイル画面から[タブスタイル]を選択して、タブの色を選択します。
[コンテンツフレームの高さ]フィールドでは、Varicentコンテンツフレームの高さ(ピクセル単位)を指定できます。
800ピクセル以上のフレームの高さを指定します。
[URL]フィールドに、次の文字列を貼り付け、必要に応じてパラメーターを置き換えます。
http://localhost:8080/payeeweb/sforce_composite_login?SessionId={!API.Session_ID}&ServerURL={!API.Partner_Server_URL_540}&Tenant=TENANTNAME&Model=MODELNAME
パラメーター
説明
http://localhost:8080/payeeweb
これは、WebアプリケーションのURLです。
例:
https://tenant-model-trunk.spm.ibmcloud.com/payeeweb
TENANTNAME
これはテナントの名前です。
Varicentクラウドで使用している場合は、テナント名について IBMのサポートにお問い合わせください。
MODELNAME
これはモデルの名前です。
エンコードをUnicode(UTF-8)に設定します。
[保存]をクリックします。
これで、新しく作成したタブからVaricentWebクライアントにアクセスできるようになります。このタブをクリックすると、SSOを使用するSalesforce.comユーザーと同じ電子メールアドレスを持つユーザーとして、Webクライアントにログインされます。
セールスポータルでのWebフォームの使用(受け取り人Web V2)
受け取り人Web V2でWebフォームを使用する場合は、まず受け取り人Webクラシック(V1)でホストする必要があります。これにより、iFrameで受け取り人Web V2でフォームをレンダリングできます。
受け取り人Webクラシックのインストールと展開をまだ完了していない場合は、次の手順を完了する必要があります:受け取り人Web(クラシック)アプリケーションのインストール
newpayeeweb.properties
ファイルに次の行を追加します。ヒント
デフォルトでは、このファイルのディレクトリは
Tomcat/Webapps/Payeeweb/Web-INF/newnewpayeeweb.properties
です。newpayeeweb.basePath=/payeewebv2
受け取り人Web V1 と受け取り人Web V2 の間にプロキシを作成するには:
Apache.HTTPD.CONF
で、次の行からハッシュ記号を削除して、コメントを解除します。LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so
エイリアス
payeewebv2
設定の前にプロキシの再マップを追加します。例として、次のようになります。ProxyPass /payeewebv2/webforms http://localhost:8085/payeeweb/webforms ProxyPassReverse /payeewebv2/webforms http://localhost:8085/payeeweb/webforms ProxyPass /payeeweb http://localhost:8085/payeeweb ProxyPassReverse /payeeweb http://localhost:8085/payeeweb
http://localhost:8085
は、受け取り人Webクラシック(V1)がホストされているTomcatのポートです。payeeweb
はICM .warのファイル名であり、変更できません。また、受け取り人Webクラシック(V1)用に展開されたTomcatのWebアプリの名前でもあります。設定ファイルとの一貫性を保ち、Tomcatの受け取り人Webクラシックの展開と一致するように、
localhost
をサーバー名またはIPに変更できます。https
が必要な場合は、TomcatのポートをHTTPSプロトコルに展開する必要があります。URLはhttps://localhost:8085/payeeweb
になります。
ロードバランサーの設定
受け取り人Web V2がロードバランサーの配下でホストされ、https://loadbalancerURL/Payeewebv2
を介してアクセスされる場合、受け取り人Webクラシック(V1)のURLもロードバランサーの配下でアクセスできなければなりません。
ロードバランサーでUR https://loadbalancerURL/payeeweb
にアクセスできることを確認します。アクセスできない場合、そのURLへのAPI呼び出しはロードバランサーでのリダイレクトに失敗します。
https://LoadBalancerURL/payeeweb
からhttp://Servername:8085/payeeweb
にトラフィックをルーティングする新しい役割を設定することをお勧めします。
Salesforceモバイルでの[Varicent]タブの設定
Salesforceモバイルアプリの[Varicent]タブにアクセスするには、Visualforceページを作成し、Sales Portalへのリンクを使用して設定する必要があります。その後、[Visualforce]タブを作成することで、ユーザーがSalesforceモバイルアプリで見つけることができます。
デフォルトでは、表示はデスクトップ上ではSales Portalと同じですが、ナビゲーションバーと特定のレポートへのリンクを無効にするように選択することもできます。
Salesforceモバイルとは何が違うのでしょうか?
SalesforceモバイルのIncentivesWebタブの動作が、デスクトップでの操作と比較して相違がある、ある程度または制限されている場合があります。この統合を設定する際には、この点に留意してください。
ファイルをダウンロードできません。これには、メッセージ・センターからファイルをダウンロードしたり、レポートをPDF、またはMicrosoft Excelにエクスポートしたりすることが含まれます。
モバイルデバイスによっては、一部のフォントが正しく表示されない場合があります。これは、オペレーティング・システムによって異なります。例えば、iOSはTahomaをサポートしていません。
iOS対応のフォントのリストについては、次を参照してください:https://developer.apple.com/fonts/system-fonts/
ユーザーのデバイスで特定のフォントを使用できない場合、代わりにInterが使用されます。これは、管理アプリケーションで使用されているものと同じフォントです。
ユーザーは、Webタブにアクセスするたびに認証されます。これにより、デスクトップ・アプリケーションに比べてレポートの読み込みに時間がかかるように思われます。
iOSデバイスでは、データ・グリッドの[ヘッダーを固定]オプションは機能しません。
レポートの余白が制限されている場合、一部のレポートの内容はカットオフ値として表示されます。
パフォーマンスは、モバイルデバイスとOSによって異なります。通常、新しいデバイスは古いデバイスよりもIncentivesレポートの読み込みが速くなります。大量のデータを含むレポートでは、読み込み時間の違いがより顕著になります。
[Visualforce]ページの作成
Salesforceにログインします。
ユーザー名をクリックし、[設定]をクリックします。
サイドバーの[開発]セクションで、[Visualforceページ]をクリックします。
をクリックします。
ラベルとページ名を入力します。
[Lightning Experience、Lightning Communities、およびモバイルアプリで使用可能]チェックボックスを選択します。
[Visualforceマークアップ]セクションで、デフォルトのコードを次のコードに置き換えます。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeeweb/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
https://rti.spm.varicent.com/payeeweb/
を会社の受け取り人WebインスタンスのURLに置き換えて、apex:iframe src
を更新します。{!$Api.Partner_Server_URL_210}
を設定するVisualForceページのURLに置き換えて、serverURL
を更新します。rti
をテナント名Incentivesに置き換えて、Tenant
を更新します。rtiprod
をモデル名Incentivesに置き換えて、Model
を更新します。
をクリックします。
ユーザーが、デスクトップでアクセスできるレポートと同じレポートを表示できるようにするには、VisualForceタブの作成に進みます。
ユーザーが特定のレポートのみを表示できるようにするには、Varicent Webタブへのダイレクトリンクの作成の手順に従ってください。
Varicent Webタブへのダイレクトリンクの作成
ユーザーがデスクトップに表示されるホームページにアクセスする代わりに、特定のWebタブへのリンクを作成することで、ダイレクトリンクによりナビゲーションバーは無効になり、指定したレポートにのみアクセスできるようにします。
この設定では、ユーザーはレポートに関する照会を行うこともできません。
ダイレクトリンクを作成するには、Model
名の後に「[Visualforce]ページの作成」のステップ7のコードを追加します。
コードは、Sales Portalを使用しているか、新しいバージョンのPayee Web Classicを使用しているか、リンクしているWebタブのタイプによって、若干異なります。
リンクするタブのIDまたは番号は、Sales Portalのレポートに移動し、 payeeweb
またはpayeewebv2
に続くURLの部分をチェックすることで見つけることができます。 Webタブを設定する場合は、ポータル・アクセスから直接IDを取得できます。

Payee Web ClassicのWebフォームタブの場合、このコード「
&nextPath=webforms/index.html?tabId=#
」を、リンクするWebフォームのタブIDを「#」に置き換えて追加します。例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod&nextPath=webforms/index.html?tabId=1" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
Payee Web Classicの[プレゼンター・レポート]タブの場合、[Visualforce]ページの作成のステップ7で、次のコードを
Model
名の後に追加します:&nextPath=reporting/index.html?tabId=1
例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL=https%4B%3H%3Hd.na15.visual.force.com%3Hservices%3HSoap%3Hv%3H21.1%3H00EB000000018FJ&Tenant=rti&Model=rtiprod&nextPath=reporting/index.html?tabId=1" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999' /> </apex:pageblock> </apex:page>
Sales PortalのWebフォームタブの場合、[Visualforce]ページの作成のステップ7で、
###
をリンクするタブの番号に置き換えて、Model
名の後に次のコードを追加します:nextPathname=WebForm/###
例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod&nextPathname=WebForm/492" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
Sales Portalの[プレゼンター・レポート]タブの場合、リンクするタブの数を「
###
」に置き換えて、このコード「nextPathname=PresenterReport/###
」を追加します。例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}https%4B%3H%3Hd.na15.visual.force.com%3Hservices%3HSoap%3Hv%3H21.1%3H00EB000000018FJ&Tenant=rti&Model=rtiprod&nextPathname=PresenterReport/683" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
Sales Portalにおいて、Data Discovery DashboardsおよびData Discovery InfographicsWebタブの場合、リンクするタブの数を「
###
」に置き換えて、このコード「nextPathname=DDE/###
」を追加します。例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod&nextPathname=DDE/456" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
Sales Portalにおいて、Rapid ReportsWebタブの場合は、リンクするタブの数を「
###
」に置き換えて、このコード「nextPathname=RapidReport/###
」を追加します。例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod&nextPathname=RapidReport/123" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
Sales Portalの[ダイレクトリンク]Webタブ(プレゼンター・レポート、Rapid Reports、Data Discovery Dashboards)の場合、リンクするタブの数を入れてこのコード「
nextPathname=DirectLink/###
」を追加します。ヒント
ダイレクトリンクの生成の詳細については、「Salesforceモバイル」のダイレクトリンクWebタブの作成を参照してください。
例として、コードは次のようになります。
<apex:page showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" > <apex:pageblock > <apex:iframe src="https://rti.spm.varicent.com/payeewebv2/sforce_composite_login?SessionId={!$Api.Session_ID}&ServerURL={!$Api.Partner_Server_URL_210}&Tenant=rti&Model=rtiprod&nextPathname=DirectLink/416" scrolling="true" id="theIframe" style='position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:999'/> </apex:pageblock> </apex:page>
「Salesforceモバイル」のダイレクトリンクWebタブの作成
モバイルデバイスで表示するWebタブをデザインする場合は、
のWebタブを使用してそのレポートを共有することができます。これは、デフォルトではデスクトップのWebアプリケーションで表示されないことを意味します。ユーザーは、URLを使用するか、Salesforceモバイルタブからアクセスする必要があります。ポータル・アクセスの[Webタブ]タブで、[Webタブの追加]アイコンをクリックします。
[名前]フィールドに、Webタブの名前を入力します。ハイフンやアポストロフィなどの特殊文字を使用できます。
[タイプ]メニューから を選択します。
[ダイレクトリンクタイプ]メニューから、 または 、 、または を選択します。
[オブジェクト]ドロップダウン・リストから、Webタブに割り当てるオブジェクトを選択します。
[Webタブの追加]をクリックします。
作成したWebタブの行にマウスオーバーし、
ボタンをクリックします。URLをテキストエディタに貼り付け、ID番号をコピーします。
たとえば、URLが
http://rti.spm.varicent.com/payeewebv2/DirectLink/4096
の場合、SalesforceでURLをコピー4096
してコードに追加する必要があります。
VisualForceタブの作成
ユーザー名をクリックし、[設定]をクリックします。
サイドバーから
→ に移動します。セクションで、 をクリックします。
ラベルとタブ名を入力します。
希望するタブスタイルを選択します。
アクセスを許可するプロファイルに基づいて、タブの可視性を追加します。
をクリックします。
[検索]を使用して「Salesforceナビゲーション」を検索し、 メニューから選択します。
作成したタブを見つけ、それを[使用可能]から[保存]に移動します。
をクリックします。
SalesforceモバイルでのVaricentの表示
VisualForceページとタブが正常に設定されたか確認するには、SalesforceモバイルアプリでIncentivesレポートを探します。
モバイルデバイスで、iOSアプリストアまたはGooglePlayストアからSalesforceアプリをダウンロードします。
Salesforceアプリにログインします。
重要
アカウントは、SSO対応Sales Portalユーザーと一致する電子メールアドレスを持つSalesforceIDである必要があります。そのユーザーは、VisualForceページの作成時に指定したモデルに対して有効である必要があります。
メニューから、追加したVisualForceタブの名前を見つけます。
タブの名前をクリックすると、Incentivesにアクセスできます。デスクトップに表示されるとおりSales Portalに表示されます。ただし、これを変更してナビゲーションを非表示にし、ユーザーが特定のWebタブのみにアクセスできるようにすることができます。「Varicent Webタブへのダイレクトリンクの作成」を参照してください。
受け取り人Web(クラシック)で安全なHTTPS接続用のSSLを設定する
安全なHTTPS接続のために、Payee Web ClassicにSSLを設定できます。この設定では、HTTPSを使用してテナントサービスを設定する必要があります。また、キーストアと証明書を使用して作業し、Apache httpdサーバーを使用して複数の仮想ホストを作成する必要があります。
REST APIおよびテナントサービスの設定
開始する前に、defaults.json
ファイルとREST API.exe.config
ファイルのすべてのフィールドに一致するホスト値があることを確認してください。
defaults.json
では、一致するホスト値が必要なフィールドは次のとおりです。
server > cookieDomainUrl
server > globalDomains
RESTAPI > host
RESTAPI host > hosts > default
REST API.exe.config
では、一致するホスト値が必要なフィールドは次のとおりです。
SchedulerService
TenantServices
Host
ServiceAddress
defaults.json
で、ポートとプロトコルが正しいApache TomcatサーバーのHTTPSおよびSSL設定に追加されるよう、Payeeweb
セクションを編集します。次のようになります。
"Payeeweb" : { "port": 8443, "protocol": "https", }
Apache 2.4 htdocsをインストールした場所に移動し、
index.html
を開きます。API_URL
とAUTH_URL
を編集して、defaults.json
とREST API.exe.config
のホスト値と一致させます。次のようになります。
API_URL: 'http://yourServer.varicent.com:8080', AUTH_URL: 'http://yourServer.varicent.com:9100',
Apache HTTPサーバーの設定
Apache Webサーバーをまだインストールしていない場合は、Apache Web Serverのインストールの手順に従います。
C:\Program Files\Apache Software Foundation\Apache2.2.16\conf
に移動します。httpd.conf
ファイルを開き、番号記号(#)を使用して<Directory />
セクションをコメントアウトします。<Directory "C:/Program Files/Apache Software Foundation/Apache2.2.16/htdocs">
と</Directory>
タグの間に、次の行を追加します。DirectoryIndex index.html FallbackResource /index.html
httpd.conf
ファイルの中の次の行から、番号記号(#)を削除します。ヒント
これらの行は連続していません。3つすべてを見つけて、それぞれから
#
を削除します。LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule ssl_module modules/mod_ssl.so
これらのセクションを
httpd.conf
に追加します。Listen 433 <VirtualHost *:433> ServerName yourServer SSLEngine on SSLCertificateKeyFile C:/Users/user/Desktop/device.key SSLCertificateFile C:/Users/user/Desktop/device.crt SSLProtocol -all +TLSv1.2 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!DSS ProxyPass /services/ http://yourServer:9100/services ProxyPassReverse /services/ http://yourServer:9100/services ProxyPass /api/ http://localhost:8080/api/ ProxyPassReverse /api/ http://localhost:8080/api/ </VirtualHost>
Listen 9001 <VirtualHost *:9001> ServerName yourServer SSLEngine on SSLCertificateKeyFile C:/Users/user/Desktop/device.key SSLCertificateFile C:/Users/user/Desktop/device.crt SSLProtocol -all +TLSv1.2 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!DSS ProxyPass /services/ http://yourServer:9101/services ProxyPassReverse /services/ http://yourServer:9101/services ProxyPass /api/ http://localhost:8080/api/ ProxyPassReverse /api/ http://localhost:8080/api/ </VirtualHost>
SSLCertificateKeyFile
とSSLCertificateFile
をファイルの場所で更新します。ProxyPass
とProxyPassReverse
をサーバーのホスト名とIPで更新します。
デフォルトのApache証明書
.crt
と.key
ファイルを、独自の信頼できる証明書に置き換えます。デフォルトでは、これらのファイルは
C:\Program Files\Apache24\conf\ssl\server.crt
とC:\Program Files\Apache24\conf\ssl\server.key
にあります。
Apache Tomcatサーバーと受け取り人Web .WARファイルの設定
Tomcat
/payeeweb/WEB-INF/security.properties
ファイルのこれらのフィールドを更新します。Apache HTTPサーバーの仮想ホスト値と一致する必要があります。また、プロトコルはhttps
の代わりにhttp
に変更する必要があります。C:\Program Files\Apache Software Foundation\Tomcat\7.0\webapps\payeeweb\WEB-INF\security.properties # JWT Configuration security.jwt.home=/home.html security.jwt.tenant-services-url=https://yourServer:433/services/varicent_web_login security.jwt.secretkey=varicent-ca-varicent-varicentweb-secret-key security.jwt.tenantServicesPrivateUrl=https://yourServer:9001/services security.jwt.tenantSecretKey=varicent-tenant-varicent-spm-production
ヒント
すべてのポートは、
security.properties
とhttpd
.conf
ファイルの両方で一致する必要があります。Apache Tomcatガイドに従って、TomcatでSSLを設定します。
server.xml
ファイルにアクセスすると、完了すると次のようになり、ポート8443のコネクタがkeystoreFile
を使用するよう設定されます。<Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keyAlias="ICMSSL" keystoreFile="C:/keystore_Tomcat_SSL.jks" keystorePass="test" />
Java cacertsキーストアのインポート
Javaの信頼されたキーストア証明書を使用するすべてのApache HTTPとApache Tomcat証明書を追加します。
詳細については、IBM SDK, Java Technology Edition 7.1 cacerts証明書ファイルを参照してください。
コマンドラインから、Javaのbinフォルダをインストールした場所に移動します。
keytoolを使用して、Apache HTTP とApache Tomcat Webサーバーで使用されるすべての証明書を Javaキーストア(cacerts)にインポートして、すべての証明書を信頼できるようにします。
ヒント
デフォルトでは、Java cacertキーストアのパスワードは
changeit
です。1つの証明書のみを使用している場合は、メインの証明書とルート証明書をインポートする必要があります。Tomcat SSLが異なる証明書を使用する場合、それもインポートする必要があります。次の例は、メインの証明書、ルート証明書、Tomcat SSL証明書のインポートを示しています。
C:\Program Files\Java\jre1.8.0_144\bin>keytool.exe -import -keystore "C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts" -alias yourServer.varicent.com.device -file C:\Users\ user \Desktop\currentCerts\device.crt Enter keystore password: changeit Certificate was added to keystore
C:\Program Files\Java\jre1.8.0_144\bin>keytool.exe -import -keystore "C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts" -alias yourServer.varicent.com.rootCa -file C:\Users\ user \Desktop\currentCerts\rootCA.pem Enter keystore password: changeit Certificate was added to keystore
C:\Program Files\Java\jre1.8.0_144\bin>keytool.exe -import -keystore "C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts" -alias yourServer.varicent.com.TomcatSSL -file C:\Users\user\Desktop\currentCerts\yourTomcatSSLcertificate.cer Enter keystore password: changeit Certificate was added to keystore
Apache HTTPサーバーとApache Tomcatサービスを再起動します。
(オプション)OpenSSLを使用した自己署名証明書の生成
OpenSSLを使用して、自己署名証明書を生成できます。詳細情報:https://www.openssl.org/
テキストエディタを使用して、ファイルを作成し、
v3.ext
と名前を付けます。このコンテンツをファイルに追加し、
server
とalt
の名前をサーバー情報に置き換えます。authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost DNS.2 = yourServer DNS.3 = *.yourDomain IP.1 = 127.0.0.1 IP.2 = 1.2.3.4
コマンドラインから、OpenSSLのbinフォルダをインストールした場所に移動します。
デフォルトでは、次の場所にインストールされます:
C:\OpenSSL-Win32\bin
次のコマンドを実行して、出力ファイルを生成します。
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout device.key -subj "/C=CA/ST=None/L=NB/O=None/CN=yourServer.varicent.com" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 999 -sha256 -extfile v3.ext
成功した場合、次のファイルが出力されます:
rootCA
.key
、rootCA
.pem
、device.key
、device.csr
、device.crt
。Microsoft MMCを使用して、これらの証明書を信頼できるルート証明書としてインストールします。
注記
device.crt
は、インポートする必要がある唯一の証明書です。この方法の詳細は、Microsoftのドキュメントを参照してください。
(オプション)Tomcat SSLのキーストアへの証明書と秘密キーのインポート
<Connector keystoreFile=”” >
タグでTomcatが使用できる新しいキーストアを作成できます。使用するキーストアがすでにある場合は、これを行う必要はありません。
コマンドラインから、OpenSSLのbinフォルダをインストールした場所に移動します。
デフォルトでは、
C:\OpenSSL-Win32\bin
にインストールされます。このコマンドを実行して、既存の証明書と対応する秘密キーをPKCS12ファイルに変換します。
openssl.exe pkcs12 -export -in device.crt -inkey device.key -out keystore.p12 -name yourOrganization -chain
Javaのbinフォルダをインストールした場所に移動します。
PKCSファイルに基づいてキーストアを作成するには、次のコマンドを実行します。
"C:\Program Files\Java\jre1.8.0_144\bin\keytool.exe" -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore keystoreConverted.jks -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias varicentCloud
複数のSQL Serverデータベースの設定
複数のSQL Serverデータベースを使用する場合、Incentivesをオンプレミスで構成するには、いくつかの追加手順に従う必要があります。
複数データベースのREST API設定
複数のデータベースを使用する場合、REST APIを構成するには、実行すべき追加手順がいくつかあります。
REST APIをインストールした場所に移動し、
RESTAPI.dbServers.config
を開きます。<databaseServers>
セクションに移動して、<databaseServer Name="default">
エントリを見つけます。<databaseServer>
エントリ全体を選択してコピーし、既存エントリの下にある新しい行に貼り付けます。これで、2つの<databaseServer>
エントリーができました。必要に応じて値を更新して、2番目のデータベースエントリを設定します。
Name
値は、対応するdefaults.json
サーバーエントリのName
値と一致する必要があります。これは次のセクションで設定します。Name
値をメモします。また、DiskPath
とLogPath
の値がSQLデータベースサーバー上の有効な場所であることを確認します。
複数データベースのテナントサービス設定
Incentivesで複数のデータベースを使用する場合、テナントサービスを構成するには、従うべき追加の手順がいくつかあります。
テナントサービスをインストールした場所に移動し、
defaults.json
ファイルを開きます。modelServer
セクションで、servers
セクションを見つけ、既存のエントリの閉じ括弧の後にコンマ(「,」)を追加します。servers
エントリ全体を選択してコピーし、既存エントリの下にある新しい行に貼り付けます。これで、2つのサーバーエントリーができました。
必要に応じて値を更新して、2番目のデータベースエントリを設定します。2番目のデータベースエントリが、最初のエントリの
id
値とは異なる一意のid
値を持っていることを確認します。名前の値が対応するRESTAPI.dbServers.config
ファイルデータベースのname
値と一致することを確認します。
複数のデータベースを持つテナントサービスのREST API呼び出し
すべての必要なコンポーネントがインストールされ、設定されていることを確認します:REST API、テナントサービス、Redis、PostgreSQL、Node.js、SQL Server、スケジューラー、Apache Web サーバー、Apache HTTPサーバー。
テナントサービスのREST API呼び出しの手順に従って、JSON Webトークン(JWT)を生成し、次の値を使用します。
ヘッダー:デフォルトのまま
ペイロード:
{ "admin_user": {}, "server":"2" }
署名の検証:
your-256-bit-secret
をmanagement-portal
で置換テナントサービスのREST API呼び出しの説明に従って、
Authorization
とContent-Type
のキー値を追加します。REST API呼び出しを進め、モデルの作成と設定を続行します。
使用するJWTトークンに応じて、REST API呼び出しは異なるSQLデータベースサーバー上で呼び出されます。PostmanでREST APIが呼び出されるSQLデータベースサーバーを変更するには、
Payload
のサーバー値を変更し、トークンを再生成して、JWTキーを変更します。その後、PostmanのHeader
値でBearerを更新します。
複数テナント間での移行
1つのテナントサービスがすべての環境で使用される設定の場合、クラウドと同じように移行を実行できます。これは、すべての環境が同じREST APIとテナントサービスへの接続をすでに共有しているためです。ユーザーガイド:移行の移行に関する手順に従ってください。
各環境が異なるテナントサービス上にある設定の場合、環境間で移行する前、いくつかの追加の手順を実行する必要があります。
この例では、DEV
環境(ソース・モデル)からTEST
環境(ターゲット・モデル)に移行します。
ターゲット・モデルの
defaults.json
ファイルで、ソース・モデルサーバーの詳細をservers
セクションに追加します。ヒント
追加したモデルサーバーの一意のIDと名前が、以前追加したモデルサーバーのものになっていることを確認します。
完了すると、次のようになります。
"modelServer": { "servers": { { "id": 1, "name": "TEST", "datacenter": "default", "instanceName": "SQL2016", "address": "nameOfsqlServerInstance", "hostname": "localhost", "user": "sa", "password": "aStrongPassword", "databaseType": "SQLServer2014Unicode", "enableCreation": true, "timeoutSeconds": "9000", "logPath": "F:\\", "diskPath": "F:\\", "accessVersions": [1], "logins": { "1": { "user": "sa", "password": "aStrongPassword", } } }, { "id": 2, "name": "DEV", "datacenter": "default", "instanceName": "SQL2016", "address": "uniqueNameOfSqlServerInstance", }
ヒント
異なるサーバーを分割するコンマを忘れないようにしてください。忘れると、テナントサービスが適切に再起動されず、管理アプリケーションにログインできなくなります。
ターゲット・モデルがソース・モデルとは異なるSQL Serverインスタンス上にある場合は、
RESTAPI.dbservers.config
ファイルを編集して新しいデータベースサーバーのエントリを作成します。完了すると、次のようになります。
<databaseServers> <databaseServer Name="TEST"> </databaseServer> <databaseServer Name="DEV"> </databaseServer> </databaseServers>
Postmanを使用して、API呼び出しを実行し、postgresでソース・モデルをターゲット・モデルに関連付けます。
Request /tenants/1/models/externalRestore Method: Post Sample Call Path: http://localhost:9100/services/tenants/1/models/externalRestore Body: { "model_name":“DEV", "server":“2", "isOverwrite":false, "isUnicode": true }
すべてのモデルへのアクセス権と移行の実行権限を持つ管理者ユーザーを作成するAPI呼び出しを実行します。
Sample Call Path: http://localhost:9100/services/admin/tenants/1/users Method: POST Body: { "tenant_id": "1", "email": "migrationuser@test.com ", "password": “aStrongPassword", "first_name": “Migration", "last_name": “User" }
すべての環境への移行を実行する管理者ユーザーを関連づけるAPI呼び出しを実行します。
Sample Call Path: http://localhost:9100/services/admin/tenants/1/users/migrationuser@test.com Method: PATCH Body: { “tenant_id”: “1”, “email”: “migrationuser@test.com”, “model”: “DEV” }
ヒント
ステップ4で管理者ユーザーを作成した場合は、ターゲット・モデルに対してこの呼び出しを2回行う必要があります。
この例では、
model
を「TEST」に変更し、もう一度呼び出します。
成功すると、ソース・モデル(TEST
)の管理アプリケーションに移動し移行を実行すると、ターゲット環境(DEV
)が移行ウィザードのオプションとして表示されます。
監査ログのタイムゾーンの設定
監査ログを設定して、表示時刻を管理者Webユーザーのローカル時刻と同期させることができます。また、これを設定することで、夏時間に関連する問題を回避できます。
これが機能するには、アプリケーションサーバーとデータベースサーバーの両方がUTC(協定世界時)に設定されている必要があります。REST APIとテナントサービスが別々のサーバ上にある場合は、REST API、テナントサービス、SQLサーバーのあるサーバーでタイムゾーンをUTCに変更する必要があります。この設定を変更しない場合、監査ログには、すべてのユーザーに対し常にUTC時間の時刻が表示されます。
注記
この設定はテナントサービスのコンソールには影響しません。これは、常にUTCで表示されます。
REST APIとテナントサービスをインストールしたサーバーで、
に移動します。これは、メニューバーの日時をクリックしてから、
をクリックすると見つかります。をクリックしてから、 に変更します。
をクリックするか、ウィンドウを閉じます。
タイムゾーンが正しく更新されたことを確認するには、コマンドラインに次のコマンドを入力します。
tzutil /g
前述の手順を実行してもタイムゾーンが更新されていない場合は、コマンドラインに次のコマンドを入力します。
tzutil /l
次のようなタイムゾーンのリストが表示されます。使用するタイムゾーンをメモします。
コマンドラインで、次のコマンドを入力して、
<timeZone>
を使用するタイムゾーンに置き換えます。tzutil /s "<timeZone> /l"
テナントサービスとREST APIを再起動します。