镜像版本和镜像版本扫描接口
获取镜像版本列表
接口描述
返回查询到镜像版本列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
1 GET /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query参数 | 镜像仓库名字 |
| projectId | long | 是 | Query参数 | 命名空间ID |
| keyword | String | 否 | Query参数 | 查询关键字 |
| keywordType | String |
否 | Query 参数 | 查询关键字类型,目前仅支持 createTime、tagName、updateTime。 |
| order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
| orderBy | String | 否 | Query参数 | 用于排序字段,支持updateTime(默认) |
| pageNo | int | 否 | Query参数 | 当前页 |
| pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | List |
镜像版本列表。 |
| result[].createTime | String |
版本创建时间。 |
| result[].updateTime | String |
版本更新时间。 |
| result[].dockerPullCmd | String |
镜像拉取命令。 |
| result[].createdBy | String |
版本创建方式。 |
| result[].digest | String |
镜像摘要值。 |
| result[].name | String |
镜像版本名称。 |
| result[].size | long |
镜像版本大小,单位为字节。 |
| orders | List |
排序条件列表,当前可能返回 null。 |
| order | String |
排序方式。 |
| orderBy | String |
排序字段。 |
| pageNo | int |
当前页。 |
| pageSize | int |
每页记录数。 |
| totalCount | int |
记录总数。 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/tags?repoName=nginx-alpine-go&projectId=5 HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: bce-auth-v1/5fded23b03594981872fbfadaad70ef6/2020-03-05T09:29:21Z/1800/host/0a859ce949951fe15a4eb6874a9765f9e8a6f7147f206cf47e270c34c862b8c6
4 x-bce-date:2020-03-05T09:31:19Z
响应示例
1{
2 "order": "asc",
3 "orderBy": "updateTime",
4 "orders": null,
5 "pageNo": 1,
6 "pageSize": 10,
7 "result": [
8 {
9 "createTime": "2019-06-19T03:07:42Z",
10 "createdBy": "Docker Client",
11 "digest": "sha256:7d08c36fbb6b8488c7b4968fadf0a68289d7b002342f5f9707d683052d636690",
12 "dockerPullCmd": "docker pull ccr.baidubce.com/poc/nginx-alpine-go:latest",
13 "name": "latest",
14 "size": 10240622,
15 "updateTime": "2020-02-29T12:28:59Z"
16 }
17 ],
18 "totalCount": 1
19}
删除镜像版本
接口描述
删除镜像版本。
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
注意事项
1、repoName包含斜杠特殊字符时,需要用进行url编码,比如 repoName/slash -> repoName%2Fslash
2、同一个镜像中,删除某个tag,和此tag引用了相同的digest的所有其他tag也会被删除,请慎重使用。
请求结构
1 DELETE /v1/ccr/repositories/tags?projectId={projectId}&repoName={repoName} HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query参数 | 镜像名 |
| projectId | long | 是 | Query参数 | 命名空间ID |
| tagNames | List<String> |
是 | Body 参数 | 待删除的版本名称列表,JSON 数组格式。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | boolean | 删除结果 |
| failList | List |
失败版本名称列表 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 DELETE /v1/ccr/repositories/tags?projectId=23&repoName=test HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: bce-auth-v1/123456/2020-03-05T09:29:21Z/1800/host/0a859ce949951fe15a4eb6874a9765f9e8a6f7147f206cf47e270c34c862b8c6
4 x-bce-date:2020-03-05T09:31:19Z
5
6["1.0","2.0"]
响应示例
1{
2 "result": true,
3 "failList": []
4}
创建镜像扫描任务
接口描述
创建镜像扫描任务
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1 POST /v1/ccr/repositories/tags/scan
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Body参数 | 镜像仓库名字 |
| tagName | String | 是 | Body参数 | 镜像版本名 |
| projectName | String | 是 | Body参数 | 命名空间名 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| action | String | 请求动作 |
| targetName | String | 请求目标 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 POST /v1/ccr/repositories/tags/scan HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
5
6{
7 "tagName": "latest",
8 "projectName": "project",
9 "repoName": "repo"
10}
响应示例
1{
2 "action": "true",
3 "targetName": "Create Scanner"
4}
获取镜像扫描结果列表
接口描述
返回查询到镜像扫描结果列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1GET /v1/ccr/repositories/tags/scan?projectId={projectId}&repoName={repoName}&tagName={tagName}
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-bce-date: yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query参数 | 镜像仓库名字 |
| projectId | long | 是 | Query参数 | 命名空间ID |
| tagName | String | 是 | Query参数 | 镜像版本名称 |
| pageNo | int | 否 | Query参数 | 当前页 |
| pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | List |
漏洞结果列表。 |
| result[].code | String |
漏洞编号。 |
| result[].description | String |
漏洞描述。 |
| result[].fixVersion | String |
修复版本。 |
| result[].layerAt | String |
漏洞所在镜像层,可能返回 null。 |
| result[].link | String |
漏洞详情链接。 |
| result[].packageAt | String |
所属组件。 |
| result[].severity | String |
严重程度:Unknown 未知、Negligible 可忽略、Low 较低、Medium 中等、High 严重、Critical 危急。 |
| result[].version | String |
当前组件版本。 |
| orders | List |
排序条件列表,当前可能返回 null。 |
| order | String |
排序方式。 |
| orderBy | String |
排序字段。 |
| pageNo | int |
当前页。 |
| pageSize | int |
每页记录数。 |
| totalCount | int |
记录总数。 |
| scanStatus | String |
扫描状态:Running 正在运行、Error 异常、Success 完成。 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1GET /v1/ccr/repositories/tags/scan?projectId=5&repoName=repo&tagName=latest&pageNo=1&pageSize=10 HTTP/1.1
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-bce-date: yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "order": "asc",
3 "orderBy": "code",
4 "orders": null,
5 "pageNo": 1,
6 "pageSize": 10,
7 "result": [
8 {
9 "code": "CVE-2018-14048",
10 "description": "",
11 "fixVersion": "1.6.37-r0",
12 "layerAt": null,
13 "link": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14048",
14 "packageAt": "libpng",
15 "severity": "Unknown",
16 "version": "1.6.34-r1"
17 },
18 {
19 "code": "CVE-2018-14498",
20 "description": "",
21 "fixVersion": "1.5.3-r5",
22 "layerAt": null,
23 "link": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14498",
24 "packageAt": "libjpeg-turbo",
25 "severity": "Unknown",
26 "version": "1.5.3-r3"
27 }
28 ],
29 "scanStatus": "Success",
30 "totalCount": 2
31}
评价此篇文章
