カスタム コネクタ用の 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
/content/sample_credentials.java.png/_jcr_content/renditions/original)
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/applicationTCF からのサンプル応答:
{"_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 サービスは、
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 クラスを参照してください。
カスタム ターゲット コネクタを作成するためのコンポーネントについて理解したら、「カスタム コネクタの構築」に進んでください。