カスタム コネクタ用の Web サービス エンドポイント

カスタム コネクタ用の Web サービス エンドポイントを構成する方法について説明します。
capam33
各ターゲット コネクタは、以下の 3 つの Web サービス クラスをサポートする必要があります。
カスタム コネクタ ソフトウェアには、customConnectorTemplate と言う名前のプロジェクトが含まれています。このプロジェクトには、com/ca/pam/customConnectorTemplate/api で定義されている 3 つのサービスが含まれています。独自のターゲット コネクタを開発する前に、各サービス クラスの詳細を参照してください。その後、customConnectorTemplate を基礎として使用して、独自の Java コードを記述します。

Credentials サービス

Credentials サービスは、リモート ターゲット デバイスでアカウントの認証情報を検証および更新します。
Credentials サービスの URL
  • http://
    tomcat_host
    :
    port
    /capamef/targetConnectors/
    target_connector_name
    /credentials/validate
  • http://
    tomcat_host
    :
    port
    /capamef/targetConnectors/
    target_connector_name
    /credentials/update
サポートされているメソッド:
POST
サンプル REST コール:
HTTP POST http://112.22.30.111:8443/capamef/targetConnectors/exampleTargetConnector/credentials/validate
以下のサンプル コードには、認証情報を更新および検証するリクエストが含まれています。拡張属性セクションは、uiDefinitions.json ファイルで定義されるアカウントおよびアプリケーション属性に基づいています。
サンプル credentials.java
sample credentials.java

UIDefinitions サービス

UIDefinitions サービスは、指定されたフィールド タイプの UI 定義を JSON 形式で返します。このサービスは、Java コードおよび JSON ファイルを連携させる方法を決定します。
uiDefinitions サービスの URL:
http://
tomcat_host
:
port
/capamef/targetConnectors/
target_connector_name
/uiDefinitions/{
uiDefinitionType
}
uiDefinitions サービス URL の要素の説明
  • tomcat_host:port
    値の大文字と小文字は区別されません。
  • target_connector_name
    は小文字で始まる必要があります。たとえば、customTargetConnector などにします。
  • uiDefinitionType
    は、
    account
    または
    application
    にする必要があります
サポートされているメソッド:
GET
サンプル REST コール:
HTTP GET http://112.22.30.111:8443/capamef/targetConnectors/exampleTargetConnector/uiDefinitions/application
TCF からのサンプル応答:
{"_data":{"application":{"uiDefinition":{"tabs":[{"label":"Example - Application","id":"ExampleAppDetail",
"fields":[{"type":"NUMBER","field":"connectTimeout","minValue":"1","label":"Connect Timeout","required":false,"value":"60000"},
{"type":"NUMBER","field":"readTimeout","minValue":"1","label":"Read Timeout","required":false,"value":"5000"},
{"type":"NUMBER","field":"sshPort","minValue":"0","label":"SSH Port","required":false,"value":"22","maxValue":"65535"},
{"type":"RADIO","field":"connectorProtocol","label":"Connector Protocol","required":false,"value":"TLS_1.2",
"values":[{"label":"TLS 1.0","value":"TLS_1"},{"label":"TLS 1.2","value":"TLS_1.2"},{"label":"TLS 1.3","value":"TLS_1.3"}]},
{"type":"COMBOBOX","field":"additionalEncryption","label":"Additional Encryption","required":false,"value":"AES",
"values":[{"label":"Triple DES","value":"TRIPLEDES"},{"label":"RSA","value":"RSA"},{"label":"Blowfish","value":"BLOWFISH"},
{"label":"Twofish","value":"TWOFISH"},{"label":"AES","value":"AES"}]},
{"type":"CHECKBOX","field":"useCertificate","label":"Use Certificate","required":false,"value":"false"},
{"type":"TEXTAREA","field":"certificate","label":"Certificate","required":false}]}]}}},"_meta":{"_success":"true"}}

Validations サービス

Validations サービスは、
CA Privileged Access Manager
データベースに保存する前に、アカウントおよびアプリケーション データを検証します。
Validations サービスの URL
: http://
tomcat_host
:
port
/capamef/targetConnectors/
target_connector_name
/validations/{
validationType
}.
  • validationType
    account
    の場合、
    このサービスはターゲット アカウントの作成および更新用のデータを検証します。
  • validationType
    application
    の場合、
    このサービスはターゲット アプリケーションの作成および更新用のデータを検証します。
サポートされているメソッド:
POST、PUT
サンプル REST コール:
HTTP POST http://112.22.30.111:8443/capamef/targetConnectors/exampleTargetConnector/validations/application
以下のサンプル リクエストのペイロードには、Validations サービスへのリクエストが含まれています。ペイロード内の拡張属性は、uiDefinitions サービスの前述のサンプル応答で定義されているものです。
サンプル リクエスト ペイロード
"application": {
"targetServer": {
"hostName": "114.20.50.111",
"ipaddress": "114.20.50.111",
"deviceName": "UnixDevice"
},
"name": "UnixApp",
"type": "exampleTargetConnector",
"extendedAttributes": {
"sshPort": "22",
"additionalEncryption": "AES",
"connectorProtocol": "TLS_1.2",
"readTimeout": "5000",
"useCertificate": "false",
"connectTimeout": "60000",
"certificate": ""
}
}
ValidationManager クラスは、コア ライブラリで配布されます。このクラスは、uiDdefinitions JSON ファイル内の制約に基づいてデータを検証します。これらの標準的な検証に加えて、カスタム検証をこのクラスに追加できます。検証が失敗した場合、ValidationManager クラスは、メッセージのリストと共に ExtensionException をスローします。
サンプル コードを確認するには、customConnectorTemplate プロジェクトの Validations.java クラスを参照してください。
カスタム ターゲット コネクタを作成するためのコンポーネントについて理解したら、「カスタム コネクタの構築」に進んでください。