コネクションプロファイル
単一のWorkatoオンプレミスエージェント(OPA)は、複数のオンプレミスアプリケーションに接続できます。 コネクションプロファイルは各アプリケーションを一意に識別し、接続に必要な設定情報を含みます。
基本
コネクションプロファイルとは何ですか
コネクションプロファイルは、オンプレミスアプリケーションの情報を一意に識別して含むファイルです。 プロファイルは、<INSTALL_HOME>/conf/config.ymlにある設定ファイルに保存されます。
一般的な設定ファイルは次のようになります:
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ファイルには、次のシステムタイプのプロファイルを含めることができます:
- データベース
- オンプレミスファイルシステム
- SAP
- Java Messaging Service
- Apache Kafka
- Active Directory
- HTTPプロファイル
- NTLM
- コマンドラインスクリプト
- 拡張機能
- サーバー
インターネット接続が制限されたサーバーにインストールされたOPA用に、プロキシサーバーを設定することもできます。
新しい設定を適用するには
デフォルトでは、config.ymlに変更を加えるたびにOPAを再起動する必要があります。 詳細については、オンプレミスエージェントの実行ガイドを参照してください。
オンプレミスエージェントが変更を自動的に適用できるようにするには、autoReloadオプションを使用するためにconfig.ymlファイルの先頭に次を追加します
config:
autoReload: true有効にすると、config.ymlに加えられた変更はautoReloadによって取得されます。 OPAを手動で再起動する必要はありません。
AUTORELOADとサーバープロファイル
autoReloadは、サーバープロファイルに加えられた変更には適用されません。 これらの変更を適用するには、OPAを手動で起動および停止します。
データベースプロファイル
データベースコネクションプロファイルは、オンプレミスエージェント(OPA)がデータベースに接続するために使用する情報を提供します。 コネクションプロファイルは、config.ymlファイルのdatabaseセクションにあります。
JDBCドライバー要件
JDBCデータベースとのコネクションを確立するには、適切なJDBCドライバーをオンプレミスエージェントのlib_extフォルダにコピーします。 このドライバーがないと、オンプレミスエージェントはデータベースに接続できません。
OPAは複数のデータベースへのコネクションをサポートしています。 接続する各データベースについて、databaseキーの下にセクションを追加します。 例:
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 | 任意 | 再接続試行間の遅延を減らすデータベースコネクションプールを設定するためのオプション。
以下のプロパティを含みます。
| ||||||||||||||||||
| ssl | 任意 | SSLコネクションを設定するためのオプション。 SSLは次のデータベースでサポートされています:
|
サポートされているデータベース
次の表には、OPAが現在サポートしているデータベースに関する情報が含まれます:
- データベース名: データベースの名前
- アダプター: データベースの
adapter値。 この値は、OPAが接続するデータベースの種類を指定するために使用されます。 - デフォルトポート: データベースのデフォルト
port - 注: データベースの設定に関する注記
| データベース名 | アダプター | デフォルトポート | メモ |
|---|---|---|---|
| Amazon Redshift | redshift | 5439 | |
| JDBC互換データベース | jdbc | 以下が必要です:
| |
| Microsoft SQL Server | sqlserver | 1433 | |
| MySQL | mysql | 3306 | デフォルトでは、ドライバーは結果セットを行ごとにストリーミングします。 バッファサイズを変更するには、defaultFetchSizeプロパティを使用します。 |
| Oracle | oracle | 1521 | Oracle Serviceを使用する場合、urlプロパティが必要です。
SIDを使用する場合、 adapterまたはurlプロパティのいずれかを使用できます。
詳細については、Oracleの例を参照してください。 |
| PostgreSQL | postgresql | 5432 |
設定例
ブロックをクリックして例を表示します。
adapterプロパティの使用
次の例では、adapterプロパティを使用してMicrosoft SQL ServerおよびAmazon Redshiftデータベースに接続します:
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: secretPassword789urlプロパティの使用
次の例では、urlプロパティを使用してPostgreSQLデータベースに接続します。
database:
sales:
url: jdbc:postgresql://sales.database:5432/sales
username: sales_analyst
password: secretPassword123
ApplicationName: workatopasswordプロパティへのシークレットの使用
次の例では、外部シークレットマネージャーのシークレットを使用してデータベースパスワードを指定します。 詳細については、Secrets Managerを参照してください。
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プロパティを指定する必要があります:
database:
erp:
url: jdbc:oracle:thin:@localhost:1521/PROD
username: admin
password: SecretPassword456JDBC互換データベースへの接続
JDBC互換データベースへのコネクションには、次が必要です:
- コネクションプロファイル内の
urlおよびdriverClassプロパティ - 設定済みの
serverプロファイル
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を定義する方法を示しています。
注: ポート番号が不明な場合にのみ、インスタンス名を指定する必要があります。
database:
sales:
adapter: sqlserver
url: jdbc:sqlserver://[Server/Host]\[Instance]
username: user
password: Secret123SSLの有効化
次の例では、PostgreSQLデータベース用にSSLを設定します。
注: 現在、SSLコネクションはMySQL(5.7+)およびPostgreSQL(11+)データベースでサポートされています。
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という名前のフォルダは、次のように設定されます:
files:
hrfiles:
base: "C:\\Documents\\HR"別の例として、Desktopディレクトリ内のemployeesフォルダへのアクセスを提供する場合、設定には次のようなファイルパスが含まれます:
files:
hrfiles:
base: "/Users/me/Desktop/employees"FTP(S)プロファイル
FTP(S)コネクションを設定するには、ftpセクションでプロファイルを定義する必要があります。 FTPサーバーのホストとポートを認証情報とともに指定する必要があります。 FTPサーバーへの単純なコネクションは、次のように設定されます:
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 任意 | クライアントに任意の証明書チェーンを信頼させます。 自己署名サーバー証明書がサポートされています。 | |
公開鍵/秘密鍵ペアとパスワード認証タイプの例を以下に示します:
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サーバーへの単純なコネクションは、次のように設定されます:
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サポートセクションを参照してください。 | |
公開鍵/秘密鍵ペアとパスワード認証タイプの例を以下に示します:
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のhost、port、share nameを認証情報とともに指定する必要があります。 次の例では、SMBへの単純なコネクションを設定します:
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で次の方法で確認できます。
- ICM Monitor(SMICM)トランザクションに移動します。
- ICMで設定されたサービスと関連するポートを表示するには、Goto Servicesを選択します。
これらのポートがデフォルトと異なる場合は、Workatoサポートにお問い合わせください。
SNCコネクション
Secure Network Communicationの設定の詳細については、SNC暗号化を参照してください。
SAP - 直接コネクション
以下は、Directコネクションタイプの例です。 SAPシステムがアプリケーションサーバーとして直接公開されている場合は、このコネクションタイプを使用します。
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と一致します。 | ![]() |
| 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_interval | SAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 デフォルトは1440分(24時間)です。 |
SAP - Message Serverコネクション
以下はmessageserverコネクションタイプの例です。 SAPシステムがMessage Serverゲートウェイの背後にある場合は、このコネクションタイプを使用します。
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アドレスです。 | ![]() |
| logon_group (jco.client.group) | 任意です。 アプリケーションサーバーの論理グループ名。 SAP Tcode SMLGで確認できます。 | ![]() |
| system_id | Message Serverが属するシステムのSystem ID。 コネクションエラーの場合はSAP Note 52959を参照してください。 | |
| program_id (jco.server.progid) | 任意。 これは、Tcode SM59でWorkatoにリンクされたRFC宛先に指定されたプログラム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_interval | SAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 デフォルトは1440分(24時間)です。 |
JMSプロファイル
JMSコネクションプロファイルは、jmsセクションで定義する必要があります。 JMSプロバイダーは、コネクションプロファイルのproviderプロパティで指定します。 オンプレミスエージェントでは、次のJMSプロバイダーがサポートされています:
| メッセージングサービス | provider |
|---|---|
| Amazon Simple Queue Service | amazon-sqsまたはsqs |
| Apache ActiveMQ | activemq |
| Azure Service Bus | custom |
Amazon SQS
Amazon SQSに接続する場合は、次の設定プロパティが必要です:
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を指定するだけです:
jms:
MyActiveMQProfile:
provider: activemq
url: tcp://localhost:61616ActiveMQブローカーをエージェントに埋め込むことはできません。 vm://ブローカーコネクションの使用はサポートされていません。
Azure Service Bus
Azure Service BusはカスタムJMSプロバイダーを使用します。 Azure Service Busに接続する場合は、次の設定プロパティが必要です:
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プロパティの詳細を確認してください。
server:
classpath: lib_extApache Kafkaプロファイル
Kafkaコネクションプロファイルは、kafkaセクションで定義する必要があります。 Kafkaに接続するには、次の設定プロパティが必要です:
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.truststore | Kafkaへの安全なコネクションのためにPEMエンコードされたtruststoreのインライン化を許可します |
| ssl.keystore.key | Kafkaへの安全なコネクションのために秘密鍵のインライン化を許可します |
| ssl.keystore.cert | Kafkaへの安全なコネクションのためにクライアント証明書のインライン化を許可します |
上記のssl.*オプションは、SSL/TLSを使用してKafkaに接続するときに使用でき、PEMエンコードされた証明書と秘密鍵をconfig.ymlファイル内に保持できます。 任意のYAML互換の複数行構文を使用できます。例:
kafka:
MyKafkaProfile:
ssl.truststore:
|
-----BEGIN CERTIFICATE-----
502mPNNAYkY4a7Zu84DLCXLFurEa4BhLBqLkzC6WdTrBN9z6Rp/svTIl6VgjSTP6
.....
-----END CERTIFICATE-----パスワードで保護された秘密鍵はインライン化できないことに注意してください。
Apache KafkaをWorkatoに接続するには、WorkatoのオンプレミスエージェントをKafkaクライアントとして設定する必要があります。
Active Directoryプロファイル
Active Directoryコネクションプロファイルは、ldapセクションで定義する必要があります。 プロファイル例:
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エンコードされた証明書へのパス。 これは次のいずれかにできます:
|
| pem | mTLS認証用のPEMエンコードされたクライアント証明書の完全な内容(keyが必要)。 | |
| key | 相互TLS(mTLS)認証用の秘密鍵。 certまたはpemでクライアント証明書を使用する場合は必須です。 | |
| trustAll | 自己署名を含むすべての証明書を信頼するには、trueに設定します。 デフォルトはfalseです。 | |
HTTPプロファイル
http設定セクションを使用すると、内部HTTPSリソースへのエージェントアクセスを設定できます。 http config.ymlの例として、次の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プロファイルの例を以下に示します:
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認証情報。 これには、ユーザー名、パスワード、ドメイン、ワークステーションを含めることができます。 Usernameとpasswordに @や/などの特殊文字が含まれる場合は、個別に設定できます。 |
| username | NTLM認証のユーザー名 |
| password | NTLM認証のパスワード |
| base_url | NTLMリソースのベース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メソッドは、GET、POST、PUT、PATCH、DELETE、HEADです。
コマンドラインスクリプトプロファイル
このプロファイルにより、ユーザーはOPAで任意のスクリプトまたはコマンドを実行できます。 設定ファイル内のスクリプト定義には、パラメーターを含めることができます。
アクションを宣言するときは、パラメーターの値を指定する必要があります。
Unix上のプロファイル例は次のようになります:
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設定が文字列の場合、その値はstart、end、quoteプロパティの値と見なされ、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拡張機能は次のように設定されます。
server:
classpath: ext
extensions:
security:
controllerClass: com.mycompany.onprem.SecurityExtension
secret: HA63A3043AMMMMserverパラメータの設定プロパティは次のとおりです:
| プロパティ名 | 説明 |
|---|---|
| classpath | ユーザー定義クラスの場所を指定します |
各extensionsプロファイル設定プロパティは次のとおりです:
| プロパティ名 | 説明 |
|---|---|
| controllerClass | 拡張機能をどのJavaクラスにマッピングするかをOPAに伝えるための必須フィールド。 |
| secret | Javaクラスで使用されるオプションのEnvironment properties。 複数のプロパティを追加できます。 |
Java拡張機能の作成方法を確認してください。
サーバープロファイル
サーバープロファイルは、OPAアセットがオンプレミスサーバー上のどこにあるかを定義します。 サーバープロファイルは、config.ymlのserverセクションにあります。
server:
classpath: lib_ext
staging: stagingこのセクションでは、次について説明します。
プロファイルプロパティ
サーバープロファイルには、次のプロパティを含めることができます:
| 名前 | タイプ | 説明 |
|---|---|---|
| classpath | 必須 | Javaドライバーまたはユーザー定義クラスを含むディレクトリを定義します。 たとえば、jarファイルまたはドライバークラスです。
注: これはOPAインストールフォルダ内に事前に存在するサブディレクトリである必要があります。 |
| staging | 任意 | ターゲットシステムへのロード中にデータを一時的に保存するステージングフォルダを定義します。 注: これはOPAインストールフォルダ内に事前に存在するサブディレクトリである必要があります。
未指定の場合、OPAはステージングフォルダを内部で管理します。 ステージングフォルダに保存されたファイルは、OPAがターゲットシステムへのロードを完了した後に自動的に削除されます。 |
設定例
次のディレクトリ構造を使用して、プロファイル設定例をいくつか見てみましょう。 この例では、オンプレミスエージェントは/opt/workato-agentにインストールされています:
/opt
├── /workato_agent
├── /conf
├── /bin
├── /lib_ext
├── /staging次の例では、Javaドライバークラスまたはユーザー定義クラスを含むjdbcディレクトリを定義します:
server:
classpath: lib_ext次に、stagingプロパティの設定を示します。 このプロパティは、ターゲットシステムへのロード中にOPAがファイルを一時的に保存する場所を定義します。
たとえば、SQL ServerのExport query resultアクションを実行すると、CSV出力は/stagingディレクトリに一時的に保存され、ファイルのロード後に削除されます:
server:
classpath: lib_ext
staging: stagingLast updated:








