API de puntuaciones y perfiles de seguridad

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Información general

En esta página se describe cómo gestionar las puntuaciones de seguridad y los perfiles de seguridad de la evaluación de riesgos (también denominados simplemente "perfiles") mediante APIs. En esta página se muestran ejemplos de solicitudes a la API.

Para obtener una descripción general de la función Evaluación de riesgos, incluidas las limitaciones, y las instrucciones para usar la interfaz de usuario, consulta Descripción general de la evaluación de riesgos y la interfaz de usuario.

Ejemplos de la API Risk Assessment v2

Parámetros de los ejemplos de la API v2

En los ejemplos de esta sección se pueden usar los siguientes parámetros:

  • ORG es tu organización.
  • ENV es el entorno en el que quieres que se calculen las puntuaciones.
  • PROFILE_ID es el nombre del perfil. PROFILE_ID puede ser google-default o el nombre de un perfil personalizado que crees.
  • PROFILE_DESC (opcional) es la descripción del perfil. Debe ser una descripción del perfil legible para humanos que proporcione suficiente información para diferenciarlo de otros perfiles.
  • PROXY_NAME: el nombre del proxy.
  • RESOURCES puede ser:
    • "include_all_resources":{} para monitorizar todos los recursos incluidos en el ámbito.
    • "include": { "resources": [{"type": "API_PROXY", "name": "PROXY_NAME"}]} para monitorizar uno o varios proxies especificados. Por ejemplo, "include": { "resources": [{"type": "API_PROXY", "name": "my-proxy-1"}]} para monitorizar el proxy llamado my-proxy-1.
  • SECURITY_MONITORING_CONDITION_ID: ID único de la condición de monitorización de seguridad. Si no se proporciona ningún ID, se genera un UUID automáticamente.
  • $TOKEN es la variable de entorno de un token de acceso OAuth.

Recuperar los resultados de la evaluación de seguridad por lotes

Los usuarios con los roles Security Admin o Security Viewer tienen permisos para realizar un cálculo de evaluación de riesgos ad hoc. Deberá especificar el perfil de seguridad, el ámbito (el entorno de Apigee) y los recursos que se van a evaluar. Los recursos pueden ser include_all_resources: true para calcular todos los recursos del ámbito o solo unos pocos. Consulta securityAssessmentResults.batchCompute en la documentación de referencia de la API de gestión de Apigee para obtener más información sobre esta función.

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityAssessmentResults:batchCompute" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H 'Content-type: application/json' \
       -d '{
           "profile": "PROFILE_ID",
           "scope": "ENV",
           RESOURCES
  }'

Esta es una posible respuesta a la solicitud:

{
  "securityAssessmentResults": [
    {
      "resource": {
        "type": "API_PROXY",
        "name": "my-proxy-1",
        "resourceRevisionId": "1"
      },
      "createTime": "2023-11-22T04:49:29.418166Z",
      "scoringResult": {
        "severity": "HIGH",
        "failedAssessmentPerWeight": {
          "MINOR": 1
        },
        "assessmentRecommendations": {
          "cors-policies-check": {
            "displayName": "CORS policies check",
            "weight": "MAJOR",
            "recommendations": [
              {
                "description": "Check whether a CORS policy or CORS header in AssignMessage policy are present.",
                "link": {
                  "text": "Learn more",
                  "uri": "https://cloud.google.com/apigee/docs/api-platform/reference/policies/reference-overview-policy"
                }
              }
            ],
            "verdict": "FAIL",
            "scoreImpact": 100
          }
        },
        "dataUpdateTime": "2023-11-22T04:49:29.418166Z"
      }
    }
  ],
  "assessmentTime": "2023-11-22T04:49:29.418166Z"
}

Gestionar perfiles de seguridad

En esta sección se proporcionan ejemplos para gestionar perfiles de seguridad mediante las APIs, pero no es exhaustiva. Consulta más información en la documentación de referencia de la API securityProfilesV2.

Obtener perfiles de seguridad personalizados

Este comando obtiene la información de todos los perfiles de seguridad de tu proyecto:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfilesV2" \
      -H "Authorization: Bearer $TOKEN"

Este comando obtiene los metadatos de un perfil de seguridad específico y se puede usar para obtener información sobre el perfil google-default, así como sobre los perfiles personalizados:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfilesV2/PROFILE_ID" \
      -H "Authorization: Bearer $TOKEN"

Crear un perfil de seguridad personalizado

Para crear un perfil de seguridad personalizado, usa un comando como este:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfilesV2?security_profile_v2_id=PROFILE_ID" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H 'Content-type: application/json' \
       -d '{
           "description": "PROFILE_DESC",
           "profile_assessment_configs": {
               "auth-policies-check": {"weight": "MINOR"},
               "threat-policies-check": {"weight": "MODERATE"}
           }
        }'

