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

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

単一の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プロパティの使用

次の例では、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プロパティの使用

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

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

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データベースへの接続

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

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

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

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

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の有効化

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
任意
明示的FTPSコネクションタイプ。 暗黙的なFTPSコネクションタイプの場合はtrueに設定します。 デフォルト値はfalseです。
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
任意
秘密鍵がパスワードで保護されている場合の任意のパスワード。 パスワードの有無にかかわらず、公開鍵/秘密鍵ペア認証に適用されます。
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
必須
SMBのデフォルトポートは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への直接呼び出しなど):SNCありの場合は48xx、SNCなしの場合は33xxです。

SAPからプロビジョニングされたREST ODataサービスおよびSOAP webサービスを利用する場合など、HTTP(S)インバウンド通信では、ポートのデフォルトはHTTPが8000、HTTPSが44300です。 カスタムSAP設定で使用するポートを確認するには、次の手順を実行します:

1

ICM Monitor (SMICM) トランザクションに移動します。

2

Goto > Servicesを選択して、ICMで設定されたサービスと対応するポートを表示します。

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

SNCコネクション

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

IDoc受信ストラテジー

オンプレミスエージェント(OPA)v32.2以降では、OPAのconfig.ymlopt.idoc_reception_strategy JCoオーバーライドを設定することで、IDoc受信ストラテジーを構成できます。 サポートされる値は次のとおりです:

  • LEGACY:デフォルト。 後方互換性のために保持されています。 OPAはデフォルトでLEGACYを引き続き使用するため、既存の動作を維持するために設定を変更する必要はありません。 例:opt.idoc_reception_strategy: LEGACY
  • SAPIDOC:推奨。 マルチバイト文字をサポートします。 非Unicodeシステムでは、OPAをバージョン32.2にアップグレードした後、config.ymlSAPIDOCを使用する必要があります。 例:opt.idoc_reception_strategy: SAPIDOC
yaml
jco_overrides:
  opt.idoc_reception_strategy: 'LEGACY'   # Value is case-insensitive

SAP - 直接コネクション

The following is an example of a Direct connection type. Use this connection type if the SAP system is directly exposed as an application server.

yaml
server:
  classpath:
    - lib_ext

sap:
  sap_profile_1: # The on-prem agent connection profile name.
    network_connection:
      gateway_host: "xx.xx.xx.xx"
      system_number: "XX"
      program_id: "WORKATO"
      metadata_refresh_interval: "10"
      quality_of_protection: 3
      partner_name: "p:CN=EH8, OU=I0021153688, OU=SAP Web AS, O=SAP Trust Community, C=DE"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
    jco_overrides:
      jco.client.snc_myname: "Canonical name of the client certificate"
パラメーター(JCOコネクションプロパティ)説明画像をクリックして拡大
gateway_host (jco.client.ashost)
required
The IP address or DNS name of the SAP application server you are directly connecting to. This can be seen on the SAP Logon Pad used to log in to your on-premise SAP application server. Accepts the following format: xx.xx.xx.xx.ホスト
system_number (jco.client.sysnr)
optional
The SAP system number that identifies the logical port on which the application server listens for incoming requests. Commonly found from TCP port 33XX, where XX is the system number. Defaults to 00.システム番号
program_id (jco.server.progid)
conditional
The program ID given to the RFC destination linked to Workato in the SM59 transaction. Required if you use IDocs. Not needed for connections that use only RFCs.Program ID
metadata_refresh_interval
optional
SAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 Defaults to 1440 minutes (24 hours).
quality_of_protection (jco.client.snc_qop)
optional
The quality of the protection level to apply. Enter one of the following numbers:
  • 1: Authentication only
  • 2: Integrity protection (authentication)
  • 3: Privacy protection (integrity and authentication)
  • 8: Default protection
  • 9: Maximum protection
partner_name (jco.client.snc_partnername)
conditional
The SNC partner found in the STRUST transaction under SNC SAPCryptolib. Must be prepended with p:. For example: p:CN=EH8, OU=I0021153688, OU=SAP Web AS, O=SAP Trust Community, C=DE. Required if you configure Secure Network Communication (SNC).
client (jco.client.client)
required
The three-digit client number used to connect to Workato. Use the same client you log in to with your SAP Logon Pad.クライアント
language (jco.client.lang)
optional
The SAP Logon language to use. Valid values include two-character ISO language codes or one-character SAP language codes. Defaults to the user or system's default language.言語
user (jco.client.user)
required
The SAP user provisioned for Workato. We recommend you use a background user and disable dialog properties.ユーザー
password (jco.client.passwd)
required
The SAP user password.パスワード
jco.client.snc_myname
conditional
The canonical name of the client certificate to use for the connection. Required if you configure SNC.

SAP - Message Serverコネクション

The following is an example of a Message Server connection type. Use this connection type when the SAP system is behind a message server gateway.

yaml
server:
  classpath:
    - lib_ext

sap:
  sap_profile_2: # The on-prem agent connection profile name.
    network_connection:
      message_server_host: "xx.xx.xx.xx"
      logon_group: "XXXXX"
      system_id: "XXX"
      program_id: "WORKATO"
      metadata_refresh_interval: "10"
      quality_of_protection: 3
      partner_name: "p:CN=EH8, OU=I0021153688, OU=SAP Web AS, O=SAP Trust Community, C=DE"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
    jco_overrides:
      jco.client.snc_myname: "Canonical name of the client certificate"
      jco.client.msserv: "36<XX>"
      jco.server.msserv: "36<XX>"
