如果您最近在 crates.io 上生成了新的 API 令牌,您可能已经注意到我们新的 API 令牌创建页面以及它现在支持的一些新功能。
之前,当点击 https://crates.io/settings/tokens 上的“新令牌”按钮时,您只能选择令牌名称,没有其他选项。我们知道我们想为用户提供更大的灵活性,但在之前的用户界面中,这将非常困难,因此我们的第一步是构建一个合适的“新 API 令牌”页面。
我们的路线图包括两个称为“令牌作用域”的基本功能。第一个功能允许您将 API 令牌限制为特定的操作。例如,您可以将令牌配置为仅允许发布现有 crate 的新版本,同时禁止创建新的 crate。第二个功能提供了一个可选的限制,其中令牌可以被限制为仅适用于特定的 crate 名称。如果您想了解更多关于这些功能是如何计划和实施的,您可以查看我们相应的 跟踪问题。
为了进一步增强 crates.io API 令牌的安全性,我们优先实施了过期日期。由于我们已经接触了大部分与令牌相关的代码,这相对来说比较直接。我们很高兴地宣布,我们的“新 API 令牌”页面现在支持端点作用域、crate 作用域和过期日期。
与 github.com 上的 API 令牌创建过程类似,您可以选择不设置任何过期日期,使用预设值之一,甚至选择自定义过期日期以满足您的需求。
如果您遇到任何问题或有疑问,请随时在 Zulip 上联系我们,或在 GitHub 上打开一个 issue。
最后,我们 crates.io 团队要感谢 OpenSSF 的 Alpha-Omega 计划 和 JFrog 对 Rust 基金会 安全倡议的贡献。他们的支持对于使我们能够实施这些功能并在过去几个月对 crates.io 代码库进行大量的安全相关工作至关重要。