コネクションプロファイル

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

単一のWorkatoオンプレミスエージェント(OPA)は、複数のオンプレミスアプリケーションに接続できます。 コネクションプロファイルは各アプリケーションを一意に識別し、接続に必要な設定情報を含みます。


基本

コネクションプロファイルとは何ですか

コネクションプロファイルは、オンプレミスアプリケーションの情報を一意に識別して含むファイルです。 プロファイルは、<INSTALL_HOME>/conf/config.ymlにある設定ファイルに保存されます。

一般的な設定ファイルは次のようになります:

yaml
database:
  profile1:   # Connection names can't contain
    ...       # spaces or special characters
  profile2:   # But may contain underscores (_) and hyphens (-)
    ...

files:
  profile3:
    ...
  profile4:
    ...

jms:
  profile5:
    ...

ldap:
  profile6:
    ...

server:
  classpath:
    ...
  staging:
    ...

接続できるシステムの種類

config.ymlファイルには、次のシステムタイプのプロファイルを含めることができます:

インターネット接続が制限されたサーバーにインストールされたOPA用に、プロキシサーバーを設定することもできます。

新しい設定を適用するには

デフォルトでは、config.ymlに変更を加えるたびにOPAを再起動する必要があります。 詳細については、オンプレミスエージェントの実行ガイドを参照してください。

オンプレミスエージェントが変更を自動的に適用できるようにするには、autoReloadオプションを使用するためにconfig.ymlファイルの先頭に次を追加します

yaml
config:
  autoReload: true

有効にすると、config.ymlに加えられた変更はautoReloadによって取得されます。 OPAを手動で再起動する必要はありません。

AUTORELOADとサーバープロファイル

autoReloadは、サーバープロファイルに加えられた変更には適用されません。 これらの変更を適用するには、OPAを手動で起動および停止します。

データベースプロファイル

データベースコネクションプロファイルは、オンプレミスエージェント(OPA)がデータベースに接続するために使用する情報を提供します。 コネクションプロファイルは、config.ymlファイルのdatabaseセクションにあります。

JDBCドライバー要件

JDBCデータベースとのコネクションを確立するには、適切なJDBCドライバーをオンプレミスエージェントのlib_extフォルダにコピーします。 このドライバーがないと、オンプレミスエージェントはデータベースに接続できません。

OPAは複数のデータベースへのコネクションをサポートしています。 接続する各データベースについて、databaseキーの下にセクションを追加します。 例:

yaml
database:
  your-connection-name:         # Specify the connection name, ex: sales-database
    adapter: sqlserver
    host: localhost
    port: 1433
    database: sales
    username: sales_analyst
    password: secretPassword456

このセクションでは、次について説明します。

プロファイルプロパティ

データベースコネクションプロファイルには、次のプロパティを含めることができます:

名前タイプ説明
adapter任意プロファイルの対象となるデータベースの種類。 たとえば、プロファイルがPostgreSQLデータベース用の場合、この値はpostgresqlになります。

OPAでサポートされているデータベースのいずれかである必要があります。 詳細については、設定例を参照してください。
url任意データベースのJDBCコネクションURL。 たとえば、jdbc:postgresql://sales.database:5432/salesはPostgreSQLデータベースに接続します。

注: コネクションプロファイルを完全に設定するには、urlまたはhost値を指定する必要があります。

詳細については、設定例を参照してください。
host任意データベースのホストアドレス。 例: localhost

注: コネクションプロファイルを完全に設定するには、urlまたはhost値を指定する必要があります。
port任意データベースのポート。 データベースタイプのデフォルトポートを使用する場合、このプロパティは省略できます。

たとえば、PostgreSQLデータベースはデフォルトでポート5432を使用します。 PostgreSQLがこのポートを使用している場合、コネクションプロファイルにportプロパティを追加する必要はありません。

デフォルトポートはサポートされているデータベースセクションに一覧表示されています。
database任意データベースの名前。 例: sales

注: urlプロパティが指定されている場合、このプロパティは省略できます。
username必須データベースへの接続に使用されるデータベースユーザーのユーザー名。
password必須データベースユーザー(username)のパスワード。 この値には、外部シークレットマネージャーのシークレットを使用できます。 詳細については、設定例を参照してください。
driverClass必須JDBCコネクションの場合のみ必須です。 指定されたデータベースのJDBCドライバークラスの完全修飾名。 ドライバークラスは、エージェントのclasspathプロパティで使用可能である必要があります。
pooled任意再接続試行間の遅延を減らすデータベースコネクションプールを設定するためのオプション。 以下のプロパティを含みます。
名前種類説明
minSize任意最小コネクションプールサイズ。 デフォルトは1です。
maxSize任意最大コネクションプールサイズ。 デフォルトは10です。
idleTimeout任意コネクションがリサイクルされるまでのアイドル時間(ミリ秒)。
maxLifetime任意コネクションの最大存続時間(ミリ秒)。
timeout任意クライアントがプールからのコネクションを待機する最大時間(ミリ秒)。
ssl任意SSLコネクションを設定するためのオプション。 SSLは次のデータベースでサポートされています:
  • MySQL - バージョン5.7以降
  • PostgreSQL - バージョン11.x以降
以下のプロパティを含みます。
名前種類説明
cert必須SSL証明書へのファイルパス。
trustAll任意trueの場合、クライアントに任意の証明書チェーンを信頼させます。 自己署名サーバー証明書がサポートされています。 デフォルトはfalseです。
verifyHost任意trueの場合、サーバー証明書に保存されている名前がドメイン名と照合されます。 デフォルトはfalseです。

サポートされているデータベース

次の表には、OPAが現在サポートしているデータベースに関する情報が含まれます:

  • データベース名: データベースの名前
  • アダプター: データベースのadapter値。 この値は、OPAが接続するデータベースの種類を指定するために使用されます。
  • デフォルトポート: データベースのデフォルトport
  • : データベースの設定に関する注記
データベース名アダプターデフォルトポートメモ
Amazon Redshiftredshift5439
JDBC互換データベースjdbc以下が必要です:
  • コネクションプロファイルのurlおよびdriverClassプロパティ
  • 設定済みのserverプロファイル
詳細については、JDBCの例を参照してください。
Microsoft SQL Serversqlserver1433
MySQLmysql3306デフォルトでは、ドライバーは結果セットを行ごとにストリーミングします。 バッファサイズを変更するには、defaultFetchSizeプロパティを使用します。
Oracleoracle1521Oracle Serviceを使用する場合urlプロパティが必要です。

SIDを使用する場合、adapterまたはurlプロパティのいずれかを使用できます。

詳細については、Oracleの例を参照してください。
PostgreSQLpostgresql5432

設定例

ブロックをクリックして例を表示します。

adapterプロパティの使用

次の例では、adapterプロパティを使用してMicrosoft SQL ServerおよびAmazon Redshiftデータベースに接続します:

yaml
database:
  sales:
    adapter: sqlserver
    host: localhost
    port: 1433
    database: sales
    username: sales_analyst
    password: secretPassword123
  operations:
    adapter: redshift
    host: localhost
    port: 5439
    database: customers
    username: cs_analyst
    password: secretPassword789
urlプロパティの使用

次の例では、urlプロパティを使用してPostgreSQLデータベースに接続します。

yaml
database:
  sales:
    url: jdbc:postgresql://sales.database:5432/sales
    username: sales_analyst
    password: secretPassword123
    ApplicationName: workato
passwordプロパティへのシークレットの使用

次の例では、外部シークレットマネージャーのシークレットを使用してデータベースパスワードを指定します。 詳細については、Secrets Managerを参照してください。

yaml
database:
  sales_database:
    adapter: sqlserver
    host: localhost
    port: 1433
    database: test
    username: sales_user
    password: { secret: 'sales-db-password-password' }
Oracleデータベースへの接続

Oracleデータベースに接続するときは、SIDまたはServiceのいずれかに接続できます。

SIDを使用する場合は、adapterまたはurlプロパティのいずれかを使用できます。

Serviceを使用する場合は、urlプロパティを指定する必要があります:

yaml
database:
  erp:
    url: jdbc:oracle:thin:@localhost:1521/PROD
    username: admin
    password: SecretPassword456
JDBC互換データベースへの接続

JDBC互換データベースへのコネクションには、次が必要です:

yaml
database:
  tpc:
    url: jdbc:presto://warehouse.intra:8889/tpch
    driverClass: com.facebook.presto.jdbc.PrestoDriver
    adapter: jdbc
    username: my_user

server:
  classpath: jdbc
特定のSQL Serverインスタンスへの接続

次の例は、同じサーバー上に複数のインスタンスがある場合に、特定のSQL Serverインスタンス用のJDBC urlを定義する方法を示しています。

注: ポート番号が不明な場合にのみ、インスタンス名を指定する必要があります。

yaml
database:
  sales:
    adapter: sqlserver
    url: jdbc:sqlserver://[Server/Host]\[Instance]
    username: user
    password: Secret123
SSLの有効化

次の例では、PostgreSQLデータベース用にSSLを設定します。

: 現在、SSLコネクションはMySQL(5.7+)およびPostgreSQL(11+)データベースでサポートされています。

yaml
database:
  sales:
    adapter: postgresql
    host: localhost
    port: 5432
    database: sales
    username: sales_analyst
    password: secretPassword123
    ssl:
      cert: /path/client_ca.crt
      trustAll: false
      verifyHost: true

オンブレミスファイルプロファイル

オンブレミスファイルを操作するには、filesセクションでファイルシステムプロファイルを定義する必要があります。 相対パスの解決に使用されるため、ファイルアクセスのベースフォルダを指定する必要があります。 C:\Documents\ディレクトリ内のHRという名前のフォルダは、次のように設定されます:

yaml
files:
  hrfiles:
    base: "C:\\Documents\\HR"

別の例として、Desktopディレクトリ内のemployeesフォルダへのアクセスを提供する場合、設定には次のようなファイルパスが含まれます:

yaml
files:
  hrfiles:
    base: "/Users/me/Desktop/employees"

FTP(S)プロファイル

FTP(S)コネクションを設定するには、ftpセクションでプロファイルを定義する必要があります。 FTPサーバーのホストとポートを認証情報とともに指定する必要があります。 FTPサーバーへの単純なコネクションは、次のように設定されます:

yaml
ftp:
  ftp_profile_1:
    hostname: myftpserver.com
    port: 21
    user: username
    password: secretpassword

オンプレミスエージェントのバージョン

FTP(S)コネクターを使用するには、OPA 25.0以降が必要です。

次のプロパティがサポートされています:

プロパティ名説明
hostname
必須
FTPサーバーのアドレス。
port
任意
FTPのデフォルトポートは21です。
username
必須
接続するFTPサーバーのユーザー名。
password
必須
接続するFTPサーバーへのパスワード認証情報。
implicit
任意
false明示的FTPSコネクションタイプ。 デフォルト値。
true暗黙的FTPSコネクションタイプ。
cert
任意
.pem形式のX509サーバー証明書
trustAll
任意
クライアントに任意の証明書チェーンを信頼させます。 自己署名サーバー証明書がサポートされています。

公開鍵/秘密鍵ペアとパスワード認証タイプの例を以下に示します:

yaml
ftp:
  ftp_profile_key_protected:
    hostname: myftpserver.com
    port: 21
    user: username
    password: secretpassword
    ssl:
      implicit: false
      cert: /path/to/PEM-encoded-certificate-or-trusted-CA
      trustAll: true

詳細については、FTPコネクタのドキュメントを参照してください。


SFTPプロファイル

SFTPコネクションを設定するには、sftpセクションでプロファイルを定義する必要があります。 SFTPサーバーのホストとポートを認証情報とともに指定する必要があります。 SFTPサーバーへの単純なコネクションは、次のように設定されます:

yaml
sftp:
  sftp_profile_1:
    host: mysftpserver.com
    port: 22
    user: username
    password: secretpassword

オンプレミスエージェントのバージョン

SFTPコネクターを使用するには、OPA 24.0以降が必要です。

次のプロパティがサポートされています:

プロパティ名説明
host
必須
SFTPサーバーのアドレス。
port
任意
SFTPのデフォルトポートは22です。
username
必須
接続先SFTPサーバーのユーザー名。
ユーザー名/パスワード
認証タイプ
password接続先SFTPサーバーのパスワード認証情報。
公開鍵/秘密鍵ペア
認証タイプ
private_key秘密鍵へのパス。
passphrase秘密鍵がパスワードで保護されている場合の任意のパスワード。
公開鍵/秘密鍵ペアとパスワード
認証タイプ
password接続先SFTPサーバーのパスワード認証情報。
private_key秘密鍵へのパス。
passphrase 秘密鍵がパスワードで保護されている場合の任意のパスワード。
host_key
任意
SSH公開鍵のハッシュ。 Base64形式の公開鍵については、SFTPサーバー管理者にお問い合わせください。
server_host_key
任意
サーバーがSSH-RSAホストキーアルゴリズムを使用する場合、このパラメーターは必須です。 SSH-RSA認証はクラウドSFTPコネクションではサポートされていません。 詳細については、SSH-RSAサポートセクションを参照してください。
PubkeyAcceptedAlgorithms
任意
サーバーがSSH-RSAホストキーアルゴリズムを使用する場合、このパラメーターは必須です。 必要なアルゴリズムを入力します。例: ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa。 SSH-RSA認証はクラウドSFTPコネクションではサポートされていません。 詳細については、SSH-RSAサポートセクションを参照してください。

公開鍵/秘密鍵ペアとパスワード認証タイプの例を以下に示します:

yaml
sftp:
  sftp_profile_key_protected:
    host: mysftpserver.com
    port: 22
    user: username
    password: secretpassword
    host_key_fingerprint: AAAAC3NzaC1lZDI1NTE5AAAAIDnkCeZXGyvQmXJ7VfbTD65NG2u0wcMA1gC5Um3tJ/2P
    private_key: /path/to/id_rsa
    passphrase: password  #if private_key is password-protected

詳細については、SFTPコネクタのドキュメントを参照してください。

SSH-RSAサポート

SSH-RSAはSHA-1に依存しており、現在のセキュリティ標準を満たさなくなっています。 Workatoは、SFTPへのクラウドコネクションでSSH-RSA認証をサポートしていません。 SSH-RSAを使用して認証する必要がある場合は、Workato OPAを使用してオンプレミスコネクションを作成するか、より強力なホストキーアルゴリズムを有効にするようサーバー管理者にお問い合わせください。


SMBプロファイル

共有ネットワーク場所へのSMBコネクションを設定するには、まずsmbセクションでプロファイルを定義する必要があります。 SMBのhostportshare nameを認証情報とともに指定する必要があります。 次の例では、SMBへの単純なコネクションを設定します:

yaml
smb:
  smb_profile_1:
    host: some-host.amazonaws.com
    port: 445
    shareName: SampleSharedFolder
    username: username
    password: secretpassword
    domain: optionalDomainName

オンプレミスエージェントのバージョン

SMBコネクターを使用するには、OPA 26.0以降が必要です。

次のプロパティがサポートされています:

プロパティ名説明
host
必須
SMBサーバーのアドレス。
port
必須
FTPのデフォルトポートは445です。
shareName
必須
宛先の共有フォルダの名前。
username
必須
SMB共有にアクセスできるユーザー名。
password
必須
パスワード認証情報。
domain
任意
ユーザーの任意のドメイン名。

詳細については、SMBコネクタのドキュメントを参照してください。


SAPプロファイル

SAPコネクションプロファイルでは、serverセクションとsapセクションを一緒に定義する必要があります。

SAP JCOライブラリディレクトリ

Serverプロファイルでは、lib_extはSAP JCoコネクタライブラリが格納されるディレクトリです。 このディレクトリがまだ存在しない場合は、OPAルートディレクトリに作成し、その中にSAP JCoコネクタライブラリを配置します。 lib_extフォルダにはsap-connector-impl-X.X.jarを含める必要があります。 詳細については、Serverプロファイルセクションを参照してください。

SAPコネクターがサポートするコネクションタイプは、直接コネクションまたはMessage Serverコネクションの2つです。

SAPのデフォルトポート

SAPコネクターはデフォルトでこれらのポートを使用します:

  • SAP Message Server経由: 36xx(xxはSAPシステム番号)
  • SAP Message Serverなし(例: SAPへの直接呼び出し): 48xx(SNCあり)および33xx(SNCなし)

さらに、HTTP(s)インバウンド通信(たとえば、SAPからプロビジョニングされたREST ODataサービス、SOAP WebServicesなどの利用)のポートは、デフォルトで8000(HTTP)および44300(HTTPs)です。 これらのポートがSAPでカスタム設定されている場合、ポート番号はSAPで次の方法で確認できます。

  1. ICM Monitor(SMICM)トランザクションに移動します。
  2. ICMで設定されたサービスと関連するポートを表示するには、Goto Servicesを選択します。

これらのポートがデフォルトと異なる場合は、Workatoサポートにお問い合わせください。

SNCコネクション

Secure Network Communicationの設定の詳細については、SNC暗号化を参照してください。

SAP - 直接コネクション

以下は、Directコネクションタイプの例です。 SAPシステムがアプリケーションサーバーとして直接公開されている場合は、このコネクションタイプを使用します。

yaml
server:
  classpath:
    - lib_ext

sap:
  # Direct connection to an ABAP application server
  sap_profile_1: # This is on-prem agent connection profile name
    network_connection:
      gateway_host: "xx.xx.xx.xx"
      system_number: "00"
      program_id: "WORKATO"  # Only needed if you are using IDocs. This can be omitted for connections that only use RFCs.
      metadata_refresh_interval: "10"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
パラメーター(JCOコネクションプロパティ)説明画像をクリックして拡大
gateway_host (jco.client.ashost)DNS名またはIPアドレスのいずれかを指定できます。 存在する場合、これはSAPホストへの直接コネクションを表します。 xx.xx.xx.xx形式にできます。 これは、直接接続しているSAPアプリケーションサーバーのIPアドレスです。 これは、オンプレミスSAP Application serverへのログインに使用するSAP Logon Padで確認できます。ホスト
system_number (jco.client.sysnr)2桁のSAPシステム番号。 アプリケーションサーバーが受信リクエストをリッスンしている論理ポートを識別します。 一般的に、XXがsystem_numberであるTCP Port 33XXから確認できます。 指定しない場合、デフォルトは00ですシステム番号
program_id (jco.server.progid)任意。 これは、Tcode SM59でWorkatoにリンクされたRFC宛先に指定されたプログラムIDと一致します。プログラムID
client (jco.client.client)Workatoへの接続に使用される実際のクライアント番号。 SAP Logon Padへのログインに使用するものと同じクライアントを使用します。 常に3桁の整数です。クライアント
language (jco.client.lang)任意。 ログオン言語を表します。 プロパティが指定されていない場合、ユーザーまたはシステムのデフォルト言語が使用されます。 有効な値は2文字のISO言語コードまたは1文字のSAP言語コードです。言語
user (jco.client.user)Workato用にプロビジョニングされたSAPユーザー。 バックグラウンドユーザーを使用し、ダイアログプロパティを無効にすることをお勧めします。ユーザー
password (jco.client.passwd)SAPユーザーのパスワード。パスワード
metadata_refresh_intervalSAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 デフォルトは1440分(24時間)です。

SAP - Message Serverコネクション

以下はmessageserverコネクションタイプの例です。 SAPシステムがMessage Serverゲートウェイの背後にある場合は、このコネクションタイプを使用します。

yaml
server:
  classpath:
    - lib_ext

sap:
  # Message Server connection to an ABAP application server
  sap_profile_2: # This is on-prem agent connection profile name
    network_connection:
      message_server_host: "10.30.xx.xx"
      logon_group: "PUBLIC"
      system_id: "DEV"
      program_id: "WORKATO" # Only needed if you are using IDocs. This can be omitted for connections that only use RFCs.
      metadata_refresh_interval: "10"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
パラメーター(JCOコネクションプロパティ)説明画像をクリックして拡大
message_server_host (jco.client.mshost)xx.xx.xx.xx形式のMessage Serverホスト。 これは、接続先のMessage ServerのIPアドレスです。Message Serverホスト
logon_group (jco.client.group)任意です。 アプリケーションサーバーの論理グループ名。 SAP Tcode SMLGで確認できます。グループ
system_idMessage Serverが属するシステムのSystem ID。 コネクションエラーの場合はSAP Note 52959を参照してください。
program_id (jco.server.progid)任意。 これは、Tcode SM59でWorkatoにリンクされたRFC宛先に指定されたプログラムIDと一致します。Program ID
client (jco.client.client)Workatoへの接続に使用される実際のクライアント番号。 SAP Logon Padへのログインに使用するものと同じクライアントを使用します。 常に3桁の整数です。クライアント
language (jco.client.lang)任意。 ログオン言語を表します。 プロパティが指定されていない場合、ユーザーまたはシステムのデフォルト言語が使用されます。 有効な値は2文字のISO言語コードまたは1文字のSAP言語コードです。言語
user (jco.client.user)Workato用にプロビジョニングされたSAPユーザー。 バックグラウンドユーザーを使用し、ダイアログプロパティを無効にすることをお勧めします。ユーザー
password (jco.client.passwd)SAPユーザーのパスワード。パスワード
metadata_refresh_intervalSAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 デフォルトは1440分(24時間)です。

JMSプロファイル

JMSコネクションプロファイルは、jmsセクションで定義する必要があります。 JMSプロバイダーは、コネクションプロファイルのproviderプロパティで指定します。 オンプレミスエージェントでは、次のJMSプロバイダーがサポートされています:

メッセージングサービスprovider
Amazon Simple Queue Serviceamazon-sqsまたはsqs
Apache ActiveMQactivemq
Azure Service Buscustom

Amazon SQS

Amazon SQSに接続する場合は、次の設定プロパティが必要です:

yaml
jms:
  MyAmazonProfile:
    provider: amazon-sqs
    region: <Your Amazon API region, eg 'us-east-2'>
    accessKey: <Your Amazon API access key>
    secretKey: <Your Amazon API secret>

メッセージを送信する前に、SQSキューが作成されていることを確認する必要があることに注意してください。

Apache ActiveMQ

実行中のActiveMQブローカーに接続するには、ブローカーURLを指定するだけです:

yaml
jms:
  MyActiveMQProfile:
    provider: activemq
    url: tcp://localhost:61616

ActiveMQブローカーをエージェントに埋め込むことはできません。 vm://ブローカーコネクションの使用はサポートされていません。

Azure Service Bus

Azure Service BusはカスタムJMSプロバイダーを使用します。 Azure Service Busに接続する場合は、次の設定プロパティが必要です:

yaml
jms:
  azureServiceBus:
    provider: custom
    class: org.apache.qpid.jms.JmsConnectionFactory
    remoteURI: amqps://<host-name>.servicebus.windows.net
    username: <policy-name>
    password: "<primary-key>"

必要なJARファイルと依存関係をダウンロードし、lib_extフォルダに配置します。

config.ymlファイル内にclasspathを追加します。 classpathプロパティの詳細を確認してください。

yaml
server:
 classpath: lib_ext

Apache Kafkaプロファイル

Kafkaコネクションプロファイルは、kafkaセクションで定義する必要があります。 Kafkaに接続するには、次の設定プロパティが必要です:

yaml
kafka:
  MyKafkaProfile:
    ... connection properties ...

任意のKafkaproducerまたはconsumer設定プロパティを指定できます。例: bootstrap.serversまたはbatch_size

ただし、一部のプロパティはオンプレミスエージェントによって上書きされるため、設定できません。 保護されたプロパティを再定義しようとすると、警告が表示されます。 これらの保護されたプロパティの例:

プロパティ名コメント
key.serializerエージェントではStringSerializerのみがサポートされています。
value.serializerエージェントではStringSerializerのみがサポートされています。
key.deserializerエージェントではStringSerializerのみがサポートされています。
value.deserializerエージェントではStringSerializerのみがサポートされています。
auto.offset.resetレシピによって定義
enable.auto.commit内部で定義

Workato Agentは、次の(Kafka以外の)設定プロパティもサポートしています:

プロパティ名説明
timeout一般的な操作タイムアウト(ミリ秒)。
urlプロトコルがkafkaまたはkafka+sslのいずれかであるサーバーURLのカンマ区切りリスト。
ssl.truststoreKafkaへの安全なコネクションのためにPEMエンコードされたtruststoreのインライン化を許可します
ssl.keystore.keyKafkaへの安全なコネクションのために秘密鍵のインライン化を許可します
ssl.keystore.certKafkaへの安全なコネクションのためにクライアント証明書のインライン化を許可します

上記のssl.*オプションは、SSL/TLSを使用してKafkaに接続するときに使用でき、PEMエンコードされた証明書と秘密鍵をconfig.ymlファイル内に保持できます。 任意のYAML互換の複数行構文を使用できます。例:

yaml
kafka:
  MyKafkaProfile:
    ssl.truststore:
    |
      -----BEGIN CERTIFICATE-----
      502mPNNAYkY4a7Zu84DLCXLFurEa4BhLBqLkzC6WdTrBN9z6Rp/svTIl6VgjSTP6
      .....
      -----END CERTIFICATE-----

パスワードで保護された秘密鍵はインライン化できないことに注意してください。

Apache KafkaをWorkatoに接続するには、WorkatoのオンプレミスエージェントをKafkaクライアントとして設定する必要があります。


Active Directoryプロファイル

Active Directoryコネクションプロファイルは、ldapセクションで定義する必要があります。 プロファイル例:

yaml
ldap:
  active_directory_main:
    url:
      - ldap://acme1.ldap.com:389
      - ldaps://acme2.ldap.com:636
    username: Administrator
    password: foobar
    base: dc=acme,dc=com
    ssl:
      cert: /path/to/PEM-encoded-certificate-or-trusted-CA
      trustAll: true
プロパティ名説明
url
必須
使用するLDAPサーバーのURL。 URLはldap://myserver.example.com:389の形式である必要があります。

SSLアクセスには、LDAPSプロトコルを使用します。 URL形式は同じ形式ldaps://myserver.example.com:636です。

フェイルオーバー機能が必要な場合は、複数のURLを指定できます。
username
必須
LDAPサーバーで認証するときに使用するユーザー名(プリンシパル)。 これは通常、管理者ユーザーの識別名です。 たとえば、cn=Administratorまたは単にAdministratorです。
password
必須
LDAPサーバーで認証するときに使用するパスワード(認証情報)
base
任意
すべてのリクエストのベースDN。 この属性が設定されている場合、LDAP操作に提供され、LDAP操作から受信されるすべてのDistinguished namesは、このLDAPパスを基準にした相対パスになります。 これにより、大規模なLDAPツリーに対する作業を大幅に簡素化できます。

ただし、ベースパスにアクセスする必要がある場合がいくつかあります。 詳細については、Obtaining a reference to the base LDAP pathを参照してください。
ssl
任意
cert PEMエンコードされた証明書へのパス。 これは次のいずれかにできます:
  • サーバーのIDを検証するCA証明書
  • 相互TLS(mTLS)認証用のクライアント証明書
pemmTLS認証用のPEMエンコードされたクライアント証明書の完全な内容(keyが必要)。
key相互TLS(mTLS)認証用の秘密鍵。 certまたはpemでクライアント証明書を使用する場合は必須です。
trustAll自己署名を含むすべての証明書を信頼するには、trueに設定します。 デフォルトはfalseです。

HTTPプロファイル

http設定セクションを使用すると、内部HTTPSリソースへのエージェントアクセスを設定できます。 http config.ymlの例として、次のyamlファイルを参照してください:

yaml
http:
  connectTimeout: 5000
  keepAlive: true
  ssl:
    trustAll: false
    verifyHost: true
    cert:
    |
      -----BEGIN CERTIFICATE-----
      MIIF3TCCBMWgAwIBAgIQBlp2+roj8DZRf7VwurC8BjANBgkqhkiG9w0BAQsFADBG
      .....
      -----END CERTIFICATE-----
    key: /path/PEM-encoded-private-key
    pem: /path/PEM-encoded-certificate-or-trusted-CA

デフォルトでは、OPAは組み込みJREのルート認証局(CA)証明書セットを使用してHTTPSコネクションを検証します。 自己署名証明書を使用する内部HTTPSリソースでは、ssl.certプロパティをサーバー証明書のファイルパスまたはPEMエンコード値に設定して自己署名証明書を有効にすることで、エージェントがアクセスを許可するように設定できます。 または、ssl.trustAllプロパティをtrueに設定して、すべてのサーバー証明書を信頼できます。

エージェントは、セキュリティ強化のための相互TLS(mTLS)もサポートしています。 mTLSを使用する場合は、ssl.keyプロパティでクライアントの秘密鍵を指定し、ssl.pemプロパティでクライアント証明書を指定する必要があります。

サーバー証明書では通常、Common NameまたはSubject Alternate Nameがターゲットホスト名と一致する必要があります。 不一致が発生した場合は、ssl.verifyHostプロパティをfalseに設定してホスト名検証を無効にします。 デフォルトでは、このプロパティがtrueに設定されているため、ホスト名検証が有効です。


NTLMプロファイル

一部のHTTPリソースにはNTLM認証が必要です。 これはNTLMコネクションプロファイルを使用して実行できます。 NTLMプロファイルの例を以下に示します:

yaml
ntlm:
  MyNtlmProfile:
    auth: "username:password@domain/workstation"
    base_url: "http://myntlmhost.com"
    cm_default_max_per_route: 15
    cm_max_total: 100
    verifyHost: true
    trustAll: false

  AnotherNtlmProfile:
    auth: "domain/workstation"
    username: "username"
    password: "password"
    base_url: "http://myntlmhost.com"
    cm_default_max_per_route: 15
    cm_max_total: 100
    verifyHost: true
    trustAll: false

次のプロファイルプロパティがサポートされています:

プロパティ名説明
auth完全なNTLM認証情報。 これには、ユーザー名、パスワード、ドメイン、ワークステーションを含めることができます。

Usernamepassword@/などの特殊文字が含まれる場合は、個別に設定できます。
usernameNTLM認証のユーザー名
passwordNTLM認証のパスワード
base_urlNTLMリソースのベースURL
cm_default_max_per_routeオプション。 ルート/ホストごとのコネクション数を設定します(正の数である必要があります。デフォルトは5)
cm_max_totalオプション。 最大コネクション数を設定します(正の数である必要があります。デフォルトは10)
http_connect_timeout任意 コネクションをリクエストするときに使用するタイムアウト(ミリ秒)(正の数である必要があります。デフォルトは10000)
http_connection_request_timeout任意 コネクションが確立されるまでのタイムアウト(ミリ秒)(正の数である必要があります。デフォルトは10000)
http_socket_timeout任意 ソケットタイムアウト(ミリ秒)。データを待機するためのタイムアウト、別の言い方では、連続する2つのデータパケット間の最大非アクティブ期間です(正の数である必要があります。デフォルトは10000)
verifyHostオプション。 SSL/TLSコネクションのホスト名検証を有効にするかどうかを指定します(デフォルトはtrue)
trustAllオプション。 SSL/TLSコネクションですべての証明書を信頼するかどうかを指定します(デフォルトはfalse)

NTLMコネクションでサポートされるHTTPメソッドは、GETPOSTPUTPATCHDELETEHEADです。


コマンドラインスクリプトプロファイル

このプロファイルにより、ユーザーはOPAで任意のスクリプトまたはコマンドを実行できます。 設定ファイル内のスクリプト定義には、パラメーターを含めることができます。

アクションを宣言するときは、パラメーターの値を指定する必要があります。

Unix上のプロファイル例は次のようになります:

yaml
command_line_scripts:
  workday_reports:
    concurrency_limit: 3
    timeout: 30
    scripts:
     copy_file:
       name: Copy file
       command:
         - /bin/cp
         - '{{source_file}}'
         - '{{target_directory}}'
       parameters:
         - { name: source_file }
         - { name: target_directory }

     append_file_to_another:
       name: Append file to another
       command:
         - bash
         - -c
         - cat {{source_file}} >> {{target_file}}
       parameters:
         # Parameter quoting
         - { name: source_file, quote: '"' }
         # Advanced parameter quoting
         - { name: target_file, quote: { start: '"', end: '"', quote: '"', escape_char: \ } }

     generate_report:
       name: Generate report
       command:
         - python
         - /home/user/script.py
         - --from
         - '{{from_date}}'
         # Conditional fragment
         - { value: --to, if: to_date }
         # Conditional fragment
         - { value: '{{to_date}}', if: to_date }
       parameters:
         - { name: from_date }
         - { name: to_date, schema: { optional: true, control_type: select, pick_list: [01/01/2018, 02/02/2018] } }

コマンドラインスクリプトプロファイルは、config.ymlのcommand_line_scriptsセクションに配置されます。 各プロファイルには複数のスクリプトを含めることができます。 プロファイル設定プロパティは次のとおりです:

プロパティ名説明
scriptsスクリプトハッシュ。 各キーの値にはスクリプトプロファイルが含まれます。
concurrency_limitオプション。 同時に実行されるスクリプトの最大数。 指定されていない場合のデフォルトは10です。 制限に達すると、リクエストはキューに入れられます。
timeoutオプション。 各スクリプト実行の最大時間(秒)。 指定されていない場合のデフォルトは90秒です。

ハッシュキーは、スクリプトプロファイルの一意の識別子として使用されます。 スクリプト設定プロパティは次のとおりです:
プロパティ名説明
nameレシピUIに表示されるスクリプトのわかりやすい名前。
commandコマンド呼び出し配列。 各項目の値では、Mustacheテンプレート変数を使用してパラメーター値を置換できます。
parametersオプション。 パラメーター配列(デフォルトは空の配列)。

コマンド呼び出し要素の設定は単なる文字列にすることもできますが、次のプロパティを含めることもできます:
プロパティ名説明
valueコマンド呼び出し要素の値。
ifパラメーター名。 パラメーター値が空の場合、このコマンド呼び出し要素は考慮されません。

パラメーター設定プロパティは次のとおりです:
プロパティ名説明
nameパラメーター名。
quoteオプション。 パラメーター引用符のルール(デフォルトはルールなし)。
schemaオプション。 パラメータースキーマ。

quote設定は単なる文字列にすることも、プロパティを持つこともできます。 プロパティは次のとおりです:
プロパティ名説明
start開始引用符文字。
end終了引用符文字。
quoteエスケープするパラメーター値内の引用符文字。
escape_charエスケープ文字。

quote設定が文字列の場合、その値はstartendquoteプロパティの値と見なされ、escape_charプロパティ値はUnixでは'\'、Windowsでは'""'に設定されます。


パラメータースキーマ設定には、次のプロパティを含めることができます:
プロパティ名説明
optionalオプション。 パラメーターの任意フラグ(デフォルトはfalse)。
labelオプション。 レシピUIに表示されるスクリプトのわかりやすい名前(デフォルトはパラメーター名)。
control_typeオプション。 'text'または'select'にできます。 'select'の場合、プロパティ'pick_list'も定義する必要があります。 デフォルトは'text'です。
pick_listオプション。 パラメーター値を選択するための値。 プロパティ'control_type'の値が'select'の場合、このプロパティを定義する必要があります。

拡張機能プロファイル

Java拡張機能を使用するには、拡張機能プロファイルを定義する必要があります。 jarファイルの場所を定義するserverセクションと、Javaクラスの個別プロファイルを作成するextensionsセクションが必要です。 Java拡張機能は次のように設定されます。

yaml
server:
  classpath: ext

extensions:
  security:
    controllerClass: com.mycompany.onprem.SecurityExtension
    secret: HA63A3043AMMMM

serverパラメータの設定プロパティは次のとおりです:

プロパティ名説明
classpathユーザー定義クラスの場所を指定します

extensionsプロファイル設定プロパティは次のとおりです:

プロパティ名説明
controllerClass拡張機能をどのJavaクラスにマッピングするかをOPAに伝えるための必須フィールド。
secretJavaクラスで使用されるオプションのEnvironment properties。 複数のプロパティを追加できます。

Java拡張機能の作成方法を確認してください。


サーバープロファイル

サーバープロファイルは、OPAアセットがオンプレミスサーバー上のどこにあるかを定義します。 サーバープロファイルは、config.ymlserverセクションにあります。

yaml
server:
  classpath: lib_ext
  staging: staging

このセクションでは、次について説明します。

プロファイルプロパティ

サーバープロファイルには、次のプロパティを含めることができます:

名前タイプ説明
classpath必須Javaドライバーまたはユーザー定義クラスを含むディレクトリを定義します。 たとえば、jarファイルまたはドライバークラスです。

: これはOPAインストールフォルダ内に事前に存在するサブディレクトリである必要があります。
staging任意ターゲットシステムへのロード中にデータを一時的に保存するステージングフォルダを定義します。 : これはOPAインストールフォルダ内に事前に存在するサブディレクトリである必要があります。

未指定の場合、OPAはステージングフォルダを内部で管理します。

ステージングフォルダに保存されたファイルは、OPAがターゲットシステムへのロードを完了した後に自動的に削除されます。

設定例

次のディレクトリ構造を使用して、プロファイル設定例をいくつか見てみましょう。 この例では、オンプレミスエージェントは/opt/workato-agentにインストールされています:

yaml
/opt
├── /workato_agent
    ├── /conf
    ├── /bin
    ├── /lib_ext
    ├── /staging

次の例では、Javaドライバークラスまたはユーザー定義クラスを含むjdbcディレクトリを定義します:

yaml
server:
  classpath: lib_ext

次に、stagingプロパティの設定を示します。 このプロパティは、ターゲットシステムへのロード中にOPAがファイルを一時的に保存する場所を定義します。

たとえば、SQL ServerのExport query resultアクションを実行すると、CSV出力は/stagingディレクトリに一時的に保存され、ファイルのロード後に削除されます:

yaml
server:
  classpath: lib_ext
  staging: staging

Last updated: