diff --git a/content/en/installation/linux/quick-start.md b/content/en/installation/linux/quick-start.md index f68a6678..a43b7ef0 100644 --- a/content/en/installation/linux/quick-start.md +++ b/content/en/installation/linux/quick-start.md @@ -39,6 +39,8 @@ RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ; e.g. output of: openssl rand -base64 24 ``` +Use an uppercase alphanumeric access key. Do not use unmodified Base64 output for `RUSTFS_ACCESS_KEY`, because Base64 can contain `/`, which conflicts with the AWS Signature Version 4 credential scope. See [Credential Management](/en/operations/credentials) for details. + ```bash sudo systemctl restart rustfs sudo systemctl status rustfs --no-pager # should report: active (running) diff --git a/content/en/operations/credentials.md b/content/en/operations/credentials.md index f10b5a0b..91c4500e 100644 --- a/content/en/operations/credentials.md +++ b/content/en/operations/credentials.md @@ -14,7 +14,13 @@ RUSTFS_SECRET_KEY= If neither is provided, the server falls back to the built-in default `rustfsadmin` / `rustfsadmin`. -:::warning +:::warning[Choose safe root credentials] + +[AWS Signature Version 4 (SigV4)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-signing-elements.html) embeds the access key in a slash-delimited credential scope: + +`////aws4_request` + +Do not include `/` in `RUSTFS_ACCESS_KEY`, because it causes the access key and credential scope to be parsed incorrectly. We recommend using only uppercase ASCII letters and digits (`A-Z`, `0-9`), matching the format generated by RustFS. Do not use unmodified Base64 output as an access key; use a separate strong random value for `RUSTFS_SECRET_KEY`. The default `rustfsadmin` credentials are public and well-known. The container entrypoint prints a warning but still starts. Always set non-default credentials before exposing ports 9000/9001 beyond localhost. Additionally, a multi-node cluster running with an all-default pair **must** set `RUSTFS_RPC_SECRET` (see below) — the server refuses to derive internode RPC auth from the default secret key. diff --git a/content/zh/installation/linux/quick-start.md b/content/zh/installation/linux/quick-start.md index 58140c0e..171a62a5 100644 --- a/content/zh/installation/linux/quick-start.md +++ b/content/zh/installation/linux/quick-start.md @@ -39,6 +39,8 @@ RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ; e.g. output of: openssl rand -base64 24 ``` +访问密钥请仅使用大写字母和数字。请勿直接将未经转换的 Base64 输出用于 `RUSTFS_ACCESS_KEY`,因为 Base64 可能包含 `/`,与 AWS Signature Version 4 的凭证作用域分隔符冲突。详情请参阅[凭证管理](/zh/operations/credentials)。 + ```bash sudo systemctl restart rustfs sudo systemctl status rustfs --no-pager # should report: active (running) @@ -87,4 +89,4 @@ rc object list rustfs/my-bucket - [单节点多磁盘(SNMD)](./single-node-multiple-disk.md):单台计算机上的磁盘级容错 - [多节点多磁盘(MNMD)](./multiple-node-multiple-disk.md):生产级可用性和扩展能力,并完成[安装前检查清单](../requirement/checklists/index.md) - **偏好使用容器?** 请[使用容器安装](../container/index.mdx) -- **连接应用程序**:参阅 [SDK 和示例](../../developer/sdk/index.md) \ No newline at end of file +- **连接应用程序**:参阅 [SDK 和示例](../../developer/sdk/index.md) diff --git a/content/zh/operations/credentials.md b/content/zh/operations/credentials.md index 344ac455..2d1cb537 100644 --- a/content/zh/operations/credentials.md +++ b/content/zh/operations/credentials.md @@ -14,7 +14,13 @@ RUSTFS_SECRET_KEY= 如果两者均未提供,服务器会回退到内置默认值 `rustfsadmin` / `rustfsadmin`。 -:::warning +:::warning[选择安全的根凭证] + +[AWS Signature Version 4(SigV4)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-signing-elements.html)会将访问密钥嵌入以斜杠分隔的凭证作用域: + +`////aws4_request` + +请勿在 `RUSTFS_ACCESS_KEY` 中使用 `/`,否则会导致访问密钥和凭证作用域被错误解析。建议访问密钥仅使用大写 ASCII 字母和数字(`A-Z`、`0-9`),这与 RustFS 自动生成的访问密钥格式一致。请勿直接使用未经转换的 Base64 输出作为访问密钥;请为 `RUSTFS_SECRET_KEY` 使用单独的强随机值。 默认的 `rustfsadmin` 凭证是公开且广为人知的。容器入口点会输出警告,但仍会启动。在将端口 9000/9001 暴露到 localhost 以外之前,请务必设置非默认凭证。此外,使用全默认凭证对运行的多节点集群**必须**设置 `RUSTFS_RPC_SECRET`(见下文),否则服务器会拒绝从默认密钥派生节点间 RPC 身份认证信息。 @@ -109,4 +115,4 @@ RUSTFS_RPC_SECRET= ## 根凭证之外的访问 -日常访问不应使用根凭证对。请通过端口 9001 上的控制台或 IAM 管理 API 创建权限受限的用户、组、策略和服务账户,并仅将根凭证用于管理操作。请参阅管理部分的 IAM 文档。 \ No newline at end of file +日常访问不应使用根凭证对。请通过端口 9001 上的控制台或 IAM 管理 API 创建权限受限的用户、组、策略和服务账户,并仅将根凭证用于管理操作。请参阅管理部分的 IAM 文档。