跳转到主要内容

这是本节的多页打印视图。 .

返回本页常规视图.

Silo 服务端(minio)

Silo 服务端

minio server 命令用于启动 Silo 服务端进程。可执行文件与子命令名称 minio server 属于兼容契约:

minio server /mnt/disk{1...4}

有关在裸金属环境中部署 minio server 的示例,请参阅 安装与管理

有关在 Kubernetes 环境中部署 minio server 的示例,请参阅 部署 Silo Tenant

语法

启动 minio server 进程。

该命令语法如下:

minio server [FLAGS] HOSTNAME/DIRECTORIES [HOSTNAME/DIRECTORIES..]

该命令接受以下参数:

HOSTNAME

mc-cmd

minio server 进程的主机名。

对于单机部署,此字段为 可选。 仅使用 DIRECTORIES 参数即可启动一个单机 server 进程。

对于分布式部署,请指定部署中每个 minio server 的主机名。 这一组 minio server 进程共同表示一个 服务器池

HOSTNAME 支持扩展记法 {x...y},用于表示按顺序排列的一组主机名。Silo 要求 使用连续主机名,以识别该集合中的每个 minio server 进程。

例如,https://minio{1...4}.example.net 会扩展为:

  • https://minio1.example.net
  • https://minio2.example.net
  • https://minio3.example.net
  • https://minio4.example.net

你必须在 服务器池 中每台主机上,使用 相同HOSTNAMEDIRECTORIES 组合来运行 minio server 命令。

每增加一个 HOSTNAME/DIRECTORIES 对,就表示增加一个 Server Set,用于 Silo 部署的水平扩展。有关服务器池的更多信息,请参阅 服务器池

DIRECTORIES

mc-cmd

Required

minio server 进程用作存储后端的目录或驱动器。

DIRECTORIES 支持扩展记法 {x...y},用于表示按顺序排列的一组文件夹或驱动器。例如,/mnt/disk{1...4} 会扩展为:

  • /mnt/disk1
  • /mnt/disk2
  • /mnt/disk3
  • /mnt/disk4

首次启动 minio 进程时,DIRECTORIES 路径 必须 为空。

minio server 进程至少需要 4 个驱动器或目录才能启用 erasure coding

警告

重要

Silo 建议使用本地直连驱动器,即 DIRECTORIES 路径指向主机上的各个驱动器。除非已验证完整技术栈,应避免把网络附加存储用作主对象数据存储,因为其网络延迟和故障语义与本地直连存储不同。

在开发或评估场景中,你可以在单个物理卷上指定多个逻辑目录或分区,以便在部署中启用纠删码。

对于生产环境,不要 把同一物理磁盘上的多个逻辑目录或分区当作独立故障域。表面上的驱动器数量不能提供物理磁盘冗余。

--address

mc-cmd

Optional

minio server 进程绑定到特定网络地址和端口号。 将地址和端口指定为 ADDRESS:PORT,其中 ADDRESS 是 IP 地址或主机名,PORT 是主机系统上有效且开放的端口。 MinIO 同时支持 IPv4 和 IPv6 寻址,前提是指定地址可路由且可解析。

若要为主机上配置的所有 IP 地址或主机名修改端口号,仅指定 :PORT 即可,其中 PORT 是主机上有效且开放的端口。

说明

变更: RELEASE.2023-01-02T09-40-09Z

你可以通过配置 hosts 文件,让 MinIO 仅监听特定 IP。 例如,如果机器的 /etc/hosts 文件包含以下内容:

127.0.1.1       minioip
127.0.1.2       minioip

类似下面的命令会在两个已配置 IP 地址的 9000 端口上监听 API 调用。

minio server --address "minioip:9000" ~/miniodirectory

若省略该参数,minio 会绑定到主机上所有已配置 IPv4 地址、IPv6 地址和主机名的 9000 端口。

--console-address

mc-cmd

Optional

为内置 MinIO Console 指定静态端口。

省略时,MinIO 会在 server 启动时生成动态端口。 MinIO server 会将该端口输出到系统日志。

--ftp

mc-cmd

Optional

启用并配置 File Transfer Protocol(FTP)或 File Transfer Protocol over SSL/TLS(FTPS)服务器。 多次使用该 flag 可按键值对指定地址端口、被动端口范围或 TLS 证书与密钥。

有效键如下:

  • address,用于指定服务器使用的单个端口,通常为 8021

  • (Optional) passive-port-range,用于限制服务器可用于传输数据的端口范围,例如防火墙规则较严格、限制 FTP 服务器可为连接请求端口时

  • (Optional) tls-private-key,用于指定用户私钥路径,以便通过 TLS 访问 MinIO 部署

    tls-public-cert 配合使用。

  • (Optional) tls-public-cert,用于指定证书路径,以便通过 TLS 访问 MinIO 部署

    tls-private-key 配合使用。

对于已启用 TLS 的 MinIO 部署,省略 tls-private-keytls-public-key,可让 MinIO 使用部署默认 TLS 密钥。 更多信息请参阅 网络加密(TLS)。 仅当你要使用与 MinIO 默认值不同的一组 TLS 证书和密钥时,才需要指定证书与私钥(例如使用不同域名)。

例如:

minio server http://server{1...4}/disk{1...4} \
--ftp="address=:8021"                         \
--ftp="passive-port-range=30000-40000"        \
--ftp="tls-private-key=path/to/private.key"   \
--ftp="tls-public-cert=path/to/public.crt"    \
...
--sftp

mc-cmd

Optional

启用并配置 SSH File Transfer Protocol(SFTP)服务器。 可多次使用以指定所需的每个键值对。

下表列出有效键。

说明

有效值

address

用于连接到 SFTP 的端口。

任意有效端口号,通常为 8022

ssh-private-key

用户私钥文件路径。

用于密钥文件的绝对路径,或相对于当前位置的相对路径。

trusted-user-ca-key

指定一个文件,其中包含受信任证书颁发机构的公钥,该机构可对用于身份验证的用户证书签名。 文件必须包含 user principals list,且列表必须包含可使用该密钥进行身份验证的用户。

用户受信任证书颁发机构公钥文件的绝对路径,或相对于当前位置的相对路径。

pub-key-algos

以逗号分隔的公钥算法列表。

ssh-ed25519
[email protected]
[email protected]
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
rsa-sha2-256
rsa-sha2-512
ssh-rsa
ssh-dss

kex-algos

按优先级顺序排列的、以逗号分隔的密钥交换算法列表。

curve25519-sha256
[email protected]
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group14-sha1
diffie-hellman-group1-sha1

cipher-algos

以逗号分隔的支持的加密算法列表

aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]
[email protected]
arcfour256
arcfour128
arcfour
aes128-cbc
3des-cbc

mac-algos

按优先级顺序排列的、以逗号分隔的 MAC 算法列表。 基于 RFC 4253 section 6.4,但 hmac-md5 变体除外(已终止生命周期)。

[email protected]
[email protected]
hmac-sha2-256
hmac-sha2-512
hmac-sha1
hmac-sha1-96

disable-password-auth

禁用密码认证。

true

例如:

minio server http://server{1...4}/disk{1...4}                                 \
--sftp="address=:8022" --sftp="ssh-private-key=/home/miniouser/.ssh/id_rsa"   \
--sftp="kex-algos=diffie-hellman-group14-sha256,[email protected]" \
...
--certs-dir, -S

mc-cmd

Optional

指定包含证书的文件夹路径,minio 进程使用该路径中的证书配置 TLS/SSL 连接。

指定文件夹的内容必须符合 default path structure。 例如,--certs-dir /etc/minio 的路径内容应类似如下:

/etc/minio
  private.key
  public.crt
  domain.tld/
    private.key
    public.crt
  CAs/
    full-chain-ca.crt

省略时使用默认目录路径:

  • Linux/macOS: ${HOME}/.minio/certs
  • Windows: %%USERPROFILE%%\.minio\certs.

有关 TLS/SSL 连接的更多信息,请参阅 网络加密(TLS)

警告

重要

MinIO Server RELEASE.2023-12-09T18-17-51Z 移除了已弃用参数 --config-dir | -C。 使用该 flag 的部署可能会在未启用 TLS 的情况下启动。 请将这些参数替换为 --certs-dir | -S 并重启,以重新启用 TLS。

--quiet

mc-cmd

Optional

禁用启动信息输出。

--anonymous

mc-cmd

Optional

在日志中隐藏敏感信息。

--json

mc-cmd

Optional

JSON 格式输出 server 日志和启动信息。

说明

说明

你可以通过在 MINIO_OPTS 环境变量中设置上述任意 minio 参数来定义它们。 该变量的值是一个字符串,包含你希望在启动 MinIO Server 时设置的上述参数及其对应取值。

设置

你可以通过定义额外的 Configuration ValuesEnvironment Variables,对 MinIO 服务端进程执行其他自定义配置。

许多配置值和环境变量定义的是同一个值。 如果同时设置配置值及其对应环境变量,MinIO 使用环境变量中的值。

1 - 设置概览

minio server 进程将其配置存储在存储后端 directory 中。

MinIO 设置

MinIO 设置定义 MinIO server 进程的运行时行为。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

其他可用于自定义的设置包括:

1.1 - 核心设置

本页介绍用于控制 MinIO 进程核心行为的设置。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

MinIO Server CLI 选项

MINIO_OPTS

envvar

此变量没有对应的配置项,因为这些设置在服务器启动时生效。

可选

设置一个 参数 字符串,在启动 MinIO Server 时使用。

对于采用推荐 MinIO systemd 服务的类 Unix 系统,请使用 /etc/default/minio 文件并创建环境变量 MINIO_OPTS,用于指定要附加到 minio systemd 进程的参数:

# Editing /etc/default/minio

MINIO_OPTS=' --console-address=":9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '

对于在命令行运行 minio 的系统,MINIO_OPTS 是可选项。 如需使用,请按标准 shell 语义声明该环境变量,然后在启动 MinIO Server 时引用该环境变量:

export MINIO_OPTS=' --console-address=":9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '

minio server $MINIO_OPTS ...

# The above is equivalent to running the following:
# minio server --console-address=":9001" \
#              --ftp="address=:8021"     \
#              --ftp="passive-port-range=30000-40000"
警告

重要

minio server 命令不会直接读取 $MINIO_OPTS。 该变量仅在按上述方式使用时才会生效。

存储卷

MINIO_VOLUMES

envvar

minio server 进程用作存储后端的目录或磁盘。

在功能上等价于设置 minio server DIRECTORIES。 在通过环境文件配置 MinIO 运行时使用此值。

此设置没有对应的配置项。

环境变量文件路径

MINIO_CONFIG_ENV_FILE

envvar

指定 MinIO server 进程用于加载环境变量的文件完整路径。

对于由 systemd 管理的文件,将该值设置为环境文件路径(/etc/default/minio),以便在使用 mc admin service restart 重启部署时,指示 MinIO 重新加载该文件中的变更。

此设置没有对应的配置项。

过期处理工作线程

MINIO_ILM_EXPIRY_WORKERS

envvar

指定用于处理按 ILM 过期规则配置对象过期任务的工作线程数。 未设置时,MinIO 默认最多使用可用处理器核心数的一半。

此设置没有对应的配置项。

域名

MINIO_DOMAIN

envvar

为 MinIO 部署启用 Virtual Host 风格请求。 将该值设置为完全限定域名(FQDN),使 MinIO 能够接受传入的虚拟主机请求。

省略此设置时,MinIO 仅接受默认的 path-style 请求。

例如,某个 MinIO 部署分配的 FQDN 为 minio.example.net

  • 使用 path-style 访问时,应用可通过完整路径 minio.example.net/mybucket 访问存储桶。
  • 使用 virtual-host 访问时,应用可通过虚拟主机 mybucket.minio.example.net/ 访问存储桶。
警告

重要

如果配置了 MINIO_DOMAIN,你 必须 将指定 FQDN 的所有子域名视为专用于存储桶名称。 任何与这些域名冲突的 MinIO 服务(例如复制目标)都可能因为冲突而表现出意外或非预期行为。

例如,若设置 MINIO_DOMAIN=minio.example.net,则 不能minio.example.net 的任何子域名(即 *.minio.example.net 形式)分配给任何 MinIO 服务或目标。 这包括用于 bucketbatchsite replication 的主机名。

此设置没有对应的配置项。

扫描器速度

MINIO_SCANNER_SPEED

envvar

scanner speed

mc-conf

用于在平衡 MinIO 读写性能与扫描进程时,管理 scanner 的最大等待周期。

MinIO 使用 scanner 执行 存储桶复制站点复制生命周期管理自愈 任务。

有效值包括:

fastest

移除扫描器在读/写延迟上的等待时间,使扫描器以最高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。

fast

将扫描器在读/写延迟上的等待时间设置为较短, 使扫描器以更高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。

default

将扫描器在读/写延迟上的等待时间设置为中等, 使扫描器以平衡的速度和 IOPS 消耗运行。 此设置旨在在保持读写性能的同时允许扫描器持续工作。

slow

将扫描器在读/写延迟上的等待时间设置为中等, 此时扫描器以较低速度和 IOPS 消耗运行。 该设置在降低扫描器性能的同时,可提供更好的读写性能。

可能影响依赖扫描器的功能,例如生命周期管理和复制。

slowest

将扫描器在读/写延迟上的等待时间设置为较长, 此时扫描器以显著更低的速度和 IOPS 消耗运行。 该设置优先保障读写操作,但可能以牺牲扫描器操作为代价。

可能影响依赖扫描器的功能,例如生命周期管理和复制。

批量复制

此设置没有对应的配置项。

数据压缩

以下部分记录用于为对象启用数据压缩的设置。 有关如何使用这些配置设置的教程,请参见 数据压缩

本节中的所有设置都归属于以下顶层键:

compression

mc-conf

启用压缩

MINIO_COMPRESSION_ENABLE

envvar

compression enable

mc-conf

可选

设置为 on 以对新对象启用数据压缩。 默认为 off

启用或禁用数据压缩不会更改现有对象。

允许加密

MINIO_COMPRESSION_ALLOW_ENCRYPTION

envvar

compression allow_encryption

mc-conf

可选

设置为 on 以在压缩后对对象进行加密。 默认为 off

说明

对压缩对象加密可能会削弱安全性

MinIO 强烈不建议对压缩对象进行加密。 如果你需要加密,请仔细评估可能泄露加密对象内容信息的风险。

压缩扩展名

MINIO_COMPRESSION_EXTENSIONS

envvar

compression extensions

mc-conf

可选

要压缩的文件扩展名列表,以逗号分隔。 设置新的扩展名列表会替换先前已配置的列表。 默认为 ".txt, .log, .csv, .json, .tar, .xml, .bin"

说明

变更: RELEASE.2024-03-15T01-07-19Z

可指定 "*" 以指示 MinIO 压缩所有受支持的文件类型。

即使在此参数中显式指定,MinIO 也不支持压缩 Excluded File Types 列表中的文件类型。

压缩 MIME 类型

MINIO_COMPRESSION_MIME_TYPES

envvar

compression mime_types

mc-conf

可选

要压缩的 MIME 类型列表,以逗号分隔。 设置新的类型列表会替换先前已配置的列表。 默认为 "text/*, application/json, application/xml, binary/octet-stream"

说明

默认排除文件

某些类型的文件无法显著减小体积。 MinIO 不会 压缩这些文件,即使它们在 mime_types 参数中被指定。 详见 Excluded types

注释

此设置没有环境变量选项。 请改用配置项。

compression comment

envvar

可选

指定一个与数据压缩配置关联的注释。

纠删码条带大小

MINIO_ERASURE_SET_DRIVE_COUNT

envvar

此设置没有对应的配置项。

可选

应用于指定 服务器池 中所有驱动器的 erasure set size

如果设置此值,你 必须 在初始化集群 之前 完成设置。 集群初始化后,所选条带大小为 不可变,并会影响后续添加到集群中的所有 服务器池。

MinIO SUBNET 用户应先登录并提交 issue,讨论条带大小设置后再在任何环境中实施。

注意

警告

除非 MinIO 工程团队明确指导,否则 不要 更改条带大小设置。

条带大小变更会对部署功能、可用性、性能和行为产生重大影响。 MinIO 的条带选择算法已为大多数工作负载设置了适当默认值。 偏离该默认值来调整条带大小并不常见,通常也没有必要或不被建议。

最大对象版本数

MINIO_API_OBJECT_MAX_VERSIONS

envvar

api object_max_versions

mc-conf

可选

定义每个对象允许的默认最大版本数。

默认情况下,MinIO 允许每个对象的版本数最高达到 Int64 的最大值,即超过 9.2 quintillion。

说明

说明

RELEASE.2023-08-04T17-40-21ZRELEASE.2024-03-26T22-10-45Z 之间的 MinIO 版本,默认上限为 10,000 个对象版本。 可使用此设置将该上限覆盖为其他值。

为对象设置任意高的版本数可能导致某些操作(如 LIST)性能下降。 在使用低成本硬件或机械硬盘(HDD)的系统上,这一点尤为明显。 对于每个对象会生成数千个或更多版本的应用或工作负载,可能需要进行设计或架构评审,以缓解潜在的性能下降。

将上限设置为不超过 100,通常可满足大多数常见使用场景。

客户端源地址信任

MINIO_API_TRUSTED_PROXIES

envvar

指定哪些对端有资格告诉服务器"请求来自哪里"。

默认情况下,MinIO 会采信来自任何对端的 X-Forwarded-ForX-Real-IP 与 RFC 7239 Forwarded 头,因此一个能直接连到 API 端口的客户端可以自行设定它表面上的源地址。该地址会流入 aws:SourceIp 策略条件、审计日志的 remotehost 字段,以及事件通知的 Host 字段。

将其设为以逗号分隔的地址或 CIDR 列表,则 采信名单内对端送来的转发头。此时转发链会从右向左、跳过名单内的跳数来解析,这也会丢弃"追加型代理"在链首留下的、由客户端自己提供的那一项——nginx 默认的 $proxy_add_x_forwarded_for 写法与 HAProxy 追加的第二行头都会产生这一项。

将其设为 none,则完全不采信任何转发头,始终使用对端地址。

说明

说明

不设置是默认值,保持历史行为,因此在你主动配置之前该设置完全惰性。

要列出 代理本身,而不是它们所在的网段。名单内的条目在遍历转发链时会被跳过,因此一个同时覆盖了客户端的网段,等于让那些客户端可以伪造。多节点部署必须把自己各节点的地址也列进去,因为 MinIO 会在节点之间转发部分请求。回环地址始终被视为可信对端,以便 FTP 与 SFTP 能正确归属其会话。取值格式错误、或没有指向任何代理,都会阻止启动。

如果你使用 IpAddressNotIpAddress 策略条件,那么在此设置指明你的代理之前(或部署本身除代理外不可达之前),这些条件是无法强制执行的。

此设置没有对应的配置项。

旧版存储桶资源匹配

MINIO_API_LEGACY_BUCKET_RESOURCE_MATCH

envvar

设为 on 可恢复桶级请求在 IAM 策略资源匹配上的历史行为。

默认情况下,有十二个桶级写操作不再能通过 arn:aws:s3:::mybucket/* 这样的对象级资源模式获得授权。动作清单以及正确授予它们的策略改法,见存储桶资源与对象资源

设为 on 会回到"把桶级请求与字符串 mybucket/ 相匹配"的做法,而对象模式同样命中该字符串。该值在启动时读取一次,仅用作更新存量策略期间的临时手段。

警告

这会恢复一处过度授予

正是这种历史匹配方式,让一个只持有 arn:aws:s3:::mybucket/*s3:* 的主体能够改写桶策略(包括把桶变为公开),或者直接删除该桶。这个开关是全有全无的:为了一个动作打开它,会把十二个动作一并放开。

此设置没有对应的配置项。

1.2 - Root 访问设置

本页介绍用于控制 MinIO 进程 root(超级用户)访问权限的设置。 root 用户具有完整访问权限,可在 MinIO 部署上执行操作。

即使使用 MinIO Key Encryption Service 或其他密钥管理工具,也必须配置 Root User 和 Root Password。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

Root User

MINIO_ROOT_USER

envvar

root 用户的访问密钥。

注意

警告

如果未设置 MINIO_ROOT_USERminio 默认使用 minioadmin

在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ROOT_USER 指定唯一、足够长且随机的值。

此设置没有对应的配置变量。 请改用环境变量。

Root Password

MINIO_ROOT_PASSWORD

envvar

root 用户的密钥。

注意

警告

如果未设置 MINIO_ROOT_PASSWORDminio 默认使用 minioadmin

在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ROOT_PASSWORD 指定唯一、足够长且随机的值。

此设置没有对应的配置变量。 请改用环境变量。

Root 访问

MINIO_API_ROOT_ACCESS

envvar

api root-access

mc-conf

说明

新增: MinIO

Server RELEASE.2023-05-04T21-44-30Z

设置为 on 可启用 root 用户账号,设置为 off 可禁用该账号。 禁用 root 服务账户时,也会禁用所有与 root 关联的服务账户,但用于站点复制的账号除外。 默认值为 on

警告

重要

如果通过此设置禁用 root API 访问,你 仍然必须 为内部使用设置 root user 和 root password。

在禁用 root 账号之前,请确保至少存在一个其他管理员用户,例如具备 consoleAdmin 策略的用户。 如果没有其他管理员用户,禁用 root 账号会导致该部署的管理访问被锁定。

你可以使用此变量临时覆盖配置项,重新启用对部署的 root 访问。

如果发生意外锁定,要进行重置,请将 MINIO_API_ROOT_ACCESS 设为 on 以覆盖此设置,并临时重新启用 root 账号。 随后你可以将此设置改为 on 完成必要的用户/策略调整,以确保可通过其他非 root 账号进行正常管理访问。

唯一 Root 凭证

说明

新增: Server

RELEASE.2024-03-03T17-50-39Z

如果同时满足以下所有条件,MinIO 会自动生成唯一的 root 凭证:

当这些条件在启动时满足后, MinIO 会使用 KMS 和 hash-based message authentication code (HMAC) 为该部署生成唯一的 root 凭证。

如果 MinIO 生成了此类凭证, 则用于生成这些凭证的密钥 必须 保持不变,并且必须持续存在。 该部署中的所有数据都使用此密钥加密!

如果要轮换已生成的 root 凭证, 请先在 KMS 中生成新密钥,然后将 MINIO_KMS_KES_KEY_NAME 的值更新为该新密钥。

1.3 - 纠删码设置

本页介绍用于配置写入 MinIO 集群对象时所使用 纠删码 校验 的相关设置。 这会影响 MinIO 如何使用驱动器空间,以及 MinIO 如何在驱动器丢失或类似问题发生时恢复已存储对象。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

标准存储类

说明

说明

MinIO Storage ClassesAWS Storage Classes 不同。

AWS Storage Classes 指将给定对象存储到的特定存储层级,例如 hotglacier 存储。 MinIO Storage Classes 会影响所使用的纠删码校验设置,并与对象的 可用性与韧性 相关。

如需在不同类型存储之间分层(例如用于成本管理),请参见 对象迁移(”Tiering”)

MINIO_STORAGE_CLASS_STANDARD

envvar

storage_class standard

mc-conf

该部署的 parity level。 MinIO 会使用该校验值对采用默认 STANDARD 存储类写入的对象进行分片。

MinIO 会参考请求元数据中的 x-amz-storage-class 头,以确定应为对象分配哪个存储类。 设置该头的具体语法或方式取决于与 MinIO 服务器交互时所使用的方法。

请使用 EC:M 记法指定该值,其中 M 表示要为对象创建的校验块数量。

下表列出了基于部署中初始服务器池 erasure set size 的默认值:

纠删集合大小 默认校验 (EC:N)
1 EC:0
2-3 EC:1
4-5 EC:2
6 - 7 EC:3
8 - 16 EC:4

支持的最小值是 0,表示不提供纠删码保护。 此类部署的可用性/韧性完全依赖底层存储控制器或存储资源。

最大值取决于部署中初始服务器池的纠删集合大小,其上限为 ERASURE_SET_SIZE2\frac{\text{ERASURE\_SET\_SIZE}}{2}。 例如,纠删集合条带大小为 16 的部署,其标准校验最大值为 8。

可在启动后将该值更改为 0 与该纠删集合大小上限之间的任意值。 MinIO 只会将变更后的校验值应用于新写入对象。 现有对象会保留其创建时的校验值。

降低冗余存储类

说明

说明

MinIO Storage ClassesAWS Storage Classes 不同。

AWS Storage Classes 指将给定对象存储到的特定存储层级,例如 hotglacier 存储。 MinIO Storage Classes 会影响所使用的纠删码校验设置,并与对象的 可用性与韧性 相关。

如需在不同类型存储之间分层(例如用于成本管理),请参见 对象迁移(”Tiering”)

MINIO_STORAGE_CLASS_RRS

envvar

storage_class rrs

mc-conf

用于以 REDUCED 存储类写入对象的 parity level

MinIO 会参考请求元数据中的 x-amz-storage-class 头,以确定应为对象分配哪个存储类。 设置该头的具体语法或方式取决于与 MinIO 服务器交互时所使用的方法。

请使用 EC:M 记法指定该值,其中 M 表示要为对象创建的校验块数量。

该值 必须 小于或等于 MINIO_STORAGE_CLASS_STANDARD

对于纠删集合大小小于 2 的部署,不能设置此值。 纠删集合大小大于 1 的部署默认值为 EC:1。 纠删集合大小为 1 的部署默认值为 EC:0

校验保留优化

MINIO_STORAGE_CLASS_OPTIMIZE

envvar

storage_class optimize

mc-conf

默认情况下,如果目标纠删集合维持写入法定人数(write quorum) 有一个或多个驱动器离线,MinIO 会自动“升级”对象的校验。 该行为有助于确保给定对象与写入健康纠删集合的对象保持相同可用性。

将该设置指定为 capacity,可指示 MinIO 不为对象创建任何额外校验。 这会优先保障集群总体容量,但代价是当该纠删集合中更多驱动器故障时,对象可用性可能降低。

注释

MINIO_STORAGE_CLASS_COMMENT

envvar

此设置没有对应的配置项。

为存储类设置添加注释。

1.4 - Silo Console 设置

说明

变更: RELEASE.2025-05-24T17-08-30Z

Console 现在仅提供对象浏览能力,类似于通过 mc 工具可用的能力。 对于用户管理等管理类交互,请使用 mc admin 命令。

本页中的部分设置可能已不再适用于较新的部署。

本页介绍用于管理 MinIO Console 访问与行为的设置。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

浏览器设置

以下设置用于控制内嵌 MinIO Console 的行为。

MinIO Console

可选

MINIO_BROWSER

envvar

指定 off 以禁用内嵌 MinIO Console。

此设置没有对应的配置变量。 请改用环境变量。

动画

可选

MINIO_BROWSER_LOGIN_ANIMATION

envvar

说明

新增: MinIO

Server RELEASE.2023-05-04T21-44-30Z

指定 off 以禁用 MinIO Console 的动画登录界面。 默认为 on

此设置没有对应的配置变量。 请改用环境变量。

浏览器重定向

可选

MINIO_BROWSER_REDIRECT

envvar

说明

新增: MinIO

Server RELEASE.2023-09-16T01-01-47Z

指定是否将来自 Web 浏览器的请求自动重定向到 Console 地址。 默认为 true

此设置没有对应的配置变量。 请改用环境变量。

浏览器重定向 URL

可选

MINIO_BROWSER_REDIRECT_URL

envvar

指定 MinIO Console 监听传入连接的 Fully Qualified Domain Name (FQDN)。

如果你希望 MinIO Console 仅通过反向代理服务对外提供,必须指定由该服务管理的主机名。

例如,假设某个反向代理被配置为将 https://example.net/minio/ 路由到 MinIO Console。 你必须将此环境变量设置为与该主机名一致,这样 Console 才会使用该主机名进行监听并响应请求。

如果省略此变量,Console 会在运行 MinIO Server 的主机所关联的所有 IP 地址或主机名上监听并响应。

此设置没有对应的配置变量。 请改用环境变量。

会话时长

可选

MINIO_BROWSER_SESSION_DURATION

envvar

说明

新增: MinIO

Server RELEASE.2023-08-23T10-07-06Z

指定使用 MinIO Console 时浏览器会话的持续时间。

MinIO 支持以下时间单位:

  • s - 秒,”60s”
  • m - 分钟,”60m”
  • h - 小时,”24h”
  • d - 天,”7d”

默认为 12h

此设置没有对应的配置变量。 请改用环境变量。

日志查询 URL

可选

MINIO_LOG_QUERY_URL

envvar

指定 PostgreSQL 服务的 URL,MinIO 会将 Audit logs 写入该服务。 内嵌 MinIO Console 提供日志搜索工具,可查询 PostgreSQL 服务中收集的日志。

此设置没有对应的配置变量。 请改用环境变量。

内容安全策略

可选

将 MinIO Console 配置为在 HTTP 响应中生成 Content-Security-Policy 头。 默认为 default-src 'self' 'unsafe-eval' 'unsafe-inline';

MINIO_BROWSER_CONTENT_SECURITY_POLICY

envvar

export MINIO_BROWSER_CONTENT_SECURITY_POLICY="default-src 'self' 'unsafe-eval' 'unsafe-inline';"
browser csp_policy

mc-conf

mc admin config set browser \
   csp_policy="default-src 'self' 'unsafe-eval' 'unsafe-inline';" \
   [ARGUMENT=VALUE ...]

严格传输安全

可选

将 MinIO Console 配置为在 HTTP 响应中生成 Strict-Transport-Security 头。

要生成该头,你 必须 使用 MINIO_BROWSER_HSTS_SECONDShsts_seconds 设置持续时间。 其他 HSTS 设置是可选的。

MINIO_BROWSER_HSTS_SECONDS

envvar

已配置策略生效的 max_age(秒)。 默认为 0,即禁用。 你 必须 配置 非零 时长,才能启用 Strict-Transport-Security 头。

export MINIO_BROWSER_HSTS_SECONDS=31536000
MINIO_BROWSER_HSTS_INCLUDE_SUB_DOMAINS

envvar

设置为 on 可将已配置的 HSTS 策略同时应用到所有 MinIO Console 子域名。 默认为 off

export MINIO_BROWSER_HSTS_INCLUDE_SUB_DOMAINS="on"
MINIO_BROWSER_HSTS_PRELOAD

envvar

设置为 on 可指示客户端浏览器将 MinIO Console 域名加入其 HSTS 预加载列表。 默认为 off

export MINIO_BROWSER_HSTS_PRELOAD="on"

以下配置项需要重启服务后才会生效。 要重启服务,请使用 mc admin service restart

browser hsts_seconds

mc-conf

已配置策略生效的 max_age(秒)。 默认为 0,即禁用。 你 必须 配置 非零 时长,才能启用 Strict-Transport-Security 头。

mc admin config set browser \
   hsts_seconds="31536000" \
   [ARGUMENT=VALUE ...]
browser hsts_include_subdomains

mc-conf

设置为 on 可将已配置的 HSTS 策略同时应用到所有 MinIO Console 子域名。 默认为 off

mc admin config set browser \
   hsts_include_subdomains="on" \
   hsts_seconds="31536000" \
   [ARGUMENT=VALUE ...]
browser hsts_preload

mc-conf

设置为 on 可指示客户端浏览器将 MinIO Console 域名加入其 HSTS 预加载列表。 默认为 off

mc admin config set browser \
   hsts_preload="on" \
   hsts_seconds="31536000" \
   [ARGUMENT=VALUE ...]

示例

以下示例展示了给定配置项对应的渲染后响应头。 等价的环境变量会生成相同结果。 所有示例均使用 31536000,即一个自然年(365 天)的秒数。

hsts_seconds

mc admin config set ALIAS browser hsts_seconds=31536000
Strict-Transport-Security: max-age=31536000

hsts_include_subdomains

mc admin config set ALIAS browser hsts_seconds=31536000 hsts_include_subdomains=on
Strict-Transport-Security: max-age=31536000; includeSubDomains

hsts_preload

mc admin config set ALIAS browser hsts_seconds=31536000 hsts_include_subdomains=on hsts_preload=on
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

来源策略

可选

将 MinIO Console 配置为在 HTTP 响应中生成 Referrer-Policy 头。 默认为 strict-origin-when-cross-origin

MINIO_BROWSER_REFERRER_POLICY

envvar

export MINIO_BROWSER_REFERRER_POLICY="strict-origin-when-cross-origin"
browser referrer_policy

mc-conf

mc admin config set browser \
   referrer_policy="strict-origin-when-cross-origin" \
   [ARGUMENT=VALUE ...]

Prometheus 设置

以下设置用于管理 MinIO 与你的 Prometheus 服务之间的交互方式。

Prometheus URL

可选

MINIO_PROMETHEUS_URL

envvar

指定已配置为 抓取 MinIO 指标 的 Prometheus 服务 URL。

MinIO Console 使用 minio-job Prometheus 抓取作业,将集群指标填充到 Dashboard

如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_URL

此设置没有对应的配置变量。 请改用环境变量。

Prometheus Job ID

可选

MINIO_PROMETHEUS_JOB_ID

envvar

指定用于 抓取 MinIO 指标 的自定义 Prometheus job ID。

MinIO 默认为 minio-job

如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_JOB_ID

此设置没有对应的配置变量。 请改用环境变量。

Prometheus Auth Token

可选

MINIO_PROMETHEUS_AUTH_TOKEN

envvar

指定 Console 连接 Prometheus 服务时应使用的 basic auth token

例如,你使用的 basic auth token 可能如下所示:

eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwcm9tZXRoZXVzIiwic3ViIjoibWluaW8iLCJleHAiOjQ4NTAwMzg0MDJ9.GZCKR3d0FH2TCvNHSd39HaVfSuQVVV0s8glICBDmhT51V6CQ_hw8gTYlKHJmcpR8aHkqiJwCqcYJhaMmqwe00XY

如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_AUTH_TOKEN

此设置没有对应的配置变量。 请改用环境变量。

1.5 - 指标与日志设置

本页面介绍用于控制 MinIO 指标与日志相关行为的设置。 更多信息请参见 指标与告警

这些设置用于将常规 minio server 日志和审计日志发布到 HTTP webhook。 更完整的文档请参见 将服务日志或审计日志发布到外部服务

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

Prometheus 认证

此设置控制 MinIO 如何向 Prometheus 进行认证。

MINIO_PROMETHEUS_AUTH_TYPE

envvar

此设置没有对应的配置项。

指定 Prometheus 抓取端点 的认证模式。

  • jwt - 默认 MinIO 要求抓取客户端提供 JWT token 以认证请求。

    使用 mc admin prometheus generate 生成所需的 JWT bearer token。

  • public MinIO 不要求抓取客户端对其请求进行认证。

服务器日志

以下部分介绍将 minio server 日志发布到 HTTP webhook 端点的 MinIO 配置设置。 有关这些设置的更完整文档和使用教程,请参见 将服务日志发布到 HTTP Webhook

定义多个端点

你可以通过为每组相关日志环境变量追加唯一标识符 _ID,将多个 webhook 端点指定为日志目标。 例如,以下设置定义了两个不同的服务器日志 webhook 端点:

环境变量
export MINIO_LOGGER_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN"
export MINIO_LOGGER_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net"

export MINIO_LOGGER_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN"
export MINIO_LOGGER_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-2.example.net"
配置项
mc admin config set logger_webhook:primary \
   endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...]

mc admin config set logger_webhook:secondary \
   endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]

设置

Enable

MINIO_LOGGER_WEBHOOK_ENABLE

envvar

指定 "on" 以启用将 minio server 日志发布到 HTTP webhook 端点。

需要同时指定 MINIO_LOGGER_WEBHOOK_ENDPOINT

logger_webhook

mc-conf

用于配置将日志发送到 HTTP webhook 端点的顶层配置键。

端点

必填

MINIO_LOGGER_WEBHOOK_ENDPOINT

envvar

logger_webhook endpoint

mc-conf

webhook 的 HTTP 端点。

认证 Token

可选

MINIO_LOGGER_WEBHOOK_AUTH_TOKEN

envvar

端点所需类型的认证 token。 对于不需要认证的端点可省略。

为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。

例如:对于 Bearer token,请添加前缀 Bearer

export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"

详情请参阅目标服务的文档。

该环境变量对应 logger_webhook auth_token 配置项。

logger_webhook auth_token

mc-conf

端点所需类型的认证 token。 对于不需要认证的端点可省略。

为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。

例如:对于 Bearer token,请添加前缀 Bearer

   mc admin config set myminio logger_webhook   \
      endpoint="https://webhook-1.example.net"  \
      auth_token="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

   mc admin config set myminio logger_webhook   \
      endpoint="https://webhook-1.example.net"  \
      auth_token="ServiceXYZ 1a2b3c4f5e"

详情请参阅目标服务的文档。

批大小

说明

新增: MinIO

Server RELEASE.2024-03-10T02-53-48Z

可选

MINIO_LOGGER_WEBHOOK_BATCH_SIZE

envvar

logger_webhook batch_size

mc-conf

按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。

客户端证书

可选

还需要同时设置 Client Key

MINIO_LOGGER_WEBHOOK_CLIENT_CERT

envvar

logger_webhook client_cert

mc-conf

用于向 webhook logger 认证的 mTLS 证书路径。

客户端密钥

可选

如果定义了 Client Certificate,则为必填。

MINIO_LOGGER_WEBHOOK_CLIENT_KEY

envvar

logger_webhook client_key

mc-conf

用于向 webhook logger 服务认证的 mTLS 证书密钥路径。

代理

可选

MINIO_LOGGER_WEBHOOK_PROXY

envvar

logger_webhook proxy

mc-conf

说明

新增: MinIO

RELEASE.2023-02-22T18-23-45Z

定义在 MinIO 与外部 webhook 通信时供 webhook logger 使用的代理。

队列目录

可选

说明

新增: RELEASE.2023-05-18T00-05-36Z

MINIO_LOGGER_WEBHOOK_QUEUE_DIR

envvar

logger_webhook queue_dir

mc-conf

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。

当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_LOGGER_WEBHOOK_QUEUE_SIZE

envvar

logger_webhook queue_size

mc-conf

用于 logger webhook 目标队列大小的整数值。

Webhook 审计日志

以下部分介绍用于将审计日志发布到 HTTP webhook 端点的 MinIO 环境变量。 有关这些环境变量的更完整文档和使用教程,请参见 将审计日志发布到 HTTP Webhook

多个目标

你可以通过为每组相关日志设置追加唯一标识符 _ID,将多个 webhook 端点指定为审计日志目标。

例如,以下命令设置了两个不同的审计日志 webhook 端点:

export MINIO_AUDIT_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN"
export MINIO_AUDIT_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net"
export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem"
export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem"

export MINIO_AUDIT_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN"
export MINIO_AUDIT_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-1.example.net"
export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem"
export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem"
audit_webhook

mc-conf

用于定义 HTTP webhook 目标并发布 MinIO audit logs 的顶层配置键。

使用 mc admin config set 设置或更新 HTTP webhook 目标。 以空格(" ")分隔列表的形式指定其他可选参数。

mc admin config set audit_webhook \
   endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...]

你可以通过在顶层键后追加 [:name] 来指定多个 HTTP webhook 目标。 例如,以下命令分别将两个不同的 HTTP webhook 目标设置为 primarysecondary

mc admin config set audit_webhook:primary \
   endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...]


mc admin config set audit_webhook:secondary \
   endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]

设置

Enable

MINIO_AUDIT_WEBHOOK_ENABLE

envvar

指定 "on" 以启用向 HTTP webhook 端点发布审计日志。

需要同时指定 MINIO_AUDIT_WEBHOOK_ENDPOINT

配置一个 audit webhook 即表示启用该目标。 不存在单独的 enable 配置项。

端点

必填

MINIO_AUDIT_WEBHOOK_ENDPOINT

envvar

audit_webhook endpoint

mc-conf

webhook 的 HTTP 端点。

认证 Token

可选

MINIO_AUDIT_WEBHOOK_AUTH_TOKEN

envvar

audit_webhook auth_token

mc-conf

端点所需类型的认证 token。 对于不需要认证的端点可省略。

为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。

例如,对于 Bearer token,请添加前缀 Bearer

export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。

自定义认证格式可能类似如下:

export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
mc admin config set myminio audit_webhook       \
         endpoint="http://webhook.example.net"  \
         auth_token="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。

自定义认证格式的命令可能类似如下:

mc admin config set myminio audit_webhook       \
         endpoint="http://webhook.example.net"  \
         auth_token="ServiceXYZ 1a2b3c4f5e"

详情请参阅目标服务的文档。

批大小

说明

新增: MinIO

Server RELEASE.2024-03-10T02-53-48Z

可选

MINIO_AUDIT_WEBHOOK_BATCH_SIZE

envvar

audit_webhook batch_size

mc-conf

按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。

客户端证书

可选

MINIO_AUDIT_WEBHOOK_CLIENT_CERT

envvar

还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_KEY

audit_webhook client_cert

mc-conf

还需要同时指定 client_key

提交给 HTTP webhook 的 x.509 客户端证书。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。

客户端密钥

可选

MINIO_AUDIT_WEBHOOK_CLIENT_KEY

envvar

还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_CERT

audit_webhook client_key

mc-conf

需要指定 client_cert

提交给 HTTP webhook 的 x.509 私钥。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。

队列目录

可选

MINIO_AUDIT_WEBHOOK_QUEUE_DIR

envvar

audit_webhook queue_dir

mc-conf

说明

新增: RELEASE.2023-05-18T00-05-36Z

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。

当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_AUDIT_WEBHOOK_QUEUE_SIZE

envvar

audit_webhook queue_size

mc-conf

用于 audit webhook 目标队列大小的整数值。 默认值为 100000 个事件。

Kafka 审计日志

以下部分介绍用于将审计日志发布到 Kafka broker 的 MinIO 环境变量。

audit_kafka

mc-conf

用于定义 Kafka broker 目标并发布 MinIO audit logs 的顶层配置键。

使用 mc admin config set 设置或更新 Kafka 审计目标。 以空格(" ")分隔列表的形式指定其他可选参数。

mc admin config set audit_kafka \
   brokers="https://kafka-endpoint.example.net:9092" [ARGUMENTS=VALUE ...]

设置

Enable

必填

MINIO_AUDIT_KAFKA_ENABLE

envvar

设置为 "on" 以启用该目标。

设置为 "off" 以禁用该目标。

该值没有对应的配置项。 使用环境变量可禁用已配置的 audit webhook 目标。

Brokers

必填

MINIO_AUDIT_KAFKA_BROKERS

envvar

audit_kafka brokers

mc-conf

Kafka broker 地址的逗号分隔列表:

brokers="https://kafka-1.example.net:9092,https://kafka-2.example.net:9092"

至少必须有一个 broker 在线且 MinIO server 可达,才能初始化并发送审计日志事件。 MinIO 会按指定顺序检查每个 broker。

Topic

必填

MINIO_AUDIT_KAFKA_TOPIC

envvar

audit_kafka topic

mc-conf

与 MinIO 审计日志事件关联的 Kafka topic 名称。

TLS

可选

MINIO_AUDIT_KAFKA_TLS

envvar

audit_kafka tls

mc-conf

设置为 "on" 以启用到指定 Kafka brokers 的 TLS 连接。

默认值为 "off"

TLS Skip Verify

可选

MINIO_AUDIT_KAFKA_TLS_SKIP_VERIFY

envvar

audit_kafka tls_skip_verify

mc-conf

设置为 "on" 以指示 MinIO 跳过对 Kafka broker TLS 证书的校验。

你可以使用该选项连接使用未知签发方 TLS 证书的 Kafka brokers,例如自签名证书或企业内部 CA(Certificate Authorities)签发的证书。

默认情况下,MinIO 会同时使用系统信任库 以及 MinIO CA directory 中的内容来校验远端客户端 TLS 证书。

默认值为 "off",即严格校验 TLS 证书。

SASL

可选

MINIO_AUDIT_KAFKA_SASL

envvar

需要指定 MINIO_AUDIT_KAFKA_SASL_USERNAMEMINIO_AUDIT_KAFKA_SASL_PASSWORD

audit_kafka sasl

mc-conf

需要指定 sasl_usernamesasl_password

设置为 "on" 以指示 MinIO 使用 SASL 对 Kafka brokers 进行认证。

SASL Username

可选

MINIO_AUDIT_KAFKA_SASL_USERNAME

envvar

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_PASSWORD

audit_kafka sasl_username

mc-conf

需要指定 saslsasl_password

MinIO 用于对 Kafka brokers 进行认证的 SASL 用户名。

SASL Password

可选

MINIO_AUDIT_KAFKA_SASL_PASSWORD

envvar

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_USERNAME

audit_kafka sasl_password

mc-conf

需要指定 saslsasl_username

MinIO 用于对 Kafka brokers 进行认证的 SASL 密码。

SASL Mechanism

可选

MINIO_AUDIT_KAFKA_SASL_MECHANISM

envvar

警告

重要

PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 MINIO_AUDIT_KAFKA_TLS 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。

audit_kafka sasl_mechanism

mc-conf

警告

重要

PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 tls 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。

MinIO 用于对 Kafka brokers 进行认证的 SASL 机制。

默认值为 plain

TLS Client Auth

可选

MINIO_AUDIT_KAFKA_TLS_CLIENT_AUTH

envvar

需要指定 MINIO_AUDIT_KAFKA_CLIENT_TLS_CERTMINIO_AUDIT_KAFKA_CLIENT_TLS_KEY

audit_kafka tls_client_auth

mc-conf

需要指定 client_tls_certclient_tls_key

设置为 "on" 以指示 MinIO 使用 mTLS 对 Kafka brokers 进行认证。

Client TLS Certificate

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_CERT

envvar

audit_kafka client_tls_cert

mc-conf

用于 mTLS 认证的 TLS 客户端证书路径。

Client TLS Key

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_KEY

envvar

audit_kafka client_tls_key

mc-conf

用于 mTLS 认证的 TLS 客户端私钥路径。

Version

可选

MINIO_AUDIT_KAFKA_VERSION

envvar

audit_kafka version

mc-conf

MinIO 在指定端点期望的 Kafka broker 版本。

如果 Kafka broker 版本与此设置指定的不匹配,MinIO 会返回错误。

Comment

可选

MINIO_AUDIT_KAFKA_COMMENT

envvar

audit_kafka comment

mc-conf

与该配置关联的注释。

队列目录

可选

MINIO_AUDIT_KAFKA_QUEUE_DIR

envvar

audit_kafka queue_dir

mc-conf

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。

当 Kafka 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_AUDIT_KAFKA_QUEUE_SIZE

envvar

audit_kafka queue_size

mc-conf

指定未投递消息的最大上限。 默认值为 100000

1.6 - 存储桶通知设置

本页介绍用于控制 MinIO bucket notifications 相关行为的设置。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

同步事件

可选

MINIO_API_SYNC_EVENTS

envvar

api sync_events

mc-conf

启用同步 存储桶通知

指定 on 可让 MinIO 在远端目标收到事件并返回成功之后,再继续处理后续事件。

默认值为 off,即异步存储桶通知。在这种模式下,MinIO 不会等待远端目标在收到 事件后返回成功。

支持的通知目标

通知需要一个用于接收事件的目标。 MinIO 支持多种通知目标。 每种目标类型的设置位于各自独立的页面。 请根据实际使用的目标类型,选择下方对应链接。

1.6.1 - AMQP 通知设置

本文档说明了将 AMQP 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 AMQP (RabbitMQ)

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 AMQP 目标

可以通过在顶层键后为每组相关 AMQP 设置追加唯一标识符 _ID,来指定多个 AMQP 服务端点。

示例

例如,以下命令分别将两个不同的 AMQP 服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:[email protected]:5672"

export MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:[email protected]:5672"

例如,MINIO_NOTIFY_AMQP_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 AMQP 服务端点。

mc admin config set notify_amqp:primary \
   url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]

mc admin config set notify_amqp:secondary \
   url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]

请注意,对于配置设置,唯一标识符仅追加到 amqp,而不是每个单独参数。

设置

启用

MINIO_NOTIFY_AMQP_ENABLE

envvar

如果设置为 on,则必须指定 MINIO_NOTIFY_AMQP_URL

指定 on 以启用向 AMQP 端点发布存储桶通知。

默认值为 off

notify_amqp

mc-conf

用于定义 AMQP 服务端点以供 MinIO 存储桶通知 使用的顶层配置键。

使用 mc admin config set 设置或更新 AMQP 服务端点。 对于每个目标,url 参数都是 必需 的。 以空白字符(" ")分隔的列表形式指定其他可选参数。

mc admin config set notify_amqp \
  url="amqp://user:password@endpoint:port" \
  [ARGUMENT="VALUE"] ...

URL

必需

MINIO_NOTIFY_AMQP_URL

envvar

notify_amqp url

mc-conf

指定 MinIO 发布存储桶事件的 AMQP 服务器端点。 例如,amqp://myuser:mypassword@localhost:5672

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Exchange(交换机)

可选

MINIO_NOTIFY_AMQP_EXCHANGE

envvar

notify_amqp exchange

mc-conf

指定要使用的 AMQP exchange 名称。

Exchange 类型

可选

MINIO_NOTIFY_AMQP_EXCHANGE_TYPE

envvar

notify_amqp exchange_type

mc-conf

指定 AMQP exchange 的类型。

路由键

可选

MINIO_NOTIFY_AMQP_ROUTING_KEY

envvar

notify_amqp routing_key

mc-conf

指定用于发布事件的 routing key。

Mandatory(强制)

可选

MINIO_NOTIFY_AMQP_MANDATORY

envvar

notify_amqp mandatory

mc-conf

指定 off 以忽略消息未送达错误。 默认值为 on

持久化

可选

MINIO_NOTIFY_AMQP_DURABLE

envvar

notify_amqp durable

mc-conf

指定 on 以在 broker 重启后保留消息队列。 默认值为 off

No Wait(不等待)

可选

MINIO_NOTIFY_AMQP_NO_WAIT

envvar

notify_amqp no_wait

mc-conf

指定 on 以启用非阻塞消息投递。 默认值为 off

Internal(内部)

可选

MINIO_NOTIFY_AMQP_INTERNAL

envvar

notify_amqp internal

mc-conf

指定 on 以仅在 exchange 绑定到其他 exchanges 时使用该 exchange。 有关 AMQP exchange 绑定的更多信息,请参阅 RabbitMQ 文档中的 Exchange to Exchange Bindings

自动删除

可选

MINIO_NOTIFY_AMQP_AUTO_DELETED

envvar

notify_amqp auto_deleted

mc-conf

指定 on 以在没有消费者时自动删除消息队列。 默认值为 off

投递模式

可选

MINIO_NOTIFY_AMQP_DELIVERY_MODE

envvar

notify_amqp delivery_mode

mc-conf

指定 1 以将投递模式设置为非持久化队列。

指定 2 以将投递模式设置为持久化队列。

队列目录

可选

MINIO_NOTIFY_AMQP_QUEUE_DIR

envvar

notify_amqp queue_dir

mc-conf

指定目录路径以启用 MinIO 对未送达消息的持久化事件存储,例如 /opt/minio/events

当 AMQP 服务离线时,MinIO 会将未送达事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

队列限制

可选

MINIO_NOTIFY_AMQP_QUEUE_LIMIT

envvar

notify_amqp queue_limit

mc-conf

指定未送达消息的最大数量限制。 默认值为 100000

注释

可选

MINIO_NOTIFY_AMQP_COMMENT

envvar

notify_amqp comment

mc-conf

为 AMQP 配置指定注释。

1.6.2 - Elasticsearch 通知设置

本文档介绍如何配置 Elasticsearch 服务作为 存储桶通知 的目标。 有关如何使用这些设置的教程,请参阅 将事件发布到 Elasticsearch

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 Elasticsearch 目标

可通过为每组相关设置追加唯一标识符 _ID 来指定多个 Elasticsearch 服务端点。 例如,以下命令分别将两个不同的 Elasticsearch 服务端点设置为 PRIMARYSECONDARY

示例

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_PRIMARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_PRIMARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_SECONDARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_SECONDARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_SECONDARY="namespace"
mc admin config set notify_elasticsearch:primary \
   url="user:password@https://elasticsearch-endpoint.example.net:9200" \
   index="bucketevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_elasticsearch:secondary \
   url="user:password@https://elasticsearch-endpoint.example.net:9200" \
   index="bucketevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

注意,对于配置设置,唯一标识符只追加到 notify_elasticsearch,而不是每个单独参数。

设置

启用

必需

MINIO_NOTIFY_ELASTICSEARCH_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 Elasticsearch 服务端点。

默认为 off

如果设置为 on,则还必须指定以下环境变量:

notify_elasticsearch

mc-conf

用于定义 Elasticsearch 服务端点以配合 MinIO bucket notifications 使用的顶级配置键。

使用 mc admin config set 设置或更新 Elasticsearch 服务端点。 对于每个目标,以下参数为 必需

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_elasticsearch \
  url="https://user:[email protected]:9200" \
  [ARGUMENT="VALUE"] ... \

URL

必需

MINIO_NOTIFY_ELASTICSEARCH_URL

envvar

notify_elasticsearch url

mc-conf

指定 MinIO 将存储桶事件发布到的 Elasticsearch 服务端点。 例如:https://elasticsearch.example.com:9200

MinIO 支持通过 URL 参数传递认证信息,格式为 PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Index

必需

MINIO_NOTIFY_ELASTICSEARCH_INDEX

envvar

notify_elasticsearch index

mc-conf

指定用于存储或更新 MinIO 存储桶事件的 Elasticsearch index 名称。 如果 index 不存在,Elasticsearch 会自动创建。

Format

必需

MINIO_NOTIFY_ELASTICSEARCH_FORMAT

envvar

notify_elasticsearch format

mc-conf

指定写入 Elasticsearch index 的事件数据格式。 MinIO 支持以下取值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档正文的一部分。 对该对象的后续更新会修改该对象在 index 中的现有条目。 同样,删除该对象也会删除对应的 index 条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Elasticsearch 生成的随机 ID 将其追加到 index。 对对象的后续更新会产生新的 index 条目,而现有条目保持不变。

Username

可选

MINIO_NOTIFY_ELASTICSEARCH_USERNAME

envvar

notify_elasticsearch username

mc-conf

用于连接启用了认证的 Elasticsearch 服务端点的用户名。

Password

可选

MINIO_NOTIFY_ELASTICSEARCH_PASSWORD

envvar

notify_elasticsearch password

mc-conf

用于连接启用了认证的 Elasticsearch 服务端点的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 的返回内容一部分时,MinIO 会对其进行脱敏。

队列目录

可选

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR

envvar

notify_elasticsearch queue_dir

mc-conf

指定目录路径以启用 MinIO 针对未投递消息的持久化事件存储,例如 /opt/minio/events

当 Elasticsearch 服务离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT

envvar

notify_elasticsearch queue_limit

mc-conf

指定未投递消息的最大上限。 默认为 100000

注释

可选

MINIO_NOTIFY_ELASTICSEARCH_COMMENT

envvar

notify_elasticsearch comment

mc-conf

指定与 Elasticsearch 配置关联的注释。

1.6.3 - Kafka 通知设置

本页面记录了将 Kafka 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Kafka

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 Kafka 目标

你可以在顶层键后附加唯一标识符 _ID,为每组相关的 Kafka 设置指定多个 Kafka 服务端点。

示例

例如,以下命令分别将两个不同的 Kafka 服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"

export MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
mc admin config set notify_kafka:primary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

mc admin config set notify_kafka:secondary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

请注意,对于配置设置,唯一标识符只附加到 notify_kafka,而不是附加到每个单独参数。

设置

启用

必需

MINIO_NOTIFY_KAFKA_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 Kafka 服务端点。

默认为 off

notify_kafka

mc-conf

用于定义 Kafka 服务端点并与 MinIO bucket notifications 配合使用的顶层配置键。

使用 mc admin config set 设置或更新 Kafka 服务端点。 对于每个目标,brokers 参数都是 必需 的。 其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_kafka \
  brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
  [ARGUMENT="VALUE"] ... \

Brokers

必需

MINIO_NOTIFY_KAFKA_BROKERS

envvar

notify_kafka brokers

mc-conf

指定以逗号分隔的 Kafka broker 地址列表。 例如:

"kafka1.example.com:2021,kafka2.example.com:2021"

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Topic

可选

MINIO_NOTIFY_KAFKA_TOPIC

envvar

notify_kafka topic

mc-conf

指定 MinIO 发布存储桶事件的 Kafka topic 名称。

SASL

可选

MINIO_NOTIFY_KAFKA_SASL

envvar

notify_kafka sasl

mc-conf

指定 on 以启用 SASL 身份验证。

SASL Username

可选

MINIO_NOTIFY_KAFKA_SASL_USERNAME

envvar

notify_kafka sasl_username

mc-conf

指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的用户名。

SASL Password

可选

MINIO_NOTIFY_KAFKA_SASL_PASSWORD

envvar

notify_kafka sasl_password

mc-conf

指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当此值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

SASL Mechanism

可选

MINIO_NOTIFY_KAFKA_SASL_MECHANISM

envvar

notify_kafka sasl_mechanism

mc-conf

指定用于对 Kafka broker 进行身份验证的 SASL 机制。 MinIO 支持以下机制:

  • PLAIN(默认)
  • SHA256
  • SHA512

TLS Client Auth

可选

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH

envvar

notify_kafka tls_client_auth

mc-conf

指定 Kafka broker 的客户端身份验证类型。 下表列出了支持的取值及其映射关系

身份验证类型
0 NoClientCert
1 RequestClientCert
2 RequireAnyClientCert
3 VerifyClientCertIfGiven
4 RequireAndVerifyClientCert

有关各客户端身份验证类型的更多信息,请参见 ClientAuthType

TLS

可选

MINIO_NOTIFY_KAFKA_TLS

envvar

notify_kafka tls

mc-conf

指定 on 以启用与 Kafka broker 的 TLS 连接。

TLS Skip Verify

可选

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY

envvar

notify_kafka tls_skip_verify

mc-conf

启用或禁用对 NATS 服务端点 TLS 证书的 TLS 验证。

  • 指定 on 以禁用 TLS 验证(默认)。
  • 指定 off 以启用 TLS 验证。

Client TLS Cert

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT

envvar

notify_kafka client_tls_cert

mc-conf

指定客户端证书路径,用于对 Kafka broker 执行 mTLS 身份验证。

Client TLS Key

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY

envvar

notify_kafka client_tls_key

mc-conf

指定客户端私钥路径,用于对 Kafka broker 执行 mTLS 身份验证。

Version

可选

MINIO_NOTIFY_KAFKA_VERSION

envvar

notify_kafka version

mc-conf

指定在对 Kafka 集群执行操作时假定的 Kafka 集群版本。 有关此字段行为的更多信息,请参见 sarama reference documentation

Batch Size

可选

MINIO_NOTIFY_KAFKA_BATCH_SIZE

envvar

notify_kafka batch_size

mc-conf

指定整数值,作为向 Kafka 发送记录时的 batch size

说明

变更: RELEASE.2023-12-02T10-51-33Z

MinIO 先前将此值限制为 100

Queue Directory

可选

MINIO_NOTIFY_KAFKA_QUEUE_DIR

envvar

notify_kafka queue_dir

mc-conf

指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 Kafka server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

Queue Limit

可选

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT

envvar

notify_kafka queue_limit

mc-conf

指定未投递消息的最大限制。 默认为 100000

Comment

可选

MINIO_NOTIFY_KAFKA_COMMENT

envvar

notify_kafka comment

mc-conf

指定与 Kafka 配置关联的注释。

Compression Codec

说明

新增: MinIO

Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC

envvar

notify_kafka compression_codec

mc-conf

指定向 Kafka 发送记录时使用的压缩编解码器。

支持以下取值:

  • none
  • snappy
  • gzip
  • lz4
  • zstd

Compression Level

说明

新增: MinIO

Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL

envvar

notify_kafka compression_level

mc-conf

根据已配置的压缩编解码器控制应用的压缩级别。

指定大于或等于 0 的整数值。 该值的效果取决于所选编解码器。

1.6.4 - MQTT 通知设置

本页面记录了将 MQTT 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 MQTT

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 MQTT 目标

你可以在顶层键后为每组相关 MQTT 设置追加一个唯一标识符 _ID,以指定多个 MQTT 服务端点。 例如,以下命令分别将两个不同的 MQTT 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_MQTT_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MQTT_BROKER_PRIMARY="tcp://user:[email protected]:1883"

export MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MQTT_BROKER_SECONDARY="tcp://user:[email protected]:1883"
配置项
mc admin config set notify_mqtt:primary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

mc admin config set notify_mqtt:secondary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

在这些设置中,MINIO_NOTIFY_MQTT_ENABLE_PRIMARY 表示该环境变量与 ID 为 PRIMARY 的 MQTT 服务端点关联。

设置

启用

必填

MINIO_NOTIFY_MQTT_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 MQTT 端点。

默认为 off

notify_mqtt

mc-conf

用于定义 MQTT server/broker 端点的顶层配置键,可用于 MinIO 存储桶通知

使用 mc admin config set 设置或更新 MQTT server/broker 端点。 每个端点都 必须 包含以下参数:

  • broker
  • topic
  • username 如果 MQTT server/broker 不强制认证/授权,则为可选
  • password 如果 MQTT server/broker 不强制认证/授权,则为可选

其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_mqtt \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

Broker

必填

MINIO_NOTIFY_MQTT_BROKER

envvar

notify_mqtt broker

mc-conf

指定 MQTT server/broker 端点。 MinIO 支持通过 TCP、TLS 或 Websocket 连接到 server/broker URL。 例如:

  • tcp://mqtt.example.net:1883
  • tls://mqtt.example.net:1883
  • ws://mqtt.example.net:1883
说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Topic

必填

MINIO_NOTIFY_MQTT_TOPIC

envvar

notify_mqtt topic

mc-conf

指定 MQTT topic 名称,用于关联 MinIO 发布到 MQTT 端点的事件。

Username

如果 MQTT server/broker 强制认证/授权,则必填

MINIO_NOTIFY_MQTT_USERNAME

envvar

notify_mqtt username

mc-conf

指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名。

Password

如果 MQTT server/broker 强制认证/授权,则必填

MINIO_NOTIFY_MQTT_PASSWORD

envvar

notify_mqtt password

mc-conf

指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名对应的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

作为 mc admin config get 返回结果的一部分时,MinIO 会对该值进行脱敏处理。

服务质量(QoS)

可选

MINIO_NOTIFY_MQTT_QOS

envvar

notify_mqtt qos

mc-conf

指定已发布事件的 Quality of Service 优先级。

默认为 0

Keep Alive 间隔

可选

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL

envvar

notify_mqtt keep_alive_interval

mc-conf

指定 MQTT 连接的 keep-alive 间隔。MinIO 支持以下时间单位:

  • s - 秒,例如 “60s”
  • m - 分钟,例如 “60m”
  • h - 小时,例如 “24h”
  • d - 天,例如 “7d”

重连间隔

可选

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL

envvar

notify_mqtt reconnect_interval

mc-conf

指定 MQTT 连接的重连间隔。MinIO 支持以下时间单位:

  • s - 秒,例如 “60s”
  • m - 分钟,例如 “60m”
  • h - 小时,例如 “24h”
  • d - 天,例如 “7d”

队列目录

可选

MINIO_NOTIFY_MQTT_QUEUE_DIR

envvar

notify_mqtt queue_dir

mc-conf

指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events

当 MQTT server/broker 离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_MQTT_QUEUE_LIMIT

envvar

notify_mqtt queue_limit

mc-conf

指定未投递消息的最大上限。 默认为 100000

注释

可选

MINIO_NOTIFY_MQTT_COMMENT

envvar

notify_mqtt comment

mc-conf

指定与 MQTT 配置关联的注释。

1.6.5 - MySQL 通知设置

本页记录了将 MySQL 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 MySQL

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 MySQL 目标

你可以在顶层键后追加唯一标识符 _ID,为每组相关的 MySQL 设置指定多个 MySQL 服务端点。

示例

以下命令分别将两个不同的 MySQL 服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"

在这些设置中,MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 MySQL 服务端点。

mc admin config set notify_mysql:primary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_mysql:secondary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

设置

启用

必需

MINIO_NOTIFY_MYSQL_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 MySQL 服务端点。

默认为 off

若设置为 on,则还必须指定以下环境变量:

notify_mysql

mc-conf

用于定义 MySQL 服务端点以配合 MinIO bucket notifications 使用的顶层配置键。

使用 mc admin config set 设置或更新 MySQL 服务端点。 每个目标都 必需 以下参数:

其他可选参数请以空白字符(" ")分隔列表形式指定。

mc admin config set notify_mysql \
  dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
  table="minioevents" \
  format="namespace" \
  [ARGUMENT="VALUE"] ... \

数据源名称(DSN)字符串

必需

MINIO_NOTIFY_MYSQL_DSN_STRING

envvar

notify_mysql dsn_string

mc-conf

指定 MySQL 服务端点的数据源名称(DSN)。MinIO 期望使用以下格式:

<user>:<password>@tcp(<host>:<port>)/<database>

例如:

"username:password@tcp(mysql.example.com:3306)/miniodb"

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必需

MINIO_NOTIFY_MYSQL_TABLE

envvar

notify_mysql table

mc-conf

指定 MinIO 发布事件通知到的 MySQL 表名。

格式

必需

MINIO_NOTIFY_MYSQL_FORMAT

envvar

notify_mysql format

mc-conf

指定写入 MySQL 服务端点的事件数据格式。 MinIO 支持以下取值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,将事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 MySQL 生成的随机 ID 追加到表中。 对对象的后续更新会产生新的索引条目,且现有条目保持不变。

最大打开连接数

可选

MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS

envvar

notify_mysql max_open_connections

mc-conf

指定与 MySQL 数据库建立的最大打开连接数。

默认为 2

队列目录

可选

MINIO_NOTIFY_MYSQL_QUEUE_DIR

envvar

notify_mysql queue_dir

mc-conf

指定目录路径,以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 MySQL 服务器/代理离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_MYSQL_QUEUE_LIMIT

envvar

notify_mysql queue_limit

mc-conf

指定未投递消息的最大上限。默认为 100000

注释

可选

MINIO_NOTIFY_MYSQL_COMMENT

envvar

notify_mysql comment

mc-conf

指定与 MySQL 配置关联的注释。

1.6.6 - NATS 通知设置

说明

NATS Streaming 已弃用

NATS Streaming 已弃用。 请迁移到 JetStream

相关的 MinIO 配置选项和环境变量也已弃用。

本页面说明了将 NATS 服务配置为 存储桶通知 目标的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 NATS

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 NATS 目标

你可以在顶层键后追加唯一标识符 _ID,为每组相关的 NATS 设置指定多个 NATS 服务端点。

示例

例如,以下命令分别将两个不同的 NATS 服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_NATS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_PRIMARY="nats-endpoint.example.net:4222"

export MINIO_NOTIFY_NATS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_SECONDARY="nats-endpoint.example.net:4222"

在这些设置中,MINIO_NOTIFY_NATS_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 NATS 服务端点。

mc admin config set notify_nats:primary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_nats:secondary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

设置

启用

必填

MINIO_NOTIFY_NATS_ENABLE

envvar

指定 on 以启用向 NATS 服务端点发布存储桶通知。

默认为 off

notify_nats

mc-conf

用于定义 NATS 服务端点并将其用于 MinIO bucket notifications 的顶层配置键。

使用 mc admin config set 设置或更新 NATS 服务端点。 对于每个目标,addresssubject 参数均为 必填。 其他可选参数请使用空白字符(" ")分隔的列表指定。

mc admin config set notify_nats \
  address="nats-endpoint.example.com:4222" \
  subject="minioevents" \
  [ARGUMENT="VALUE"] ... \

地址

必填

MINIO_NOTIFY_NATS_ADDRESS

envvar

notify_nats address

mc-conf

指定 MinIO 发布存储桶事件到的 NATS 服务端点。 例如:nats-endpoint.example.com:4222

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Subject

必填

MINIO_NOTIFY_NATS_SUBJECT

envvar

notify_nats subject

mc-conf

指定 MinIO 在 NATS 端点上关联已发布事件的订阅。

用户名

可选

MINIO_NOTIFY_NATS_USERNAME

envvar

notify_nats username

mc-conf

指定连接到 NATS 服务端点时使用的用户名。

密码

可选

MINIO_NOTIFY_NATS_PASSWORD

envvar

notify_nats password

mc-conf

指定连接到 NATS 服务端点时使用的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

Token

可选

MINIO_NOTIFY_NATS_TOKEN

envvar

notify_nats token

mc-conf

指定连接到 NATS 服务端点时使用的 token。

说明

变更: RELEASE.2023-06-23T20-26-00Z

MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

用户凭证文件

可选

MINIO_NOTIFY_NATS_USER_CREDENTIALS

envvar

notify_nats user_credentials

mc-conf

指定用于连接 NATS 服务端点的 user credentials file

TLS

可选

MINIO_NOTIFY_NATS_TLS

envvar

notify_nats tls

mc-conf

指定 on 以启用到 NATS 服务端点的 TLS 连接。

TLS Skip Verify

可选

MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY

envvar

notify_nats tls_skip_verify

mc-conf

启用或禁用对 NATS 服务端点 TLS 证书的 TLS 校验。

  • 指定 on 以禁用 TLS 校验(默认)。
  • 指定 off 以启用 TLS 校验。

Ping Interval

可选

MINIO_NOTIFY_NATS_PING_INTERVAL

envvar

notify_nats ping_interval

mc-conf

指定客户端向 NATS 服务器发送 ping 的时间间隔。 MinIO 支持以下时间单位:

  • s - 秒,"60s"
  • m - 分钟,"5m"
  • h - 小时,"1h"
  • d - 天,"1d"

Jetstream

可选

MINIO_NOTIFY_NATS_JETSTREAM

envvar

notify_nats jetstream

mc-conf

指定 on 以启用 JetStream 支持,将事件流式传输到 NATS JetStream 服务端点。

Streaming

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING

envvar

notify_nats streaming

mc-conf

指定 on 以启用向 NATS 服务端点异步发布事件。

Streaming Async

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_ASYNC

envvar

notify_nats streaming_async

mc-conf

指定 on 以启用向 NATS 服务端点异步发布事件。

Max ACK Responses In Flight

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT

envvar

notify_nats streaming_max_pub_acks_in_flight

mc-conf

指定在等待 NATS 服务端点 ACK 响应之前可发布的消息数量。

Streaming Cluster ID

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID

envvar

notify_nats streaming_cluster_id

mc-conf

指定 NATS Streaming 集群的唯一 ID。

Cert Authority

可选

MINIO_NOTIFY_NATS_CERT_AUTHORITY

envvar

notify_nats cert_authority

mc-conf

指定用于签署 NATS 服务端点 TLS 证书的 Certificate Authority 证书链路径。

Client Cert

可选

MINIO_NOTIFY_NATS_CLIENT_CERT

envvar

notify_nats client_cert

mc-conf

指定用于执行到 NATS 服务端点 mTLS 认证的客户端证书路径。

Client Key

可选

MINIO_NOTIFY_NATS_CLIENT_KEY

envvar

notify_nats client_key

mc-conf

指定用于执行到 NATS 服务端点 mTLS 认证的客户端私钥路径。

Queue Directory

可选

MINIO_NOTIFY_NATS_QUEUE_DIR

envvar

notify_nats queue_dir

mc-conf

指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 NATS server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放已存储事件。

Queue Limit

可选

MINIO_NOTIFY_NATS_QUEUE_LIMIT

envvar

notify_nats queue_limit

mc-conf

指定未投递消息的最大上限。 默认为 100000

Comment

可选

MINIO_NOTIFY_NATS_COMMENT

envvar

notify_nats comment

mc-conf

指定与 NATS 配置关联的注释。

1.6.7 - NSQ 通知设置

本页面记录了将 NSQ 服务配置为 存储桶通知 目标时所使用的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 NSQ

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 NSQ 目标

你可以通过在每组相关 NSQ 设置的顶层键末尾附加唯一标识符 _ID,指定多个 NSQ 服务端点。 例如,以下命令分别将两个不同的 NSQ 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_NSQ_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_PRIMARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_NSQ_TOPIC_PRIMARY="bucketevents"

export MINIO_NOTIFY_NSQ_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_SECONDARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_NSQ_TOPIC_SECONDARY="bucketevents"
配置项
mc admin config set notify_nsq:primary \
   nsqd_address="ENDPOINT" \
   topic="<string>" \
   [ARGUMENT="VALUE"] ... \

mc admin config set notify_nsq:secondary \
   nsqd_address="ENDPOINT" \
   topic="<string>" \
   [ARGUMENT="VALUE"] ... \

设置

启用

必填

MINIO_NOTIFY_NSQ_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 NSQ 端点。

notify_nsq

mc-conf

用于定义 NSQ server/broker 端点的顶层配置键,供 MinIO 存储桶通知 使用。

使用 mc admin config set 设置或更新 NSQ server/broker 端点。 每个端点都 必须 包含以下参数:

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_nsq                          \
   nsqd_address="https://nsq-endpoint.example.net:4150" \
   topic="<string>"                                     \
   [ARGUMENT="VALUE"] ...

NSQ Daemon 服务器地址

必填

MINIO_NOTIFY_NSQ_NSQD_ADDRESS

envvar

notify_nsq nsqd_address

mc-conf

指定 NSQ Daemon 运行所在的 NSQ 服务器地址。 例如:

https://nsq-endpoint.example.net:4150

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

主题

必填

MINIO_NOTIFY_NSQ_TOPIC

envvar

notify_nsq topic

mc-conf

指定 MinIO 向 broker 发布事件时使用的 NSQ topic 名称。

TLS

可选

MINIO_NOTIFY_NSQ_TLS

envvar

notify_nsq tls

mc-conf

指定 on 以启用到 NSQ service broker 的 TLS 连接。

TLS 跳过校验

可选

MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY

envvar

notify_nsq tls_skip_verify

mc-conf

启用或禁用对 NSQ service broker TLS 证书的 TLS 校验。

  • 指定 on 可禁用 TLS 校验(默认)。
  • 指定 off 可启用 TLS 校验。

队列目录

可选

MINIO_NOTIFY_NSQ_QUEUE_DIR

envvar

notify_nsq queue_dir

mc-conf

指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 NSQ server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_NSQ_QUEUE_LIMIT

envvar

notify_nsq queue_limit

mc-conf

指定未投递消息的最大上限。 默认值为 100000

备注

可选

MINIO_NOTIFY_NSQ_COMMENT

envvar

notify_nsq comment

mc-conf

指定与 NSQ 配置关联的备注。

1.6.8 - PostgreSQL 通知设置

本页记录了将 PostgreSQL 服务配置为 存储桶通知 目标的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 PostgreSQL

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 PostgreSQL 目标

你可以通过在顶层键后追加唯一标识符 _ID,为每组相关 PostgreSQL 设置指定多个 PostgreSQL 服务端点。 例如,以下命令分别将两个不同的 PostgreSQL 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_SECONDARY="namespace"
配置设置
mc admin config set notify_postgres:primary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_postgres:secondary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

在这些设置中,MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 PostgreSQL 服务端点。

设置

启用

必填

MINIO_NOTIFY_POSTGRES_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 PostgreSQL 服务端点。

默认为 off

如果设置为 on,则还必须指定以下环境变量:

notify_postgres

mc-conf

用于定义 PostgreSQL 服务端点的顶层配置键,可用于 MinIO bucket notifications

使用 mc admin config set 设置或更新 PostgreSQL 服务端点。 每个目标都 必须 提供以下参数:

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_postgres                            \
  connection_string="host=postgresql.example.com port=5432..." \
  table="minioevents"                                          \
  format="namespace"                                           \
  [ARGUMENT="VALUE"] ...

连接字符串

必填

MINIO_NOTIFY_POSTGRES_CONNECTION_STRING

envvar

notify_postgres connection_string

mc-conf

指定 PostgreSQL 服务端点的 URI connection string。 MinIO 支持 key=value 格式的 PostgreSQL 连接字符串。 例如:

"host=https://postgresql.example.com port=5432 ..."

有关受支持 PostgreSQL 连接字符串参数的完整文档,请参阅 PostgreSQL Connection Strings documentation

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必填

MINIO_NOTIFY_POSTGRES_TABLE

envvar

notify_postgres table

mc-conf

指定 MinIO 发布事件通知的 PostgreSQL 表名称。

格式

必填

MINIO_NOTIFY_POSTGRES_FORMAT

envvar

notify_postgres format

mc-conf

指定写入 PostgreSQL 服务端点的事件数据格式。 MinIO 支持以下取值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,使用事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档内容的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。

access

对于每个存储桶事件,MinIO 会创建包含事件详情的 JSON 文档,并以 PostgreSQL 生成的随机 ID 将其追加到表中。 对对象的后续更新会产生新的索引条目,现有条目保持不变。

最大打开连接数

可选

MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS

envvar

notify_postgres max_open_connections

mc-conf

指定与 PostgreSQL 数据库建立的最大打开连接数。

默认为 2

队列目录

可选

MINIO_NOTIFY_POSTGRES_QUEUE_DIR

envvar

notify_postgres queue_dir

mc-conf

指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events

当 PostgreSQL server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT

envvar

notify_postgres queue_limit

mc-conf

指定未投递消息的数量上限。 默认为 100000

注释

可选

MINIO_NOTIFY_POSTGRES_COMMENT

envvar

notify_postgres comment

mc-conf

指定与 PostgreSQL 配置关联的注释。

1.6.9 - Redis 通知设置

本页记录了将 Redis 服务配置为 存储桶通知 目标所需的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 Redis

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 Redis 目标

你可以通过在每组相关 Redis 设置的顶层键末尾追加唯一标识符 _ID 来指定多个 Redis 服务端点。 例如,以下命令分别将两个不同的 Redis 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_REDIS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_REDIS_ADDRESS_PRIMARY="redis-endpoint.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_PRIMARY="bucketevents"
export MINIO_NOTIFY_REDIS_FORMAT_PRIMARY="namespace"


export MINIO_NOTIFY_REDIS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_REDIS_REDIS_ADDRESS_SECONDARY="redis-endpoint2.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_SECONDARY="bucketevents"
export MINIO_NOTIFY_REDIS_FORMAT_SECONDARY="namespace"
配置设置
mc admin config set notify_redis:primary              \
   address="redis-endpoint.example.net:9200"  \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...                             \

mc admin config set notify_redis:secondary            \
   address="redis-endpoint2.example.net:9200" \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...

设置

启用

必需

MINIO_NOTIFY_REDIS_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 Redis 服务端点。

默认为 off

如果设置为 on,还必须指定以下附加环境变量:

notify_redis

mc-conf

用于定义 Redis server/broker 端点并供 MinIO bucket notifications 使用的顶层配置键。

使用 mc admin config set 设置或更新 Redis server/broker 端点。 对于每个端点,以下参数为 必需

将其他可选参数指定为以空白字符(" ")分隔的列表。

mc admin config set notify_redis \
   address="ENDPOINT" \
   key="<string>" \
   format="<string>" \
   [ARGUMENT="VALUE"] ... \

地址

必需

MINIO_NOTIFY_REDIS_ADDRESS

envvar

notify_redis address

mc-conf

指定 MinIO 发布存储桶事件的 Redis 服务端点。 例如:redis.example.com:6369

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必需

MINIO_NOTIFY_REDIS_KEY

envvar

notify_redis key

mc-conf

指定用于存储和更新事件的 Redis 键。 如果该键不存在,Redis 会自动创建。

格式

必需

MINIO_NOTIFY_REDIS_FORMAT

envvar

notify_redis format

mc-conf

指定写入 Redis 服务端点的事件数据格式。 MinIO 支持以下取值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象现有的索引条目。 同样,删除对象也会删除对应的索引条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Redis 生成的随机 ID 将其追加到该键。 对对象的后续更新会产生新的索引条目,现有条目保持不变。

密码

可选

MINIO_NOTIFY_REDIS_PASSWORD

envvar

notify_redis password

mc-conf

指定 Redis 服务器的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

用户

可选

说明

新增: RELEASE.2024-03-21T23-13-43Z

MINIO_NOTIFY_REDIS_USER

envvar

notify_redis user

mc-conf

指定 Redis 服务器的用户。

队列目录

可选

MINIO_NOTIFY_REDIS_QUEUE_DIR

envvar

notify_redis queue_dir

mc-conf

指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events

当 Redis server/broker 离线时,MinIO 会将未投递事件存储到指定存储中;连接恢复后,会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_REDIS_QUEUE_LIMIT

envvar

notify_redis queue_limit

mc-conf

指定未投递消息的最大上限。 默认为 100000

注释

可选

MINIO_NOTIFY_REDIS_COMMENT

envvar

notify_redis comment

mc-conf

指定与 Redis 配置关联的注释。

1.6.10 - Webhook 服务通知设置

本页记录了将 Webhook 服务配置为 存储桶通知 目标所需的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Webhook

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 Webhook 服务目标

可通过在顶层键后为每组相关 Webhook 设置追加唯一标识符 _ID 来指定多个 Webhook 服务端点。 例如,以下命令分别将两个不同的 Webhook 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_PRIMARY="https://webhook1.example.net"

export MINIO_NOTIFY_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_SECONDARY="https://webhook1.example.net"
配置设置
mc admin config set notify_webhook:primary \
   endpoint="https://webhook1.example.net"
   [ARGUMENT=VALUE ...]

mc admin config set notify_webhook:secondary \
   endpoint="https://webhook2.example.net
   [ARGUMENT=VALUE ...]

设置

启用

必需

MINIO_NOTIFY_WEBHOOK_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 Webhook 服务端点。

默认为 off

notify_webhook

mc-conf

用于定义 Webhook 服务端点的顶层配置键,可用于 MinIO 存储桶通知

使用 mc admin config set 设置或更新 Webhook 服务端点。 endpoint 参数对每个目标均为 必需。 将其他可选参数指定为以空白字符(" ")分隔的列表。

mc admin config set notify_webhook \
  endpoint="https://webhook.example.net"
  [ARGUMENT="VALUE"] ... \

端点

必需

MINIO_NOTIFY_WEBHOOK_ENDPOINT

envvar

notify_webhook endpoint

mc-conf

指定 Webhook 服务的 URL。

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

认证令牌

必需

MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN

envvar

适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。

为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。

例如,对于 Bearer 令牌,请在前面加上 Bearer

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"

更多详情请查阅目标服务的文档。

notify_webhook auth_token

mc-conf

适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。

为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。

例如,对于 Bearer 令牌,请在前面加上 Bearer

   mc admin config set myminio notify_webhook   \
   endpoint="https://webhook-1.example.net"  \
      auth_token="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

   mc admin config set myminio notify_webhook   \
      endpoint="https://webhook-1.example.net"  \
      auth_token="ServiceXYZ 1a2b3c4f5e"

更多详情请查阅目标服务的文档。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 的返回内容的一部分时,MinIO 会将其打码。

队列目录

可选

MINIO_NOTIFY_WEBHOOK_QUEUE_DIR

envvar

notify_webhook queue_dir

mc-conf

指定目录路径以启用 MinIO 针对未投递消息的持久化事件存储,例如 /opt/minio/events

当 Webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT

envvar

notify_webhook queue_limit

mc-conf

指定未投递消息的最大上限。 默认为 100000

客户端证书

可选

MINIO_NOTIFY_WEBHOOK_CLIENT_CERT

envvar

notify_webhook client_cert

mc-conf

指定用于向 Webhook 服务执行 mTLS 认证的客户端证书路径。

客户端密钥

可选

MINIO_NOTIFY_WEBHOOK_CLIENT_KEY

envvar

notify_webhook client_key

mc-conf

指定用于向 Webhook 服务执行 mTLS 认证的客户端私钥路径。

1.7 - 身份与访问管理设置

本节页面记录了用于配置 MinIO 与身份与访问管理(IAM)方案协同工作的相关设置。 MinIO 支持的每种 IAM 方法都对应一个独立的设置页面。

1.7.1 - Active Directory / LDAP 设置

本页面说明通过 Active Directory 或 LDAP 服务启用外部身份管理所需的设置。 有关使用这些设置的教程,请参见 配置 MinIO 使用 Active Directory / LDAP 进行认证

警告

重要

RELEASE.2023-05-26T23-31-54Z 版本中新增:

相比使用配置设置,优先使用 mc idp ldap 命令将 MinIO 配置为使用 Active Directory 或 LDAP 进行身份管理。

MinIO 建议使用 mc idp ldap 命令执行 LDAP 管理操作。 这些命令提供了更好的校验能力和附加功能,同时提供与 identity_ldap 配置键相同的设置。 有关 mc idp ldap 的使用教程,请参见 配置 MinIO 使用 Active Directory / LDAP 进行认证

identity_ldap 配置设置仍可用于现有脚本和其他工具。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

示例

MINIO_IDENTITY_LDAP_SERVER_ADDR="ldapserver.com:636"
说明

说明

srv_record_name 会自动识别端口。

如果你的 AD/LDAP 服务器使用 DNS SRV Records,请 不要server_addr 值后附加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。

identity_ldap

mc-conf

使用 mc admin config set 定义 LDAP 时,以下设置为必需项:

  • enabled
  • server_addr
  • lookup_bind_dn
  • lookup_bind_dn_password
  • user_dn_search_base_dn
  • user_dn_search_filter
mc admin config set identity_ldap                        \
   enabled="true"                                        \
   server_addr="ad-ldap.example.net/"                    \
   lookup_bind_dn="cn=miniolookupuser,dc=example,dc=net" \
   lookup_bind_dn_password="userpassword"                \
   user_dn_search_base_dn="dc=example,dc=net"            \
   user_dn_search_filter="(&(objectCategory=user)(sAMAccountName=%s))"

设置

服务器地址

必需

MINIO_IDENTITY_LDAP_SERVER_ADDR

envvar

指定 Active Directory / LDAP server 的主机名。例如:

ldapserver.com:636
说明

srv_record_name 会自动识别端口

如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。

identity_ldap server_addr

mc-conf

指定 Active Directory / LDAP server 的主机名。例如:

ldapserver.com:636
说明

srv_record_name 会自动识别端口

如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。

Lookup Bind DN

必需

MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN

envvar

identity_ldap lookup_bind_dn

mc-conf

指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。

该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。

Lookup Bind 密码

必需

MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD

envvar

identity_ldap lookup_bind_password

mc-conf

指定 Lookup-Bind 用户账户的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。

用户 DN 搜索基准 DN

必需

MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN

envvar

identity_ldap user_dn_search_base_dn

mc-conf

指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。

多个 DN 之间请使用分号(;)分隔。

例如:

cn=miniousers,dc=myldapserver,dc=net;ou=swengg,dc=min,dc=io

支持 Lookup-Bind 模式。

用户 DN 搜索过滤器

必需

MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER

envvar

identity_ldap user_dn_search_filter

mc-conf

指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。

使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:

(userPrincipalName=%s)

用户 DN 属性

可选

MINIO_IDENTITY_LDAP_USER_DN_ATTRIBUTES

envvar

identity_ldap user_dn_attributes

mc-conf

说明

新增: RELEASE.2024-06-06T09-36-42Z

用户 DN 属性的逗号分隔列表。

一些有效值包括 uid,cn,mail,sshPublicKey

如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。

mc idp ldap update ALIAS user_dn_attributes=sshPublicKey

启用

可选

此设置没有环境变量选项。 请改用配置设置。

identity_ldap enabled

mc-conf

将其设置为 false 可禁用 AD/LDAP 配置。

若为 false,应用程序将无法生成 STS 凭证,也无法通过已配置的提供者向 MinIO 进行身份验证。

默认为 true(即 “enabled”)。

组搜索过滤器

可选

MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER

envvar

identity_ldap group_search_filter

mc-conf

指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。

使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。

例如:

(&(objectclass=groupOfNames)(memberUid=%s))

在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。

在提供 AD/LDAP 组搜索过滤器时,应配置一个仅返回满足身份验证需求的最小相关组集合的过滤器。 返回大量组分配信息的过滤器会增加相关调用和资源消耗。 对大体积请求或响应体敏感的功能可能因此出现非预期行为。

组搜索基准 DN

可选

MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN

envvar

identity_ldap group_search_base_dn

mc-conf

指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。

例如:

cn=miniogroups,dc=myldapserver,dc=net;ou=swengg,dc=min,dc=io

TLS 跳过校验

可选

MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY

envvar

identity_ldap tls_skip_verify

mc-conf

指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。

默认值为 off

服务器不安全模式

可选

MINIO_IDENTITY_LDAP_SERVER_INSECURE

envvar

identity_ldap server_insecure

mc-conf

指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。

MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。

默认值为 off

服务器 Start TLS

可选

MINIO_IDENTITY_LDAP_SERVER_STARTTLS

envvar

identity_ldap server_starttls

mc-conf

指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。

默认值为 off

有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。

SRV 记录名称

可选

说明

新增: RELEASE.2022-12-12T19-27-27Z

MINIO_IDENTITY_LDAP_SRV_RECORD_NAME

envvar

identity_ldap srv_record_name

mc-conf

指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。

启用后,MinIO 会通过以下方式选择 AD/LDAP server:

  • 按标准命名约定构造目标 SRV 记录名称。
  • 请求可用的 AD/LDAP server 列表。
  • 根据优先级和权重选择合适的目标。

下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp

对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:

_ldap._tcp.example.com

对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:

_ldaps._tcp.example.com

如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com

有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP

说明

DNS SRV 记录配置中的 server 地址

指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。

关于如何配置 AD/LDAP server 地址,请参见 server_addrMINIO_IDENTITY_LDAP_SERVER_ADDR

备注

可选

MINIO_IDENTITY_LDAP_COMMENT

envvar

identity_ldap identity_ldap comment

mc-conf

指定要附加到 AD/LDAP 配置上的注释。

1.7.2 - OpenID 身份管理设置

本页面记录了如何使用与 OpenID Connect (OIDC) 兼容的提供方来启用外部身份管理的相关设置。 有关如何使用这些设置的教程,请参见 OpenID Connect 访问管理

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

示例

MINIO_IDENTITY_OPENID_CONFIG_URL="https://openid-provider.example.net/.well-known/openid-configuration"

identity_openid

mc-conf

使用 mc admin config set 设置或更新 OpenID 配置。 config_url 参数为 必需。 其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set identity_openid                                               \
  config_url="https://openid-provider.example.net/.well-known/openid-configuration" \
  [ARGUMENT="VALUE"] ...

设置

配置 URL

必需

MINIO_IDENTITY_OPENID_CONFIG_URL

envvar

identity_openid config_url

mc-conf

指定与 OIDC 兼容的 provider 的 discovery document URL。

OIDC Discovery URL 通常类似于:

https://openid-provider.example.net/.well-known/openid-configuration

启用

可选

此设置没有环境变量选项。 请改用配置项。

identity_openid enabled

mc-conf

设置为 false 可禁用 OpenID 配置。

如果设置为 false,应用程序将无法使用已配置的提供方生成 STS 凭证或通过其他方式向 MinIO 认证。

默认值为 true(即“启用”)。

客户端 ID

可选

MINIO_IDENTITY_OPENID_CLIENT_ID

envvar

identity_openid client_id

mc-conf

指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的唯一公开标识符。

客户端密钥

可选

MINIO_IDENTITY_OPENID_CLIENT_SECRET

envvar

identity_openid client_secret

mc-conf

指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的 client secret。根据 provider 的不同,此字段可能是可选的。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。

角色策略

可选

此设置与 Claim Name 设置互斥。

MINIO_IDENTITY_OPENID_ROLE_POLICY

envvar

identity_openid role_policy

mc-conf

指定逗号分隔的 策略名称 列表,用于该 provider 的所有认证请求 中的 RoleArn。指定的一个或多个策略必须已经存在于 MinIO Server 上。

要使用此 OIDC 配置,你必须在 STS 请求体中指定对应的 RoleArn

声明名称

可选

此设置与 Role Policy 设置互斥。

MINIO_IDENTITY_OPENID_CLAIM_NAME

envvar

identity_openid claim_name

mc-conf

指定 JWT Claim 的名称,MinIO 使用该 Claim 来识别应附加到已认证用户上的 策略

该 Claim 可以包含一个或多个逗号分隔的策略名称,以附加给用户。该 Claim 至少 必须包含一个策略,否则该用户在 MinIO server 上将没有任何权限。

默认值为 policy

声明前缀

可选

此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_IDENTITY_OPENID_CLAIM_NAME

MINIO_IDENTITY_OPENID_CLAIM_PREFIX

envvar

identity_openid claim_prefix

mc-conf

指定应用到所给 Claim 名称上的 JWT Claim 命名空间前缀。

显示名称

可选

MINIO_IDENTITY_OPENID_DISPLAY_NAME

envvar

identity_openid display_name

mc-conf

指定 MinIO Console 在登录页面上显示给用户的名称。

作用域

可选

MINIO_IDENTITY_OPENID_SCOPES

envvar

identity_openid scopes

mc-conf

指定逗号分隔的 scopes 列表。 默认使用 discovery document 中公布的 scopes。

重定向 URI

可选

此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_BROWSER_REDIRECT_URL

MINIO_IDENTITY_OPENID_REDIRECT_URI

envvar

identity_openid redirect_uri

mc-conf

警告

重要

该参数已在 RELEASE.2023-02-27T18-10-45Z 中移除。 请改用 MINIO_BROWSER_REDIRECT_URL 环境变量

MinIO Console 默认使用发起认证请求的节点主机名。 对于位于负载均衡器或反向代理之后的 MinIO 部署,请指定该字段,以确保 OIDC provider 将认证响应返回到正确的 MinIO Console URL。 其中应包含 Console 主机名、端口以及 /oauth_callback

http://minio.example.net:consoleport/oauth_callback

请确保在启动 MinIO Server 时使用 --console-address 选项,以设置固定的 Console 监听端口。 如果省略该选项,默认行为是在启动时随机选择端口号。

指定的 URI 必须 与 provider 上批准的某个 redirect / callback URI 匹配。 更多信息请参见 OpenID Authentication Request

动态 URI 重定向

可选

MINIO_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC

envvar

identity_openid redirect_uri_dynamic

mc-conf

MinIO Console 默认会将发起认证请求的节点主机名作为重定向 URI 的一部分, 并将其提供给 OIDC provider。 对于位于使用轮询协议的负载均衡器之后的 MinIO 部署,这可能导致负载均衡器将响应 返回给与原始客户端不同的 MinIO 节点。

将此选项指定为 on,可让 MinIO Console 使用原始请求中的 Host 头来构造 传递给 OIDC provider 的重定向 URI。 默认值为 off

用户信息

可选

MINIO_IDENTITY_OPENID_CLAIM_USERINFO

envvar

identity_openid claim_userinfo

mc-conf

允许 MinIO 从已认证用户的 UserInfo Endpoint 获取 claims。

有效值为 onoff

提供方

可选

MINIO_IDENTITY_OPENID_VENDOR

envvar

identity_openid vendor

mc-conf

指定 OIDC Vendor,以启用该 vendor 的特定受支持行为。

支持以下值:

  • keycloak

Keycloak Realm

可选

此设置要求将 OpenID Vendor 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_REALM

envvar

identity_openid keycloak_realm

mc-conf

指定用于 Keycloak Admin API 操作的 Keycloak Realm,例如 main

Keycloak 管理 URL

可选

此设置要求将 OpenID Vendor 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_ADMIN_URL

envvar

identity_openid keycloak_admin_url

mc-conf

指定 Keycloak Admin API URL。 如果配置为定期校验已认证的 Keycloak 用户是否处于激活 / 存在状态,MinIO 可以 使用该 URL。 例如,https://keycloak-endpoint:port/admin/

注释

可选

MINIO_IDENTITY_OPENID_COMMENT

envvar

identity_openid comment

mc-conf

指定要附加到与 OIDC 兼容 provider 配置上的注释。

1.7.3 - Silo 身份管理插件设置

本页介绍如何通过 MinIO Identity Management Plugin 启用外部身份管理的相关设置。 有关如何使用这些设置的教程,请参阅 MinIO External Identity Management Plugin

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

示例

配置 MinIO Identity Management Plugin 时,至少必须定义所有 必需 设置。 以下示例展示了最小必需配置。

MINIO_IDENTITY_PLUGIN_URL="https://authservice.example.net:8080/auth"
MINIO_IDENTITY_PLUGIN_ROLE_POLICY="ConsoleUser"

identity_plugin

mc-conf

使用 mc admin config set 创建或更新身份管理插件配置。 identity_plugin url 参数为必填项。 其他可选参数以空白字符(” “)分隔的列表形式指定。

mc admin config set identity_plugin                  \
   url="https://external-auth.example.net:8080/auth" \
   role_policy="consoleAdmin"                        \
   [ARGUMENT=VALUE] ...

设置

URL

必需

MINIO_IDENTITY_PLUGIN_URL

envvar

identity_plugin url

mc-conf

外部身份管理服务的 webhook endpoint (https://authservice.example.net:8080/auth)。

角色策略

必需

MINIO_IDENTITY_PLUGIN_ROLE_POLICY

envvar

identity_plugin role_policy

mc-conf

指定要分配给已认证用户的 MinIO 策略 列表,多个策略之间 使用逗号分隔。

启用

可选

此设置不提供环境变量选项。

identity_plugin enabled

mc-conf

设置为 false 以禁用身份提供方配置。

如果设置为 false,应用程序将无法生成 STS 凭证,也无法通过已配置的提供方对 MinIO 进行身份验证。

默认为 true 或 “enabled”。

令牌

可选

MINIO_IDENTITY_PLUGIN_TOKEN

envvar

identity_plugin token

mc-conf

提供给已配置 webhook endpoint 的认证令牌。

请以字符串形式指定受支持的 HTTP Authentication scheme, 例如 "Bearer TOKEN"。 MinIO 会通过 HTTP Authorization 头发送该令牌。

角色 ID

可选

MINIO_IDENTITY_PLUGIN_ROLE_ID

envvar

identity_plugin role_id

mc-conf

指定 MinIO 用于为该 identity manager 生成 ARN 的唯一 ID。 在生成 ARN 时,MinIO 会自动在指定 ID 前添加 idmp- 前缀。

如果省略此项,MinIO 会自动生成该 ID,并将完整 ARN 输出到 server 日志中。

注释

可选

MINIO_IDENTITY_PLUGIN_COMMENT

envvar

identity_plugin comment

mc-conf

指定要附加到身份配置上的注释。

1.7.4 - Silo 访问管理插件设置

本页说明如何配置 MinIO Access Management Plugin 以启用外部授权管理。 有关这些设置的使用教程,请参见 MinIO 外部访问管理插件

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

示例

在设置 MinIO Access Management 插件时,至少必须定义所有 Required 设置。 此处示例展示了最小必需配置。

MINIO_POLICY_PLUGIN_URL="https://authzservice.example.net:8080/authz"

policy_plugin

mc-conf

使用 mc admin config set 命令创建或更新访问管理插件配置。 policy_plugin url 参数为必填。 其他可选参数请以空白字符(” “)分隔的列表形式指定。

mc admin config set policy_plugin                     \
   url="https://authzservice.example.net:8080/authz"  \
   [ARGUMENT=VALUE] ...

设置

URL

必需

MINIO_POLICY_PLUGIN_URL

envvar

policy_plugin url

mc-conf

外部访问管理服务的 webhook endpoint (https://authzservice.example.net:8080/authz)。

认证令牌

可选

MINIO_POLICY_PLUGIN_AUTH_TOKEN

envvar

policy_plugin auth_token

mc-conf

提供给已配置 webhook endpoint 的认证令牌。

请以字符串形式指定受支持的 HTTP Authentication scheme, 例如 "Bearer TOKEN"。 MinIO 会通过 HTTP Authorization 头发送该令牌。

HTTP2

可选

MINIO_POLICY_PLUGIN_ENABLE_HTTP2

envvar

policy_plugin enable_http2

mc-conf

为连接已配置的 webhook 服务启用实验性的 HTTP2 支持。

默认值为 off

注释

可选

MINIO_POLICY_PLUGIN_COMMENT

envvar

policy_plugin comment

mc-conf

指定要附加到外部访问管理配置上的注释。

1.8 - ILM 设置

本页面介绍用于控制 MinIO 进程 ILM(信息生命周期管理)的设置。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

过期 Worker

MINIO_ILM_EXPIRATION_WORKERS

envvar

ilm expiration_workers

mc-conf

说明

新增: MinIO

Server RELEASE.2024-03-03T17-50-39Z

设置用于 对象过期 的 worker 数量。 有效值范围为 1500

默认值为 100

1.9 - 密钥加密服务设置

MinIO Server 提供三组环境变量,用于管理 MinIO Server 与 Key Encryption Service (KES)、Key Management Service (KMS) 或静态密钥文件的交互方式。 这三组中只能定义一组。 如果定义了多种类型的环境变量组,MinIO 会返回错误。

说明

说明

这些设置不支持通过 mc admin config set 进行配置。

在启动或重启 MinIO 进程之前,请在宿主系统中定义其中任意一组环境变量。 有关如何定义环境变量,请参考操作系统文档。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

Key Encryption Service

定义以下变量以使用 Key Encryption Service (KES) 连接到 受支持的第三方 Key Management Service 提供商

MINIO_KMS_KES_ENDPOINT

envvar

MinIO Key Encryption Service (KES) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KES endpoint 使用 , 分隔。

MINIO_KMS_KES_KEY_NAME

envvar

KES 服务器上配置的 Key Management system (KMS) 中外部密钥名称,用于执行加密和解密操作。 MinIO 将此密钥用于以下用途:

  • 加密后端数据(IAM、服务器配置)。
  • SSE-KMS 的默认服务端加密密钥。
  • SSE-S3 的服务端加密密钥。
警告

重要

在 MinIO 部署上启用 SSE 后, 会自动使用默认加密密钥对该部署的后端数据进行加密。

MinIO 必须能够访问 KES 和外部 KMS, 才能解密后端并正常启动。 KMS 必须维护并提供对 MINIO_KMS_KES_KEY_NAME 的访问。 之后你不能再禁用 KES, 也不能在后续“撤销”该 SSE 配置。

MINIO_KMS_KES_API_KEY

envvar

使用通过 kes identity new 命令获取的 KES API key 与加密服务进行身份认证的首选方式。

此环境变量与 MINIO_KMS_KES_KEY_FILEMINIO_KMS_KES_CERT_FILE 环境变量互斥。

MINIO_KMS_KES_KEY_FILE

envvar

MINIO_KMS_KES_CERT_FILE x.509 证书关联的私钥,用于向 KES 服务器进行身份认证。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。

有关 KES 访问控制的完整文档,请参见 KES wiki

还必须设置 MINIO_KMS_KES_CERT_FILE。 此变量与 MINIO_KMS_KES_API_KEY 互斥。

MINIO_KMS_KES_CERT_FILE

envvar

提供给 KES 服务器的 x.509 证书。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。

KES 服务器会根据证书计算 identity,并将其与已配置策略进行比对。 KES 服务器仅向 minio 服务器授予策略中明确允许的操作访问权限。

有关 KES 访问控制的完整文档,请参见 KES wiki

还必须设置 MINIO_KMS_KES_KEY_FILE。 此变量与 MINIO_KMS_KES_API_KEY 互斥。

MINIO_KMS_KES_CAPATH

envvar

Optional

允许使用自签名或第三方 CA 验证 KES 服务器证书。 指定 KES 部署所使用的 CA 证书路径。

如果使用公共证书颁发机构,则不需要此变量。

MINIO_KMS_KES_KEY_PASSWORD

envvar

Optional

用于加密和解密 TLS 私钥的密码(如果使用)。

MinIO Key Management Server (KMS)

定义以下变量以使用 MinIO KMS 管理密钥。

MINIO_KMS_SERVER

envvar

MinIO Key Management Service (KMS) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KMS endpoint 使用 , 分隔。

MINIO_KMS_ENCLAVE

envvar

密钥和身份所在的 MinIO KMS Enclave。

MINIO_KMS_SSE_KEY

envvar

当调用未指定密钥身份时,用于 SSE-S3 加密的默认密钥。

MINIO_KMS_API_KEY

envvar

用于向 MinIO KMS 服务进行身份认证的凭据。

静态密钥文件

注意

警告

这些设置用于在不依赖外部 KMS 的情况下,对对象服务端加密进行早期开发和评估。 不要在长期开发、QA 或生产环境中使用这些设置。 关于如何使用 MinIO Key Encryption Service (KES) 和外部 KMS 部署 SSE,请参见 使用 KES 进行服务端对象加密

提供静态 KMS 密钥或密钥文件用于加密。

MINIO_KMS_SECRET_KEY

envvar

静态 KMS 密钥的 base64 形式,格式为 <key-name>:<base64-32byte-key>。 实现了部分 KMS API。

MINIO_KMS_SECRET_KEY_FILE

envvar

读取静态 KMS 密钥的文件路径。

1.10 - Object Lambda 函数设置

本页面介绍了可用于配置 MinIO 的设置,以便将数据发布到 HTTP webhook 端点并触发 Object Lambda 函数。 有关使用这些设置的更完整文档和教程,请参见 使用 Object Lambda 进行转换

你可以通过定义以下项来建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在主机系统上设置 环境变量。 有关如何定义环境变量,请参阅操作系统文档。
  • 使用 mc admin config set 设置 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

某些设置仅提供环境变量或配置项中的一种,而非两者都提供。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

启用

MINIO_LAMBDA_WEBHOOK_ENABLE

envvar

指定 "on" 以启用处理函数的 Object Lambda webhook 端点。

需要同时指定 MINIO_LAMBDA_WEBHOOK_ENDPOINT

你可以通过为每个 Object Lambda 函数追加唯一标识符,将多个 webhook 指定为 Lambda 目标。 例如,以下命令启用两个不同的 Object Lambda webhook 端点:

export MINIO_LAMBDA_WEBHOOK_ENABLE_myfunction="on"
export MINIO_LAMBDA_WEBHOOK_ENABLE_yourfunction="on"

lambda_webhook enable

mc-conf

可选

指定 "on" 以启用处理函数的 Object Lambda webhook 端点。 需要同时指定 endpoint

示例:

mc admin config set myminio lambda_webhook:myfunction endpoint="https://example.com/" enable=on

端点

MINIO_LAMBDA_WEBHOOK_ENDPOINT

envvar

处理函数的 lambda webhook HTTP 端点。

你可以通过为每个 Object Lambda 函数追加唯一标识符,将多个 webhook 端点指定为 Lambda 目标。 例如,以下命令设置两个不同的 Object Lambda webhook 端点:

export MINIO_LAMBDA_WEBHOOK_ENDPOINT_myfunction="http://webhook-1.example.com"
export MINIO_LAMBDA_WEBHOOK_ENDPOINT_yourfunction="http://webhook-2.example.com"

lambda_webhook endpoint

mc-conf

可选

处理函数的 lambda webhook HTTP 端点。

认证令牌

MINIO_LAMBDA_WEBHOOK_AUTH_TOKEN

envvar

指定用于向 lambda webhook 服务进行身份验证的不透明字符串或 JWT 授权令牌。

你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定令牌。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置令牌:

export MINIO_LAMBDA_WEBHOOK_AUTH_TOKEN_myfunction="1a2b3c4d5e"
export MINIO_LAMBDA_WEBHOOK_AUTH_TOKEN_yourfunction="1a2b3c4d5e"
说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

lambda_webhook auth_token

mc-conf

可选

指定用于向 lambda webhook 服务进行身份验证的不透明字符串或 JWT 授权令牌。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

客户端证书

MINIO_LAMBDA_WEBHOOK_CLIENT_CERT

envvar

指定用于向 lambda webhook 服务执行 mTLS 身份验证的客户端证书路径。

你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定客户端证书。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置证书:

export MINIO_LAMBDA_WEBHOOK_CLIENT_CERT_myfunction="/path/to/cert1"
export MINIO_LAMBDA_WEBHOOK_CLIENT_CERT_yourfunction="/path/to/cert2"

lambda_webhook client_cert

mc-conf

可选

指定用于向 lambda webhook 服务执行 mTLS 身份验证的客户端证书路径。

客户端密钥

MINIO_LAMBDA_WEBHOOK_CLIENT_KEY

envvar

指定用于向 lambda webhook 服务执行 mTLS 身份验证的私钥路径。

你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定客户端私钥。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置密钥:

export MINIO_LAMBDA_WEBHOOK_CLIENT_KEY_myfunction="/path/to/key1"
export MINIO_LAMBDA_WEBHOOK_CLIENT_KEY_yourfunction="/path/to/key2"

lambda_webhook client_key

mc-conf

可选

指定用于向 lambda webhook 服务执行 mTLS 身份验证的私钥路径。

1.11 - 已弃用设置

本页介绍用于控制 MinIO 进程核心行为的已弃用设置。

本页中的设置可能随时被移除。 用户应尽早迁移到推荐的替代项。

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

警告

重要

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

环境变量

以下 环境变量 已弃用。 此处仅为历史参考而列出。

MINIO_SECRET_KEY

envvar

注意

已弃用: RELEASE.2021-04-22T15-44-28Z

root 用户的 secret key。

该环境变量已 弃用,请改用 MINIO_ROOT_PASSWORD 环境变量。

注意

警告

如果未设置 MINIO_SECRET_KEYminio 默认使用 minioadmin

在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ACCESS_KEY 指定唯一、足够长且随机的值。

MINIO_ACCESS_KEY

envvar

注意

已弃用: RELEASE.2021-04-22T15-44-28Z

root 用户的 access key。

该环境变量已 弃用,请改用 MINIO_ROOT_USER 环境变量。

注意

警告

如果未设置 MINIO_ACCESS_KEYminio 默认使用 minioadmin

在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ACCESS_KEY 指定唯一、足够长且随机的值。

MINIO_ACCESS_KEY_OLD

envvar

注意

已弃用: RELEASE.2021-04-22T15-44-28Z

要轮换 root 凭证,请修改 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 环境变量。

MINIO_OPERATOR_DEPLOYMENT_NAME

envvar

注意

已弃用: Operator

6.0.4

指定为 Operator 创建并使用的命名空间。

未指定时,默认值为 minio-operator

MINIO_SECRET_KEY_OLD

envvar

注意

已弃用: RELEASE.2021-04-22T15-44-28Z

要轮换 root 凭证,请修改 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 环境变量。

MINIO_SERVER_URL

envvar

注意

已弃用: RELEASE.2024-05-10T01-41-38Z

MinIO Console 用于连接 MinIO Server 的 fully qualified domain name (FQDN)。

为确保 Console 正常工作,MinIO server URL 必须 是主机的 FQDN,且可解析并可达。

如果指定值无法解析到 MinIO server,通过 MinIO Console 登录将失败,并在等待一段时间后返回网络错误。 较旧版本的 Console 可能会返回通用的“Invalid Login”错误。 可通过取消设置该值 解决 FQDN 解析问题来恢复 Console 登录。 在以下情况下可能需要该设置:

  • MinIO Server 使用的 TLS 证书在 Subject Alternative Name (SAN) 中未包含主机本地 IP。

  • 由于反向代理或类似配置,Console 必须使用特定主机名来连接或引用 MinIO Server。