Actualizar un perfil de seguridad personalizado

Para actualizar un perfil, usa un comando como el siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfilesV2/PROFILE_ID?update_mask=UPDATE_MASK" \
       -X PATCH \
       -H "Authorization: Bearer $TOKEN" \
       -H 'Content-type: application/json' \
       -d '{"description": "PROFILE_DESC"}'

donde UPDATE_MASK puede ser uno de estos valores, si está presente: description, profile_assessment_configs, description,profile_assessment_configs o * (todo). Si se especifica la máscara de actualización *, la solicitud actualizará todos los campos, lo que podría eliminar valores si no se incluyen en la solicitud.

Si se omite update_mask, solo se actualizarán los campos proporcionados en la solicitud de actualización.

Eliminar un perfil de seguridad personalizado

Para eliminar un perfil de seguridad personalizado, sigue estos pasos:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfilesV2/PROFILE_ID" \
       -X DELETE \
       -H "Authorization: Bearer $TOKEN"

Gestionar condiciones de monitorización

En esta sección se proporcionan ejemplos para gestionar las condiciones de monitorización mediante las APIs, pero no es exhaustiva. Consulta los documentos de referencia de la API Monitoring Conditions para obtener más información sobre cómo gestionar las condiciones de monitorización a través de las APIs.

Crear una condición de monitorización

Para crear una condición de monitorización, usa un comando como este:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions?security_monitoring_condition_id=MONITORING_CONDITION_ID" \
       -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{
           "profile": "PROFILE_ID",
           "scope": "ENV",
           RESOURCES
       }'

La respuesta podría ser la siguiente:

{
  "name": "organizations/my-org/securityMonitoringConditions/my-condition",
  "createTime": "2025-11-22T05:02:16.089469Z",
  "updateTime": "2023-11-22T05:02:16.089469Z",
  "profile": "google-default",
  "scope": "test",
  "totalMonitoredResources": 4,
  "totalDeployedResources": 4,
  "includeAllResources": {}
}

Mostrar condiciones de monitorización

Para obtener una lista de las condiciones de monitorización de tu organización, usa un comando como este:

curl -H "Authorization: Bearer $TOKEN" \
       "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions"

La respuesta tiene este formato:

{
  "securityMonitoringConditions": [
    {
      "name": "organizations/my-org/securityMonitoringConditions/my-condition",
      "createTime": "2023-11-22T05:02:16.089469Z",
      "updateTime": "2025-11-22T05:02:16.089469Z",
      "profile": "google-default",
      "scope": "test",
      "totalMonitoredResources": 4,
      "totalDeployedResources": 4,
      "includeAllResources": {}
    }
  ]
}

También puedes usar esta sintaxis para limitar los resultados devueltos por ámbito o perfil de seguridad:

curl -H "Authorization: Bearer $TOKEN" \
       "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions?filter=scope=ENV%20AND%20profile=PROFILE_ID"

Obtener una condición de monitorización

Para obtener la información de una condición de monitorización, usa un comando como este:

curl -H "Authorization: Bearer $TOKEN" \
       "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions/MONITORING_CONDITION_ID"

La respuesta tiene este formato:

{
  "name": "organizations/my-org/securityMonitoringConditions/my-condition",
  "createTime": "2023-11-22T05:02:16.089469Z",
  "updateTime": "2025-11-22T05:02:16.089469Z",
  "profile": "google-default",
  "scope": "test",
  "totalMonitoredResources": 4,
  "totalDeployedResources": 4,
  "includeAllResources": {}
}

Actualizar una condición de monitorización

Este comando actualiza el perfil de una condición de monitorización:

curl -H "Authorization: Bearer $TOKEN" \
       "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions/MONITORING_CONDITION_ID?update_mask=CONDITION_UPDATE_MASK" -X PATCH -H "Content-Type: application/json" \
       -d  '{
       RESOURCES
  }'

donde update_mask es opcional. Si se incluye, CONDITION_UPDATE_MASK puede ser include o include_all_resources. Si se omite update_mask , solo se actualizarán los campos proporcionados en la solicitud de actualización.

La respuesta podría ser la siguiente:

{
  "name": "test-condition",
  "createTime": "2023-11-22T03:04:05Z",
  "updateTime": "2023-11-22T03:04:05Z",
  "profile": "google-default",
  "scope": "test",
  "include": {
    "resources": [{
      "type": "API_PROXY", "name": "PROXY_NAME"
    }]
  }
}

Eliminar una condición de monitorización

Este comando elimina una condición de monitorización:

curl -H "Authorization: Bearer $TOKEN" \
       "https://apigee.googleapis.com/v1/organizations/ORG/securityMonitoringConditions/MONITORING_CONDITION_ID" \
       -X DELETE

Evaluación de riesgos (versión 1)

En esta sección se muestra información y ejemplos de las APIs de Risk Assessment v1.

Limitaciones de las puntuaciones de seguridad al usar las APIs

Las puntuaciones de seguridad tienen las siguientes limitaciones cuando se usan desde las APIs de puntuaciones y perfiles de seguridad:

  • Campos de entrada admitidos en JSON:
  • No se admiten varios filtros de entrada.
  • No se admite el campo "Impact" en la respuesta. El campo "Impacto" indica el impacto potencial de esta recomendación en el nivel general. Indica la importancia de esta recomendación para mejorar la puntuación.

Para obtener información sobre las limitaciones generales de la puntuación de seguridad que no son específicas del uso de las APIs, consulta Limitaciones de la versión 1 de las puntuaciones de seguridad.

Parámetros en llamadas a la API de ejemplo

En las siguientes secciones se proporcionan ejemplos de llamadas a la API y se pueden usar los siguientes parámetros:

  • ORG es tu organización.
  • ENV es el entorno en el que quieres que se calculen las puntuaciones.
  • ENVGROUP es un grupo de entornos que contiene el entorno.
  • PROFILE_ID es el nombre del perfil. PROFILE_ID puede ser default o el nombre de un perfil personalizado que crees.

    PROFILE_ID debe contener entre 1 y 63 caracteres, que pueden ser letras minúsculas, números del 0 al 9 o guiones. El primer carácter debe ser una letra minúscula. El último carácter debe ser una letra minúscula o un número.

  • PROXY_NAME: el nombre del proxy.
  • $TOKEN es la variable de entorno de un token de acceso OAuth.
  • timeRange es el periodo de las puntuaciones.

Ejemplos de la API Risk Assessment v1

Filtros admitidos en la API

En la siguiente tabla se indican los filtros admitidos en la API y sus rutas de componentes.

Filtro Ruta del componente
Puntuaciones del entorno /org@ORG/envgroup@ENVGROUP/env@ENV
Puntuaciones de origen de todos los componentes subyacentes /org@ORG/envgroup@ENVGROUP/env@ENV/source
Puntuaciones de abuso /org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse
Puntuaciones de todos los proxies /org@ORG/envgroup@ENVGROUP/env@ENV/proxies
Puntuaciones de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME
Puntuaciones de las políticas de un proxy específico
  • /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies
  • /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual
Puntuaciones de la política de mediación de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/mediation
Puntuaciones de las políticas de seguridad de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security
Puntuaciones de la política de autorización de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/auth
Puntuación de la política de CORS de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/cors
Puntuaciones de políticas de amenazas de un proxy específico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/threat
Puntuaciones de las políticas de todos los proxies del entorno
  • /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies
  • /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual
Puntuaciones de la política de mediación de todos los proxies del entorno /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/mediation
Puntuaciones de las políticas de seguridad de todos los proxies del entorno /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security
Puntuaciones de la política de autorización de todos los proxies del entorno /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/auth
Puntuaciones de la política de CORS de todos los proxies del entorno /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors
Puntuaciones de la política de amenazas de todos los proxies del entorno /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat

Usar el perfil de seguridad predeterminado

En los siguientes ejemplos se muestra cómo usar el perfil de seguridad predeterminado. Consulta los parámetros de las llamadas a la API de ejemplo para ver los parámetros que se usan en los ejemplos.

Asociar el perfil de seguridad predeterminado a un entorno

Para ver las puntuaciones de seguridad, debes asociar un perfil al entorno cuya seguridad quieras evaluar. Para adjuntar el perfil de seguridad predeterminado a un entorno, usa el siguiente comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default/environments" \
       -X POST \
       -d '{"name": "ENV"}' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"
Obtener la definición del perfil de seguridad predeterminado

Para obtener la definición del perfil de seguridad predeterminado, introduce el siguiente comando:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default" \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

Desasociar el perfil de seguridad predeterminado de un entorno

Si necesitas separar el perfil predeterminado de un entorno, puedes hacerlo de la siguiente manera:

  curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default/environments/ENV" \
         -X DELETE
         -H 'Content-type: application/json' \
         -H "Authorization: Bearer $TOKEN"

Usar un perfil de seguridad personalizado

Puedes crear un perfil de seguridad personalizado con una llamada a la API de cualquiera de las siguientes formas:

  • Define explícitamente el perfil en el cuerpo de la llamada.
  • Adjunta un archivo JSON que contenga la definición del perfil a la llamada.

En las siguientes secciones se ofrecen ejemplos de ambos métodos. Consulta los parámetros de las llamadas a la API de ejemplo para ver los parámetros que se usan en los ejemplos.

En los siguientes campos de las llamadas a la API de ejemplo se especifica el perfil personalizado:

  • description: una descripción del perfil personalizado.
  • profileConfig: lista de las categorías que se incluirán en el perfil personalizado. Puede ser cualquier subconjunto de las siguientes categorías de seguridad:
    • abuse
    • authorization
    • cors
    • mtls
    • mediation
    • threat
Definir el perfil en el cuerpo de una llamada a la API

Para definir un perfil personalizado en el cuerpo de una llamada a la API, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles?security_profile_id=PROFILE_ID" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{
         "description":"test custom profile",
         "profileConfig" : {
           "categories":[
             {"cors":{}},
             {"threat":{}}
           ]
         }
       }'

De esta forma, se crea un perfil personalizado que incluye las categorías cors y threat, y se devuelve una respuesta como esta:

{
  "name": "PROFILE_ID",
  "revisionId": "1",
  "revisionCreateTime": "2023-07-17T18:47:08Z",
  "revisionUpdateTime": "2023-07-17T18:47:08Z",
  "scoringConfigs": [
    {
      "title": "json",
      "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat/json",
      "description": "Check if JSONThreatProtection policy is configured."
    },
    {
      "title": "xml",
      "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat/xml",
      "description": "Check if XMLThreatProtection policy is configured."
    },
    {
      "title": "cors",
      "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors",
      "description": "Check if CORS policy is configured."
    }
  ],
  "maxScore": 1200,
  "minScore": 200,
  "profileConfig": {
    "categories": [
      {
        "cors": {}
      },
      {
        "threat": {}
      }
    ]
  },
  "description": "test custom profile"
  }
Definir el perfil adjuntando un archivo JSON a una llamada a la API

También puedes definir un perfil de seguridad personalizado adjuntando un archivo JSON que defina el perfil a una llamada a la API. Por ejemplo, primero crea el siguiente archivo JSON:

{
  "description": "test custom profile",
  "profileConfig" : {
    "categories":[
      {"cors":{}},
      {"threat" :{}},
    ]
  }
}

Define un perfil con las categorías cors y threat. A continuación, puedes crear un perfil basado en estas categorías de la siguiente manera:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles?security_profile_id=PROFILE_ID" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d @create_profile.json

donde create_profile.json es el nombre del archivo JSON descrito anteriormente.

Obtener una definición de perfil de seguridad personalizada

Para obtener la definición de un perfil de seguridad personalizado, introduce un comando similar al siguiente:

  curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \
         -X GET \
         -H "Authorization: Bearer $TOKEN" \
         -H "Content-Type: application/json"
Desasociar un perfil de seguridad personalizado de un entorno

Para separar un perfil de seguridad personalizado de un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV" \
       -X DELETE \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json"
Eliminar un perfil de seguridad personalizado

Para eliminar un perfil de seguridad personalizado, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \
       -X DELETE \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json"

Obtener puntuaciones de un entorno

En las siguientes secciones se muestran ejemplos de cómo obtener puntuaciones de un entorno. Consulta los parámetros de las llamadas a la API de ejemplo para ver los parámetros que se usan en los ejemplos.

Obtener todas las puntuaciones de un entorno

Para obtener todas las puntuaciones de un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              }
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

Consulta la página de referencia de computeEnvironmentScores para ver una descripción de la solicitud y la respuesta.

Obtener puntuaciones de origen de un entorno

Para obtener las puntuaciones de origen de un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              },
            "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source"}]
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"
Obtener la puntuación de abuso en la fuente de un entorno

Para obtener la puntuación de abuso de un entorno en la fuente, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              },
            "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse"}]
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"
Obtener las puntuaciones de todos los proxies de un entorno

Para obtener las puntuaciones de todos los proxies de un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              },
            "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies"}]
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"
Obtener puntuaciones de un proxy específico en un entorno

Para obtener las puntuaciones de un proxy específico en un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              },
            "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY"}]
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

donde PROXY es el proxy del que quieres obtener las puntuaciones.

Obtener puntuaciones de un objetivo específico en un entorno

Para obtener las puntuaciones de un objetivo específico en un entorno, introduce un comando similar al siguiente:

curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \
       -X POST \
       -d '{"timeRange":
              {
                "startTime": "YYYY-MM-DDT00:00:00Z",
                "endTime": "YYYY-MM-DDT00:00:00Z"
              },
            "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/target@TARGET"}]
           }' \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"