首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Prisma Cloud API将合规性标准添加到现有策略的格式是什么?

使用Prisma Cloud API将合规性标准添加到现有策略的格式是什么?
EN

Stack Overflow用户
提问于 2019-05-17 07:51:13
回答 1查看 139关注 0票数 0

我在通过Pal Alto Prisma Cloud API向现有策略添加合规性标准时遇到问题。

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

从本质上讲,我的代码如下所示:

代码语言:javascript
复制
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格式返回。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 10:33:40

对于那些使用RedLock应用程序接口的人,我设法弄清楚了。

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

用于更新策略的合规性标准的正确JSON为:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56177927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档