Utilización de la CLI del kit de herramientas para explorar los catálogos y espacios
Cómo utilizar IBM® API Connect CLI del kit de herramientas para ejecutar exploraciones de validación de gobierno en los catálogos y espacios.
Acerca de
API gobernanza es un servicio API Connect que se puede utilizar para validar y aplicar políticas de gobernanza organizativa y mejores prácticas a su proceso de desarrollo de API. La información siguiente proporciona detalles de los mandatos toolkit CLI para ejecutar y gestionar exploraciones de validación en los catálogos y espacios. Para obtener más información sobre el escaneo de validación, consulta la sección «Escaneo de catálogos y espacios ».
Las secciones siguientes detallan cómo ejecutar mandatos de exploración de validación utilizando la CLI del kit de herramientas.
Inicio de sesión en la CLI del kit de herramientas
- Inicie sesión en el kit de herramientas como propietario o administrador de la organización de proveedores.Por ejemplo:
Dondeapic login --server platform-api-host-name --sso<platform-api-host-name>es la parte del nombre de host URL del servidor que aloja el API Manager (el "servidor de gestión"). Para determinar el nombre de host, abra API Manager en un navegador y copie el nombre de host de URL en la barra de direcciones (empezando después de " https:// " y terminando antes de "/manager") como se muestra en el siguiente ejemplo:
Cuando el kit de herramientas solicite el contexto, especifiquehttps://platform-api.us-east-1.d-r01.apic.cloud.ibm.com/managerprovidery pulse Intro:
Para obtener más información sobre el kit de herramientas CLI, consulte Configuración del API Connect kit de herramientas.Context? provider
Ejecución de mandatos compliance:scan
- Cree un JSON COMPLIANCE_REQUEST_FILE que especifique la ubicación del catálogo o espacio y los conjuntos de reglas que se van a utilizar durante una exploración de validación.Por ejemplo:
Donde:{ "collectionUrl": "https://server/api/catalogs/org/catalog", "config": { "rulesets": [ { "rulesetName": "spectral-oas", "disabled": ["info-contact"] }, { "rulesetName": "spectral-owasp", "disabled": [] } ] } }collectionUrles la URL del catálogo o espacio que contiene los documentos de la API sobre los que desea ejecutar un análisis de validación, dondeserveres la URL del servidor,orges el nombre o ID de la organización proveedora ycataloges el nombre o ID del catálogo o espacio. Por ejemplo:https://localhost:3003/api/catalogs/alpha/sandbox.rulesetscontiene una lista de los conjuntos de reglas que se aplicarán a las API durante la exploración de validación.Para cada conjunto de reglas de la lista, puede añadir opcionalmente la propiedad
disabledcon una lista delimitada por comas de reglas a ignorar durante la validación.
- Ejecute una exploración de validación utilizando el mandato compliance:scan .
Donde:apic --mode governance compliance:scan --scope org --org <target_org> --server <platform_api_host_name> COMPLIANCE_REQUEST_FILEscopees el ámbito de la exploración y debe establecerse enorgpara una exploración de validación de catálogo o espacio.<target_org>es el nombre de la organización de proveedores que contiene el catálogo o espacio que desea volver a explorar.<platform_api_host_name>es la parte del nombre de host URL del servidor que aloja el Gestor de API (el "servidor de gestión").Consejo: Para determinar el nombre de host, puede abrir el Gestor de API en un navegador y copiar el nombre de host de la URL en la barra de direcciones (empezando después dehttps://y terminando antes de/manager).COMPLIANCE_REQUEST_FILEes la ruta y el nombre de archivo del archivo JSON que contiene los detalles de configuración para el análisis de validación. Por ejemplo, ./documents/validate-apis.json.
Para ejecutar un escaneado en sus productos, debe añadir al comando el parámetro opcional 'Los resultados del escaneo se imprimen en la pantalla.--scan_type' con un valor de 'product'. Por ejemplo:
puede utilizar el valorapic --mode governance compliance:scan --scope org --org my_org --server my_platform_api_host_name ./documents/validate-products.json --scan_type productapipara escanear sólo APIs, oproductpara escanear sólo productos. Si se omite, sólo se escanean las API.El siguiente parámetro opcional le permite refinar los resultados de este comando.--scantitle scan_titlees una bandera opcional que cambia el título de la exploración recuperada al valor que usted proporcione.
apic --mode governance compliance:scan --scope org --org my_org --server my_platform_api_host_name ./documents/validate-apis.json --scantitle scan1 - Vuelva a ejecutar una exploración de validación existente utilizando el mandato compliance:rescan .Una reejecución de exploración crea un nuevo informe para esa exploración, pero utiliza la misma configuración de catálogo o espacio y conjuntos de reglas que se utilizó en la exploración anterior.
Donde:apic --mode governance compliance:rescan --scope org --org <target_org> --server <platform_api_host_name> --scan <scan_name_or_scan_id>scopees el ámbito de la exploración y debe establecerse enorgpara una exploración de validación de catálogo o espacio.<target_org>es el nombre de la organización de proveedores que contiene el catálogo o espacio que desea volver a explorar.<platform_api_host_name>es la parte del nombre de host URL del servidor que aloja el Gestor de API (el "servidor de gestión").Consejo: Para determinar el nombre de host, puede abrir el Gestor de API en un navegador y copiar el nombre de host de la URL en la barra de direcciones (empezando después dehttps://y terminando antes de/manager).scan_name_or_scan_ides el nombre o el ID de la exploración existente que desea volver a ejecutar.
El siguiente parámetro opcional le permite refinar los resultados de este comando.--scantitle scan_titlees un indicador opcional que cambia el título de la reexploración por el valor que proporciones.
apic --mode governance compliance:rescan --scope org --org my_org --server my_platform_api_host_name ./documents/validate-apis.json --scantitle scan2
Ejecución de mandatos scans
- Liste todas las exploraciones de validación que existen para una organización de proveedores específica utilizando el mandato scans:list .
La devolución incluye información sobre todas las exploraciones de validación y alguna información sobre sus informes de exploración, pero si desea información más detallada sobre los informes, utilice el mandato scan-reports:list .
Donde:apic --mode governance scans:list --scope org --org <target_org> --server <platform_api_host_name>scopees el ámbito de la exploración y debe establecerse enorgpara una exploración de validación de catálogo o espacio.<target_org>es el nombre de la organización de proveedores para la que desea una lista de exploraciones.<platform_api_host_name>es la parte del nombre de host URL del servidor que aloja el Gestor de API (el "servidor de gestión").Consejo: Para determinar el nombre de host, puede abrir el Gestor de API en un navegador y copiar el nombre de host de la URL en la barra de direcciones (empezando después dehttps://y terminando antes de/manager).
El siguiente ejemplo muestra la salida de muestra para una lista que contiene dos exploraciones, una de APIs y otra de productos:Los siguientes parámetros opcionales le permiten refinar los resultados de este mandato.
Donde "total_results: 2 results: - type: 'scan' scan_type: '1' api_version: '2.0.0' id: 'cd765034-d46b-4b1b-9c74-b63911f42773' name: 'cd765034-d46b-4b1b-9c74-b63911f42773' title: 'API Scan' scope: 'org' collection: id: 'b6deefe8-6cd5-4bcb-b7b4-116891bc6019' name: 'cat1' type: 'catalog' title: 'cat1' location: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41/cat1' config: - id: 'cf16505a-ae70-438b-be10-bcc7678d1eee' url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41/rulesets/cf16505a-ae70-438b-be10-bcc7678d1eee' name: 'spectral-async' title: 'spectral-async' version: '1.15.0' disabled: [] - id: '01562ee7-9a50-4dae-b356-9f50ccb6' url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41/rulesets/01562ee7-9a50-4dae-b356-9f50ccb6' name: 'spectral-oas' title: 'spectral-oas' version: '1.15.0' disabled: [] documents: - id: '29b04204-8cce-47ab-baac-365ab09f' name: 'accountservice' title: 'AccountService' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/04d6a185-2c6d-41fd-91e6-d7e83a854745/apis/29b04204-8cce-47ab-baac-365ab09f' - id: '964f1df0-dd0b-4671-afee-e70af020' name: 'awsecommerceservice' title: 'AWSECommerceService' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/04d6a185-2c6d-41fd-91e6-d7e83a854745/apis/964f1df0-dd0b-4671-afee-e70af020' progress: 100 reports: created_at: '2024-03-27T10:57:09.921Z' report_url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/scan-reports/cfd0eac3-cff1-4d66-9057-30426970' scan_result: hints: '0' infos: '20' errors: '1396' warnings: '24212' scan_result: '1396 Errors, 24212 Warnings, 20 Infos, 0 Hints, 6 Rulesets' status: 1 created_at: '2024-03-27T10:55:45.000Z' updated_at: '2024-03-27T10:57:12.000Z' url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/scans/0e84ce18-45ea-4a28-ab68-4da0c492' - type: 'scan' scan_type: '2' api_version: '2.0.0' id: 'ddc5da81-0db0-425c-b74c-5fc8300934e6' name: 'ddc5da81-0db0-425c-b74c-5fc8300934e6' title: 'Product Scan' scope: 'org' collection: id: 'b6deefe8-6cd5-4bcb-b7b4-116891bc6019' name: 'cat2' type: 'catalog' title: 'cat2' location: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/cat2' config: - id: '8e67e57b-a7f6-4c5e-b341-ab0a960d78fd' url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/rulesets/8e67e57b-a7f6-4c5e-b341-ab0a960d78fd' name: 'Product Ruleset' title: 'Product Ruleset' version: '1.0.0' disabled: [] documents: - id: 'c6c66be4-bd1e-4fe1-85d5-45fd8a4bd3d0' name: 'First Product Document' title: 'First Product Document' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/b6deefe8-6cd5-4bcb-b7b4-116891bc6019/products/c6c66be4-bd1e-4fe1-85d5-45fd8a4bd3d0' - id: '11266894-524a-410d-babf-ca2488736e40' name: 'Second Product Document' title: 'Second Product Document' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/b6deefe8-6cd5-4bcb-b7b4-116891bc6019/products/11266894-524a-410d-babf-ca2488736e40' - id: '3b18fd12-c1ea-4faf-9e44-7b9158b437ca' name: 'Third Product Document' title: 'Third Product Document' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/b6deefe8-6cd5-4bcb-b7b4-116891bc6019/products/3b18fd12-c1ea-4faf-9e44-7b9158b437ca' - id: '1089516f-d7bf-4850-b7e0-7a6ca18c4383' name: 'Fourth Product Document' title: 'Fourth Product Document' version: '1.0.0' document: 'https://test.ibm.com/api/catalogs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/b6deefe8-6cd5-4bcb-b7b4-116891bc6019/products/1089516f-d7bf-4850-b7e0-7a6ca18c4383' progress: 100 reports: - created_at: '2024-09-05T09:24:39.784Z' report_url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/scan-reports/ae166497-b64f-47e7-a23c-5e75d19adbde' scan_result: hints: '0' infos: '0' errors: '2' warnings: '0' - created_at: '2024-09-05T09:24:17.561Z' report_url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/scan-reports/2d86ca39-56ee-4e2f-adb8-b5b1e5e294a0' scan_result: hints: '0' infos: '0' errors: '2' warnings: '0' scan_result: '2 Errors, 0 Warnings, 0 Infos, 0 Hints, 1 Rulesets' status: 1 created_at: '2024-09-05T09:24:08.000Z' updated_at: '2024-09-05T09:24:39.000Z' url: 'https://test.ibm.com/governance/orgs/6d3d9ffa-37e3-4da7-be6b-a1c34b41476f/scans/ddc5da81-0db0-425c-b74c-5fc8300934e6'scan_type: '1'" se refiere a un escaneo de API, y "scan_type: '2'" se refiere a un escaneo de producto.--status status_numberes una lista separada por comas de códigos de estado por los que filtrar la lista de exploraciones.Tabla 1. Tabla de códigos de estado válidos Código Estado 0En cola 1Completado 2En curso -1Error --type catalog_or_spacelista las exploraciones que son del tipocatalogospace.--scan_type api_or_productes una bandera opcional para listar específicamente los escaneos de sólo APIs o sólo productos. Utilice el valor "api" para listar sólo los escaneos de API, o "product" para listar sólo los escaneos de producto. Si se omite, se enumeran tanto las exploraciones de API como las de tipo de producto.--collections list_of_collectionses una lista separada por comas de ID o nombres de catálogo o espacio por los que filtrar la lista de exploraciones.--limit number_of_resultsespecifica cuántos resultados de exploración se deben devolver.--fields list_of_fieldses una lista separada por comas de nombres de campo a devolver. Tenga en cuenta que no se permiten espacios después de una coma, y si desea devolver sólo un campo, debe omitir la coma. Por ejemplo, ejecutando el mandato siguiente:
Devuelve los datos de la forma siguiente:apic --mode governance scans:list --scope org --org <target_org> --server <platform_api_host_name> --fields id,titletotal_results: 2 results: - id: 'e0b8afbd-e5fa-486e-8800-343e1e31faf1' title: 'e0b8afbd-e5fa-486e-8800-343e1e31faf2' - id: '436d9db5-ea45-4d91-96c4-cef5957a2c34' title: '436d9db5-ea45-4d91-96c4-cef5957a2c34'
apic --mode governance scans:list --scope org --org demo -s test.ibm.com --collections cat1 --type catalog --status 1 - Obtener una exploración específica utilizando el comando scans:get:
Donde:apic --mode governance scans:get --scope org --org <target_org> --server <platform_api_host_name> SCANscopees el ámbito de la exploración y debe establecerse enorgpara una exploración de validación de catálogo o espacio.<target_org>es el nombre de la organización de proveedores que contiene la exploración que desea obtener.<platform_api_host_name>es la parte del nombre de host URL del servidor que aloja el Gestor de API (el "servidor de gestión").Consejo: Para determinar el nombre de host, puede abrir el Gestor de API en un navegador y copiar el nombre de host de la URL en la barra de direcciones (empezando después dehttps://y terminando antes de/manager).SCANes el ID o nombre de la exploración que se desea recuperar.
- Actualice las propiedades de exploración
titleysummarycreando un SCAN_FILE con la información que se va a actualizar y ejecutando el mandatoscans:update.
Donde:apic --mode governance scans:update --scope org --org <target_org> --server <platform_api_host_name> SCAN SCAN_FILEscopees el ámbito de la exploración y debe establecerse enorgpara una exploración de validación de catálogo o espacio.<target_org>es el nombre de la organización de proveedores que contiene la exploración que desea actualizar.<platform_api_host_name>es la parte del nombre de host URL del servidor que aloja el Gestor de API (el "servidor de gestión").Consejo: Para determinar el nombre de host, puede abrir el Gestor de API en un navegador y copiar el nombre de host de la URL en la barra de direcciones (empezando después dehttps://y terminando antes de/manager).SCANes el ID o nombre del escaneo que desea actualizar.SCAN_FILEes la vía de acceso a un archivo JSON que contiene las propiedades que se van a actualizar.
SCAN_FILEpuede contener las propiedades siguientes:{ "title": "<updated_title>", "summary": "<updated_summary>" } - Suprima un escaneo utilizando el mandato scans:delete . Este mandato suprime la exploración especificada y todos sus informes.
Dondeapic --mode governance scans:delete --scope org --org <target_org> --server <platform_api_host_name> SCANSCANes el ID o el nombre del escaneo que desea actualizar. - Suprima todas las exploraciones de una organización de proveedores determinada utilizando el mandato scans:clear . Este mandato borra todas las exploraciones y todos sus informes para la organización especificada.
Dondeapic --mode governance scans:clear --scope org --org <target_org> --server <platform_api_host_name> --confirm organisation_confirmedorganisation_confirmedes el nombre de la organización de proveedores de nuevo, para confirmar que desea borrar todas las exploraciones de esta organización.
Ejecución de mandatos scan-reports
- Liste todos los informes de exploración para una organización de proveedores determinada utilizando el mandato scan-reports:list .
Los siguientes parámetros opcionales le permiten refinar los resultados de este mandato.apic --mode governance scan-reports:list --scope org --org <target_org> --server <platform_api_host_name>--fields list_of_fieldses una lista separada por comas de nombres de campo a devolver. Tenga en cuenta que no se permiten espacios después de una coma, y si desea devolver sólo un campo, debe omitir la coma. Por ejemplo, ejecutando el mandato siguiente:
Devuelve los datos de la forma siguiente:apic --mode governance scan-reports:list --scope org --org <target_org> --server <platform_api_host_name> --fields id,titletotal_results: 2 results: - id: '3e3189a3-6359-4113-9cf9-9bde9f303884' title: '3e3189a3-6359-4113-9cf9-9bde9f303882' - id: '58a975cf-a503-4297-9450-237db102cb24' title: '58a975cf-a503-4297-9450-237db102cb24'--limit number_of_resultsespecifica cuántos resultados de informe de exploración se deben devolver.
- Obtenga un informe de exploración específico utilizando el mandato scans:get .
Dondeapic --mode governance scan-reports:get --scope org --org <target_org> --server <platform_api_host_name> SCAN_REPORTSCAN_REPORTes el ID o el nombre del informe de exploración.Los resultados del informe de exploración se descargan en el directorio donde se ha ejecutado el mandato.
- Actualice la propiedad
summarydel informe de exploración creando un SCAN_REPORT_FILE con la información que se va a actualizar y ejecutando el mandatoscan-reports:update.
Donde:apic --mode governance scan-reports:update --scope org --org <target_org> --server <platform_api_host_name> SCAN_REPORT SCAN_REPORT_FILESCAN_REPORTes el ID o nombre del informe de exploración que desea actualizar.SCAN_REPORT_FILEes la vía de acceso a un archivo JSON que contiene las propiedades que se van a actualizar.
SCAN_REPORT_FILEpuede contener las propiedades siguientes:{ "summary": "updated_summary" } - Suprima un informe de exploración utilizando el mandato scan-reports:delete . Este mandato suprime el informe de exploración especificado y elimina la referencia al mismo del escaneo. Tenga en cuenta que no puede suprimir el último informe de un escaneo. Si desea suprimir todos los informes de un escaneo, debe suprimir el propio escaneo utilizando el mandato scans:delete .
Dondeapic --mode governance scan-reports:delete --scope org --org <target_org> --server <platform_api_host_name> SCAN_REPORTSCAN_REPORTes el ID o el nombre del informe de exploración que desea suprimir.