使用Prisma云API向现有策略添加符合性标准的格式是什么?

2024-04-27 18:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在通过Pal-Alto-Prisma云API向现有策略添加符合性标准时遇到问题。你知道吗

每次发送请求时,都会返回一个500服务器错误(不幸的是,API文档对此毫无帮助)。我不确定我是否发送了正确的信息来添加符合性标准,因为API文档没有显示需要发送的信息。如果我遗漏了必需的字段(name、policyType和severity),则返回一个400错误(请求错误,这是有意义的)。但我不明白为什么我总是得到500服务器错误。你知道吗

本质上,我的代码看起来像:

import requests

url = https://api2.redlock.io/policy/{policy_id}

header = {'Content-Type': 'application/json', 'x-redlock-auth': 'token'}

payload = {
    'name': 'policy_name',
    'policyType': 'policy_type',
    'severity': 'policy_severity',
    'complianceMetadata': [
        {
            'standardName': 'standard_name',
            'requirementId': 'requirement_ID',
            'sectionId': 'section_id'
        }
    ]
}

response = requests.request('PUT', url, json=payload, header=header)

响应应该是一个200,策略的元数据以JSON格式返回,符合新的标准。你知道吗


Tags: name文档服务器api信息url标准错误
1条回答
网友
1楼 · 发布于 2024-04-27 18:23:20

对于那些使用redlockapi的人,我设法找到了答案。你知道吗

虽然不是描述性的,但500个错误通常意味着发送到服务器的JSON是不正确的。在这种情况下,有效载荷不正确。你知道吗

更新策略符合性标准的正确JSON是:

req_header = {'Content-Type':'application/json','x-redlock-auth':jwt_token}

# This is a small function to get a policy by ID
policy = get_redlock_policy_by_ID(req_header, 'policy_ID')

new_standard =  { 
         "standardName":"std-name",
         "requirementId":"1.1",
         "sectionId":"1.1.1",
         "customAssigned":true,
         "complianceId":"comp-id",
         "requirementName":"req-name"
      }

policy['complianceMetadata'].append(new_standard)

requests.put('{}/policy/{}'.format(REDLOCK_API_URL, policy['policyId']), json=policy, headers=req_header)

相关问题 更多 >