Prisma Cloud: Error de excepción de API para ejecutar la consulta de configuración de IAM
3023
Created On 04/24/24 18:53 PM - Last Modified 05/07/24 13:55 PM
Symptom
Mensaje de error que se recibe al intentar utilizar la API para publicar una consulta de configuración de IAM de búsqueda (RQL).
Environment
- Política de IAM de Prisma Cloud
- Punto de conexión de API
Cause
- Prisma Cloud utiliza diferentes puntos de conexión de API para la consulta Cloud-Resource y para la consulta de configuración de IAM.
Resolution
- Para la consulta cloud.resource, el punto de conexión de la API será,
{{api-endpoint}}/search/config
- Pero para la consulta de configuración de IAM, el punto de conexión de la API será,
{{api-endpoint}}/iam/api/v4/search/permission
Additional Information
- En el siguiente enlace no se tratan los detalles de la consulta RQL de configuración de IAM.
"Realizar búsqueda de configuración"
https://pan.dev/prisma-cloud/api/cspm/search-config/
Ejemplos de llamadas a la API con Postman:
- Cloud.resource RQL
POST: https://{{api-endpoint}}/search/config
Body:
{
"heuristicSearch": true,
"query": "config from cloud.resource where cloud.type = 'aws' AND api.name = 'aws-s3api-get-bucket-acl' AND json.rule = "acl.grantsAsList[?(@.grantee=='AllUsers')].permission contains ReadAcp or acl.grantsAsList[?(@.grantee=='AllUsers')].permission contains FullControl",
"timeRange": {
"type": "to_now",
"value": "epoch"
},
"limit": 100,
"withResourceJson": false
}
- RQL de configuración de IAM
POST: https://{{api-endpoint}}/iam/api/v4/search/permission
Body:
{
"query": "config from iam where dest.cloud.type = 'AWS' and source.public = true AND dest.cloud.service.name = 's3' AND dest.cloud.resource.type = 'bucket' AND grantedby.cloud.policy.condition ( 'aws:SourceArn' ) does not exist AND grantedby.cloud.policy.condition ( 'aws:VpcSourceIp' ) does not exist AND grantedby.cloud.policy.condition ( 'aws:username' ) does not exist AND grantedby.cloud.policy.condition ( 'aws:userid' ) does not exist AND grantedby.cloud.policy.condition ( 'aws:ResourceAccount' ) does not exist"
}