使用 Anaplan®(标准)连接器,您可以 使用命令 来执行标准的 Anaplan 功能,作为链的一部分。要使用链式自动化通过机器人流程自动化 (RPA) 来自动执行安全设置(例如上传新的数据源),请改用 Anaplan (RPA) 连接器 。
例如,使用此连接器,您可以:
- 在 Anaplan 中下载和上传文件
- 管理导入、导出和其他 Anaplan 操作
- 在 Anaplan 中管理文件、视图和流程
注: 此连接器由 Workiva 构建,并连接到第三方系统。虽然我们的支持团队可以帮助您在工作区内配置此连接器,但我们无法对源自 Workiva 平台之外的任何问题进行故障排除或提供其他帮助。
要求
Anaplan(标准)连接器使用 Anaplan REST API 来执行其命令。为确保与 Anaplan 的连接安全,连接器可以通过以下方式进行身份验证:
- 基本用户名和密码验证
- 由证书颁发机构 (CA) 签名的证书
- 使用 Anaplan OAuth2 授权码的 OAuth 2.0
要建立连接,您需要:
- Anaplan API 的 基本 URI ,例如默认的 https://api.anaplan.com
- 在 Anaplan 中创建的指定集成用户或服务帐户
- 集成用户或服务帐户的身份验证凭据:
- 基本身份验证需要用户名和密码
- 申请证书:
- CA 签名的证书,格式为 PEM 文件
- 私钥以及(如果加密)其密码
- 对于 OAuth 2.0,需要客户端 ID 和密钥。此外,Anaplan 中的“刷新令牌行为”设置必须设置为 不可旋转。
- 如果使用代理服务器,请提供其 URI、用户名和密码。
对于证书认证,您可以手动创建所需文件,也可以通过 shell 脚本为 macOS 或 Linux 自动生成这些文件。
在 Anaplan 中设置 OAuth2 令牌
要使用 OAuth 2.0 进行身份验证,您必须按照此链接中的说明在 Anaplan 中创建一个 OAuth 2.0 客户端:
设置令牌时,Anaplan 中的“刷新令牌行为”设置必须设置为 non-rotatable。仅支持不可轮换的刷新令牌——可轮换的令牌会过期,导致连接失败。了解更多关于使用 Anaplan OAuth2 服务的信息。
在 macOS 或 Linux 上自动创建用于证书身份验证的文件
要为 macOS® 或 Linux 启用证书身份验证,您可以运行 create-cert.sh shell 脚本来自动创建连接通过 CA 签名证书进行身份验证所需的文件:
-
ca_certificate.pem,一个公钥证书,用于 上传并注册到 Anaplan -
unencrypted_private_key.pem或encrypted_private_key_pkcs8.pem,此私钥也可用于 Anaplan Connect® - 可选的
keystore.jks,即存储证书私钥的 Java 密钥库。
要生成这些文件,请更新这些参数,然后在终端窗口中运行 shell 脚本:
CertP12格式CertP12密码密码短语密钥库别名密钥库密码-
CreateUnencryptedPrivateKey(true 或 false) -
EncryptedPrivateKey(true 或 false) -
CreateJks(true 或 false)
create-cert.sh
#!/bin/sh # 适用于 macOS:此脚本将创建一个与 Anaplan Connect 兼容的 CA 证书 # 请使用您的具体设置更新以下变量。 # 提供导出证书的路径和文件名(.p12 格式) CertP12Format="证书路径(.p12 格式)" CertP12Password="证书密码(.p12 格式)" CertPEMFormat="ca_certificate.pem" # 设置公钥起始行号 StripLinesUpUntil=82 # 提供未加密导出密钥的路径和文件名。 # 此文件用于创建 Java 密钥库 CreateUnencryptedPrivateKey="true" UnencryptedPrivateKey="unencrypted_private_key.pem" # 提供加密导出密钥的路径和文件名。 # 仅当选择不使用 Java 密钥库时才需要此项 CreateEncryptedPrivateKey="true" EncryptedPrivateKey="encrypted_private_key_pkcs8.pem" PemPassPhrase="pem-password" # 提供 Java 密钥库的路径和文件名 CreateJks="true" JavaKeyStore="keystore.jks" KeyStoreAlias="提供别名" KeyStorePassword="jks-password" #____________________________ 请勿编辑此行以下内容 ______________________________ echo "************* 创建 CA 证书(PEM 格式) *************" echo "系统将提示您输入一些密码。请务必输入导入证书密码:\"${CertP12Password}\"" read -p "按任意键继续..." -n1 -s openssl pkcs12 -in $CertP12Format -nokeys -out ./temp_cert sed -e "1,${StripLinesUpUntil}d" < ./temp_cert > ${CertPEMFormat} ### https://www.computing.net/answers/programming/delete-all-lines-afterbefore-line-number-with-dos-batch/29963.html cat ${CertPEMFormat} rm ./temp_cert echo "CA 证书(PEM 格式)已创建:$CertPEMFormat" if [ $CreateUnencryptedPrivateKey == "true" ] then echo "************ 创建未加密私钥 ******************" echo "系统将提示您输入导入证书密码。请务必输入密码:\"${CertP12Password}\"" openssl pkcs12 -in $CertP12Format -nocerts -out $UnencryptedPrivateKey -nodes echo "已创建未加密私钥:$UnencryptedPrivateKey" else echo "************** 未创建未加密密钥 *****************" fi if [ $CreateEncryptedPrivateKey == "true" ] then echo "************ 正在创建加密私钥 ******************" echo "系统将提示您输入导入证书密码。" 请务必输入密码:\"${CertP12Password}\"" echo "您还将收到输入 pem 密码短语的提示。请务必输入密码短语:\"${PemPassPhrase}\"" read -p "按任意键继续..." -n1 -s openssl pkcs12 -in $CertP12Format -nocerts -out ./temp_cert openssl pkcs8 -inform PEM -in ./temp_cert -outform PEM -out $EncryptedPrivateKey -passout pass:$PemPassPhrase rm ./temp_cert echo "已创建加密私钥:$EncryptedPrivateKey" else echo "************** 未创建加密密钥 *****************" fi if [ $CreateJks == "true" ] then echo "************ 创建 Java 密钥库 ******************" echo "系统将提示您输入密码。" 请务必输入“${KeyStorePassword} (3x)” read -p "按任意键继续..." -n1 -s openssl pkcs12 -export -in ${CertPEMFormat} -inkey $UnencryptedPrivateKey -out ./keystore_bundle.p12 -name $KeyStoreAlias -CAfile $CertPEMFormat -caname root keytool -importkeystore -deststorepass $KeyStorePassword -destkeystore $JavaKeyStore -srckeystore ./keystore_bundle.p12 -srcstoretype PKCS12 rm ./keystore_bundle.p12 echo "Java 密钥库已创建:$JavaKeyStore" else echo "********* Java 密钥库未创建 **************" fi
手动创建证书身份验证文件
要启用证书身份验证,您可以手动为连接的集成用户或服务帐户创建 CA 签名证书。要手动创建这些文件,您需要:
- Mozilla Firefox®
- 对于 macOS 或 Linux,使用终端窗口;对于Microsoft Windows®,使用 OpenSSL。
- Anaplan 中的租户管理员权限
注:可以使用 Java 密钥库,但它是可选的,并未包含在此步骤中。
第一步:订购个人电子邮件安全 (S/MIME) 身份验证证书
从 Sectigo® 订购 Anaplan 的 (S/MIME) 身份验证证书。
为了方便连接器维护,我们建议购买三年有效期的证书。完成订单时,请将“高级安全选项”下的值保留为默认值。
步骤 2. 创建证书签名请求 (CSR)
以下示例配置可用于您的 CSR,但您需要用您的业务信息填写空白字段。
请务必以以下格式保存配置文件(使用您自己的姓名): firstname_lastname_openssl.cnf
[ req ] default_md = sha512 default_bits = 4096 utf8 = yes string_mask = utf8only distinguished_name = req_distinguished_name req_extensions = v3_user_req [ req_distinguished_name ] countryName = US countryName_default = US countryName_min = 2 countryName_max = 2 stateOrProvinceName = stateOrProvinceName_default = localityName = localityName_default = 0.organizationName = 0.organizationName_default = organizationalUnitName = organizationalUnitName_default = commonName = commonName_default = commonName_max = 64 emailAddress = emailAddress_default = emailAddress_max =40 [ v3_user_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash keyUsage = digitalSignature nsCertType = client extendedKeyUsage = clientAuth
步骤 3. 使用 OpenSSL 创建 PEM 格式的 CSR 和私钥
将以下命令中的 firstname_lastname文本替换为您在上一步中获得的证书名称:
openssl req -config firstname_lastname_openssl.cnf -new -out firstname_lastname_csr-4096.pem -keyout firstname_lastname_private-key-4096.pem
使用 OpenSSL 运行该命令。
此时系统会要求您输入密码短语——请务必记录下来,因为 Anaplan REST API 请求需要用到它。
步骤 4:提交证书申请,并下载您的公钥
- 登录 Sectigo。
- 前往 设置 页面。
- 当被要求提供联系信息时,请输入与有效 Anaplan 帐户关联的电子邮件地址。这通常是您的 Anaplan 服务帐户。
- 复制并粘贴上一步创建的 CSR。此请求应以以下内容开头和结尾:
----开始证书请求-----
----结束证书请求----- - 提交申请。
请查看您的电子邮件,确认是否收到 Sectigo 发送的确认邮件,并按照他们提供的步骤下载证书。
步骤 5. 将公钥上传到 Anaplan
从 Sectigo 下载的证书将以以下格式显示: cert_12345.crt。这是你的公钥。
将密钥重命名为类似 firstname_lastname_public-key-4096.pem 的名称,然后将其上传到 Anaplan。
设置 Anaplan(标准)连接器
注: 要使连接器可在您组织的链中使用, 组织安全管理员首先需要在配置中启用它。
- 从 链构建器中,单击 连接,然后单击右上角的 创建 。
- 在 连接器连接下,选择 Anaplan(标准) 和默认的 CloudRunner。
- 输入唯一的名称和描述,以帮助识别连接。
- 如果使用证书认证,请在 资源下上传公钥证书及其私钥文件(或 JKS 文件)。
- 在 属性下,输入连接器的详细信息。
摘要信息 详细信息 API 基本 URI 请输入 Anaplan API 的 基本 URI 。默认情况下, http://api.anaplan.com。代理URI 如果使用代理服务器,请输入其 URI。 代理用户名 如果使用代理服务器,请输入其用户名。 代理密码 如果使用代理服务器,请输入 代理用户名 属性的密码。 调试 选择是否在故障排除时显示附加信息。 - 在 身份验证下,输入身份验证详细信息
摘要信息 详细信息 身份验证类型 选择连接安全方式:
- 基本身份验证/证书身份验证用于用户名/密码或 CA 签名的证书
- Anaplan OAuth2 授权码 用于 OAuth 2.0
根据所选的身份验证类型,只会显示下面详细介绍的相关属性。
了解更多:
注意:使用 Anaplan OAuth2 授权码时,Anaplan 中的“刷新令牌行为”设置必须设置为 不可轮换。
客户端 ID(仅限 OAuth 2.0) 输入集成用户 OAuth 授权的 ID。 客户端密钥(仅限 OAuth 2.0) 请输入 ID 属性的密钥。 身份验证方法(仅限基本身份验证/证书身份验证) 选择一种身份验证方式:
- 对于用户名和密码,请选择 基本。
- 对于 CA 签名的证书,请选择 证书。
身份验证 URI(仅限基本身份验证/证书身份验证) 输入一个 身份验证URI。默认使用 https://auth.anaplan.com 用户名(仅限基本身份验证/证书身份验证) 对于基本身份验证,请输入连接器的 Anaplan 集成用户或服务帐户的用户名。 密码(仅限基本密码/证书认证) 对于基本身份验证,请输入 Username 属性的密码。 证书路径(仅限基本/证书认证) 要使用私钥进行证书认证,请输入在 资源下上传的公钥证书的文件名。 密钥库路径(仅限基本身份验证/证书身份验证) 对于证书认证,请输入在 资源下上传的 JKS 文件名。 密钥库别名(仅限基本身份验证/证书身份验证) 对于证书认证,请输入 JKS 的别名。 密钥库密码(仅限基本身份验证/证书身份验证) 要进行证书认证,请输入 JKS 密码。 私钥(仅限基本身份验证/证书身份验证) 要使用私钥进行证书认证,请输入在 资源下上传的私钥的文件名。 私钥密码(仅限基本身份验证/证书身份验证) 要使用 加密 私钥进行证书身份验证,请输入 私钥 属性的密码。 注意:所有敏感凭证均会自动加密,并以高级加密标准 (AES ) -256 加密方式存储
。 - 选择要与连接一起使用的环境,然后单击 保存。
- 要测试连接, 创建并运行一个链 使用 连接器的 列出操作 命令,并验证它是否返回有效输出。
疑难解答
如果与 Anaplan 的连接失败:
- 请确认身份验证凭据是否正确。
- 如果使用证书认证,请检查证书是否过期,如有必要,请续订。