如果您最近在 crates.io 上生成了新的 API 令牌,您可能会注意到我们全新的 API 令牌创建页面及其现在支持的一些新功能。
以前,当您点击 https://crates.io/settings/tokens 上的“新建令牌”按钮时,您只能选择令牌名称,没有任何额外选项。我们知道我们想为用户提供更大的灵活性,但在以前的用户界面中这很难实现,所以我们的第一步是构建一个合适的“新建 API 令牌”页面。
我们的路线图包含了两个重要的功能,称为“令牌范围”(token scopes)。第一个允许您将 API 令牌限制于特定操作。例如,您可以配置一个令牌仅允许发布现有 crate 的新版本,同时禁止创建新 crate。第二个功能提供了可选的限制,令牌可以仅对特定的 crate 名称生效。如果您想详细了解这些功能是如何规划和实现的,可以查看我们相应的 跟踪议题。
为了进一步增强 crates.io API 令牌的安全性,我们优先实现了过期日期功能。由于我们已经修改了大部分与令牌相关的代码,这相对简单。我们很高兴地宣布,我们的“新建 API 令牌”页面现在支持端点范围(endpoint scopes)、crate 范围(crate scopes)和过期日期(expiration dates)。
与 github.com 上的 API 令牌创建过程类似,您可以选择不设置过期日期、使用预设选项之一,或者甚至选择一个自定义过期日期来满足您的需求。
如果您遇到任何问题或有疑问,请随时通过 Zulip 联系我们,或在 GitHub 上提交议题。
最后,我们 crates.io 团队谨向 OpenSSF 的 Alpha-Omega Initiative 和 JFrog 表示感谢,感谢他们为 Rust 基金会安全倡议所做的贡献。他们的支持对于我们实现这些功能并在过去几个月里在 crates.io 代码库上进行广泛的安全相关工作至关重要。