API:API密钥概述与常见问题解答

应用程序接口(API)密钥是一种无需传递用户凭据即可对 Apptio 服务API进行身份验证的方式。 API 密钥包含一个密钥对,其中包括一个公开密钥和一个秘密密钥。 公钥和秘钥的组合被用作验证请求的凭证。 每个 API 密钥最多可以有两个密钥对。 创建新的 API 密钥时,会创建一个密钥对。 您最多可以添加或删除两个密钥对。 API 密钥具有以下优势

  • 安全性: API 密钥是随机生成的,字符串较长。 Apptio 的 API 密钥长度为 60 个字符。 较高的熵使攻击者难以入侵。
  • 独立性: 在程序化调用中,使用API密钥可防止主账户(即父级用户账户)的凭据暴露给系统中的其他用户(例如同事)。
  • 有限暴露: 秘钥只在创建应用程序接口密钥时暴露给用户。 指示用户安全存储秘钥。 如果秘钥丢失或泄露,可以创建新的密钥。
  • 密钥旋转: 拥有两个活动配对密钥的功能允许用户在不中断任何自动化或程序访问的情况下旋转配对密钥。 您可以在域属性中配置API密钥轮换策略
  • 可追溯性: API 密钥始终与父用户账户相关联,并提供与普通交互会话相同级别的可追溯性。

谁可以创建API密钥?

域属性中的API密钥设置控制该域是否支持API密钥,以及支持时由谁创建。 如果启用了API密钥功能,管理员可以为自己和其他人创建API密钥。 如果 “限制API密钥创建 ”设置为false,则任何用户均可为其自身账户创建API密钥。

创建和管理 API 密钥

要为您的用户创建或管理API密钥,请点击页面顶部的“个人资料”按钮,选择“用户资料”,然后点击“API密钥”选项卡。 要为其他用户创建或管理API密钥,请点击左侧导航面板中的"首页",选择该用户的域名,然后在表格中找到该用户。 点击“详细信息”,然后点击“API密钥”选项卡。

创建应用程序接口密钥
  1. 在“API密钥”选项卡上,点击 “创建API密钥 ”。
  2. 键入密钥名称描述
  3. 选择过期策略 ,然后选择添加
  4. 注意公钥。 选择显示可显示密钥。 您只能在创建 API 密钥时查看密钥。 在程序化身份验证过程中,您将需要这个密钥。 将密匙保存在安全的地方。
  5. 选择以下选项之一:
    • 完成后返回用户页面,稍后再为环境授予API密钥访问权限。
    • 授予访问权限: 从用户已拥有访问权限的环境列表中进行选择,然后单击 “下一步 ”。 为 API 密钥选择一个或多个角色。 选择 " 下一步 ",然后选择 " 授予访问权限 "。
管理应用程序接口密钥
  1. 在“API密钥 ”选项卡中,请从以下选项中选择一项:
    • 显示密钥对: 显示或隐藏公钥及过期日期(此选项仅在配置文件视图中可用)。
    • 授予访问权限: 从用户已拥有访问权限的环境列表中进行选择,然后单击 “下一步 ”。 为 API 密钥选择一个或多个角色。 选择 " 下一步 ",然后选择 " 授予访问权限 "。
    • 禁用: 禁用按键。
  2. 单击 API 密钥以显示该 API 密钥的详细信息窗格:
    • 属性 - 显示 API 密钥的名称、轮换策略和描述。 点击编辑以更改这些值。
    • 密钥对 - 显示与该API密钥关联的密钥对及其到期日期。 要添加密钥对,请点击“+”按钮。要删除密钥对,请勾选该行开头的复选框,然后点击“删除”按钮。
    • 访问权限 - 显示与API密钥关联的环境访问权限,并提供修改和撤销访问权限的选项。
使用应用程序接口密钥

要在脚本和程序中使用 API 密钥,请参阅以下主题:

API 密钥常见问题

API 密钥的过期政策是什么?

此设置可在域属性中进行配置。

谁可以创建和管理API密钥?

此设置可在域属性中进行配置。

API密钥可用于哪些环境和角色?

API密钥可被授予访问权限,该权限范围与父用户在其用户域内任何环境所拥有的环境和角色权限相同。 出于安全考虑,API 密钥无法访问不在父用户域中的环境,除非该用户位于 MSP 提供商域中。 MSP 提供商域中的用户可以授予其 API 密钥访问权限,使其能够访问那些用户已拥有访问权限的 MSP 消费者子域中的环境。

我可以轮换我的 API 密钥吗?

您可以为一个用户(父用户)账户创建多个 API 密钥,每个 API 密钥可以有两个密钥对。 除非已过期或已明确禁用或删除,否则所有密钥都是有效的。 通过这些功能,您可以使用同一 API 密钥的新密钥对更新脚本和执行其他定期任务,而不会出现中断。 更新脚本后,可以删除未使用和过期的密钥对。

注:

若父级用户被禁用,则所有关联的API密钥也将被禁用。

能否按用户禁用 API 令牌生成功能?

是。

是否有 API 访问的审计日志?

是的,所有审计报告中都包含API密钥。

会话加密使用哪些参数?

https:// TLS1.2AES256