使用 工具箱 CLI 验证 API 或产品文档
如何使用 API Connect 工具箱 CLI 对 API 或产品文档运行 监管 验证扫描。
关于
IBM® API Connect 中的 Governance 服务可用于对 API 开发流程验证和实施组织监管策略和最佳实践。 以下信息提供了用于在 API 或产品文档上运行和管理验证扫描的 工具箱 CLI 命令的详细信息。 您还可以使用 API Manager 和 API Designer UI 来验证 API 或产品文档。 有关验证扫描的更多信息,请参阅 《使用治理服务验证 API 或产品文档 》。
通过使用 工具箱 CLI提供了以下验证扫描方法:
验证本地存储的单个 API 或产品文档
要针对一个或多个规则集对单个 API 或产品文档运行验证扫描,请完成以下步骤。 文档必须存储在本地。
- 以提供者组织的所有者或管理员身份登录到 Toolkit。例如:
其中apic login --server platform-api-host-name --sso<platform-api-host-name>是托管 API 管理器("管理服务器")的服务器的主机名部分 URL。 要确定主机名,请在浏览器中打开 API 管理器,然后在地址栏中复制 URL 中的主机名(从 " https:// "之后开始,到"/manager "之前结束),如下例所示:
工具箱提示输入上下文时,输入https://platform-api.us-east-1.d-r01.apic.cloud.ibm.com/managerprovider并按 Enter 键:
有关工具包 CLI 的更多信息,请参阅设置 API Connect 工具包。Context? provider - 以
governance方式运行 compliance:validate 工具箱命令。
其中:apic --mode governance compliance:validate --org <target_org> --server <platform_api_host_name> --rulesets <ruleset_name_1>,<ruleset_name_2> API_OR_PRODUCT_FILE<target_org>是拥有要验证的 API 的提供者组织的名称。<platform_api_host_name>是托管 API 管理器的服务器("管理服务器")的主机名部分 URL。提示: 要确定主机名,可以在浏览器中打开 API 管理器 ,然后从地址栏中的 URL 复制主机名(从https://后开始,到/manager前结束)。<ruleset_name_1>,<ruleset_name_2>是一个逗号分隔的列表,用于指定要应用于 API 或产品的规则集的名称。 (指定每个规则集名称; 请勿使用规则集标识。)API_OR_PRODUCT_FILE是要验证的文件的路径和文件名。
验证存储在管理服务器上的一个或多个 API 或产品
此操作对 COMPLIANCE_REQUEST_FILE中列出的所有草稿 API 或所有产品运行验证扫描。 您可以在任何时候仅扫描 API 或仅扫描产品。 这些 API 必须存储为提供者组织中的草稿 API。
- 创建 JSON
COMPLIANCE_REQUEST_FILE,以指定要在验证期间使用的规则集,以及要扫描的草稿 API 或产品的位置。 该文件只能包含 API 的 URL ,或者只能包含产品的 URL; 不能在同一文件中同时列出 API 和产品 URL。以下示例显示用于指定两个草稿 API 和两个规则集的配置文件。 在spectral-oas规则集中,info-contact规则处于禁用状态,并且将在验证期间忽略。
以下示例显示用于指定一个产品文档的配置文件。{ "apiUrls" : ["https://example.com/api/orgs/768a5f80-177c-4100-b2b6-57ce6c4bf761/drafts/draft-apis/a08898fe-b422-41d3-b058-c3280d632e93","https://example.com/api/orgs/768a5f80-177c-4100-b2b6-57ce6c4bf761/drafts/draft-apis/26692eab-f43b-4af3-985c-2deaa401eb7f"], "config" : { "rulesets": [ { "rulesetName": "spectral-oas", "disabled": ["info-contact"] }, { "rulesetName": "spectral-owasp", "disabled": [] } ] } }
其中:{ "productUrls" : ["https://example.com/api/orgs/768a5f80-177c-4100-b2b6-57ce6c4bf761/drafts/draft-product/a07968fe-b422-41d3-b058-c3280d632e93"], "config" : { "rulesets": [ { "rulesetName": "product-info", "disabled": ["subscribe"] }, { "rulesetName": "product-rate", "disabled": [] } ] } }apiUrls是 API URL 的逗号分隔列表。 每个 URL 都指定了特定提供商组织中应用程序接口草案的位置。productUrls是产品 URL 的逗号分隔列表。 每个 URL 指定了特定提供商组织中产品文档的位置。rulesetName是要在验证期间应用于 API 或产品的规则集的列表。对于列表中的每个规则集,您可以选择添加
disabled属性以及要在验证期间忽略的以逗号分隔的规则列表。
- 以提供者组织的所有者或管理员身份登录到 Toolkit。 请参阅步骤 1 以获取详细信息。
- 以
governance方式运行 compliance:validate_all 工具箱命令。
其中:apic --mode governance compliance:validate_all --org <target_org> --server <platform_api_host_name> COMPLIANCE_REQUEST_FILE<target_org>是拥有包含要验证的 API 的目录的提供者组织的名称。<platform_api_host_name>是托管 API 管理器的服务器("管理服务器")的主机名部分 URL。提示: 要确定主机名,可以在浏览器中打开 API 管理器 ,然后从地址栏中的 URL 复制主机名(从https://后开始,到/manager前结束)。COMPLIANCE_REQUEST_FILE是配置文件的路径和文件名,该文件列出了 API 或产品文档,以及验证过程中要使用的规则集(例如 )。 validate-apis.json