パラメーター(JCOコネクションプロパティ)説明画像をクリックして拡大
message_server_host (jco.client.mshost)
required
The IP address or DNS name of the Message Server you are connecting to. Accepts the following format: xx.xx.xx.xx.Message Serverホスト
logon_group (jco.client.group)
optional
The logical group name of the application servers. Can be found in the SMLG transaction. Common default group names include PUBLIC or SPACE.グループ
system_id
required
Message Serverが属するシステムのSystem ID。 Refer to SAP Note 52959 if you encounter a connection error.
program_id (jco.server.progid)
conditional
The program ID given to the RFC destination linked to Workato in the SM59 transaction. Required if you use IDocs. Not needed for connections that use only RFCs.Program ID
metadata_refresh_interval
optional
SAPからメタデータを更新する間隔(分単位、JCoキャッシュを除く)。 Defaults to 1440 minutes (24 hours).
quality_of_protection (jco.client.snc_qop)
optional
The quality of the protection level to apply. Enter one of the following numbers:
  • 1: Authentication only
  • 2: Integrity protection (authentication)
  • 3: Privacy protection (integrity and authentication)
  • 8: Default protection
  • 9: Maximum protection
partner_name (jco.client.snc_partnername)
conditional
The SNC partner found in the STRUST transaction under SNC SAPCryptolib. Must be prepended with p:. For example: p:CN=EH8, OU=I0021153688, OU=SAP Web AS, O=SAP Trust Community, C=DE. Required if you configure Secure Network Communication (SNC).
client (jco.client.client)
required
The three-digit client number used to connect to Workato. Use the same client you log in to with your SAP Logon Pad.クライアント
language (jco.client.lang)
optional
The SAP Logon language to use. Valid values include two-character ISO language codes or one-character SAP language codes. Defaults to the user or system's default language.言語
user (jco.client.user)
required
The SAP user provisioned for Workato. We recommend you use a background user and disable dialog properties.ユーザー
password (jco.client.passwd)
required
The SAP user password.パスワード
jco.client.snc_myname
conditional
The canonical name of the client certificate to use for the connection. Required if you configure SNC.
jco.client.msserv
optional
The client port number. Can be found in the SMMS transaction. デフォルトの3600ポート番号を上書きします。
jco.server.msserv
optional
The message server port number. Can be found in the SMMS transaction. デフォルトの3600ポート番号を上書きします。

JMSプロファイル

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

メッセージングサービスprovider
Amazon Simple Queue Serviceamazon-sqs or 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>

Ensure your SQS queue exists before sending messages.

Apache ActiveMQ

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

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

The ActiveMQ broker can't be embedded in the agent. OPA doesn't support vm:// broker connections.

Azure Service Bus

Azure Service BusはカスタムJMSプロバイダーを使用します。 接続するには、次の設定プロパティを使用し、<HOST_NAME><POLICY_NAME>、および<PRIMARY_KEY>を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を追加します。

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
required
The URL of the LDAP server to use, in the format ldap://myserver.example.com:389.

Use the LDAPS protocol, in the format ldaps://myserver.example.com:636, for SSL access.

You can provide more than one URL for fail-over functionality.
username
必須
LDAPサーバーで認証するときに使用するユーザー名(プリンシパル)。 This is usually the distinguished name of an admin user. For example, cn=Administrator or simply Administrator.
password
必須
The password (credentials) to use when authenticating with the LDAP server.
base
optional
すべてのリクエストのベースDN。 When configured, all distinguished names supplied to and received from LDAP operations are relative to this LDAP path, which can significantly simplify working with a large LDAP tree.
ssl
任意
SSLコネクションを設定するためのオプション。 Contains the following properties:
  • cert: Path to a PEM-encoded certificate. This can be either a CA certificate to verify the server's identity, or a client certificate for mutual TLS (mTLS) authentication.
  • pem: Full content of a PEM-encoded client certificate for mTLS authentication. Requires key.
  • key: Private key for mutual TLS (mTLS) authentication. Required when using a client certificate in cert or pem.
  • trustAll: Set to true to trust all certificates, including self-signed. デフォルトは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オプション。 The timeout in milliseconds used when requesting a connection (must be a positive number, default 10000)
http_connection_request_timeoutオプション。 The timeout in milliseconds until a connection is established (must be a positive number, default 10000)
http_socket_timeoutオプション。 The socket timeout in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets (must be a positive number, default 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
required
Javaドライバーまたはユーザー定義クラスを含むディレクトリを定義します。 For example, jar files or driver classes.

Note: This must be a pre-existing subdirectory in the OPA installation folder.
staging
optional
ターゲットシステムへのロード中にデータを一時的に保存するステージングフォルダを定義します。 Note: This must be a pre-existing subdirectory in the OPA installation folder.

If left unspecified, OPA manages the staging folder internally.

A file stored in the staging folder is automatically deleted after OPA finishes loading it to the target system.

設定例

次のディレクトリ構造を使用して、プロファイル設定例をいくつか見てみましょう。 この例では、オンプレミスエージェントは/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

最終更新日: