本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Cisco 安全平台 API 密钥
秘密值字段
以下是密钥管理器密钥中必须包含的字段:
{
"refreshToken": "refresh token value",
"organizationId": "organization ID",
"apiKeyId": "API key ID",
"apiBaseUrl": "https://api.security.cisco.com"
}
- 刷新代币
-
CiscoAPI 密钥是 OAuth 刷新令牌,有效期为 60 天。轮换过程会更新此字段。您的应用程序将此令牌交换为短期访问令牌。
- organizationId
-
拥有 API 密钥Cisco的安全云控制组织。该值
enterpriseId显示在 API 密钥页面的 URL 中。请勿使用令牌中嵌入的组织 ID。 - api KeyId
-
旋转的 API 密钥的标识符。您可以在与组织 ID 相同的 API 密钥页面上找到此值。
- api BaseUrl
-
例如,CiscoAPI 基础 URL
https://api.security.cisco.com。该值必须是没有路径、端口、查询字符串或用户信息的 HTTPS 源。
旋转还会将一个expiresDate字段写入密钥值。此字段以 ISO 8601 格式记录当前刷新令牌的到期时间。这不是您提供的字段。
密钥管理器不存储访问令牌。访问令牌的有效期约为 18 小时,因此存储的副本在大多数情况下是无效的。当您的应用程序需要一个访问令牌时,它会从刷新令牌中铸造一个访问令牌。
机密元数据字段
这种机密类型不需要轮换元数据字段。密钥管理器从密钥本身读取路由值,并且此密钥类型不使用管理员密钥。
使用流程
此轮换使用单机密架构。不需要管理员密钥。存储的刷新令牌对自己的轮换调用进行身份验证。
要创建您的密钥,请使用 CreateSecret API 调用。将密钥值设置为上述字段,并将密钥类型设置为 CiscoSecurityPlatformApiKey。要配置轮换,请使用 RotateSecret API 调用。在 RotateSecret 通话中,提供一个角色 ARN,该角色授予服务轮换密钥的权限。有关权限策略的示例,请参阅安全和权限。
在轮换期间,Secrets Manager 使用当前刷新Cisco令牌调用令牌刷新端点。Cisco返回访问令牌,在 60 天周期的第 45 天之后,它还会返回一个新的刷新令牌。Secrets Manager 将最新的刷新令牌存储为待处理版本并丢弃访问令牌。然后,它会根据 Cisco API验证待处理的令牌并将其升级为最新令牌。没有撤销步骤,因为没有Cisco提供任何使刷新令牌失效的 API。
您的应用程序从密钥中读取刷新令牌并将其交换为访问令牌。然后,它会在其 18 小时生命周期内缓存该访问令牌。每次都从密钥中读取刷新令牌,而不是对其进行硬编码。通过再次读取密钥来处理 HTTP 401 响应,因为之前的刷新令牌在Cisco发出替换令牌后可能会停止工作。
至少每 15 天轮换一次此密钥。Secrets Manager 会拒绝超过 50 天的轮换间隔,根据Cisco指导方针,至少要频繁刷新。更长的间隔也可以跳过发放替换刷新令牌的第 45 天到Cisco第 60 天之间的窗口。如果代币的剩余寿命短于您的轮换间隔,则轮换会失败并出现错误,而不是让代币过期。
过期的刷新令牌无法续订。如果发生这种情况,请在Cisco安全云控制控制台中发布新的 API 密钥并更新密钥。监控轮转故障,以免长时间停机达到该状态。