s3_allow_server_credentials_for_system_table_disks
system 数据库中表的动态 disk(type = s3, ...) 使用服务器自身的 (ambient)
S3 凭证,从而不受 s3_allow_server_credentials_in_user_queries 限制。这用于
服务器内部基础设施:它们会使用服务器的身份将系统表写入 S3 (由
cloud operator 附加到 system 数据库中) 。与会话设置不同,它属于服务器级设置,因此
当表在重启时从元数据中重新加载时,此豁免同样适用。它的作用范围仅限于 system
数据库,而普通用户无法在其中创建表,因此不会放宽对用户查询的限制。
s3_credentials_provider_max_cache_size
s3_load_table_anonymously_if_credentials_restricted
RESTORE 时) 加载持久化的 S3 或 S3Queue 表、动态 disk(type = s3, ...),或 DataLakeCatalog (Glue、BigLake) database,并且其定义会解析到 server 自身的 (ambient) S3/cloud 凭证,而这些 凭证 又因 s3_allow_server_credentials_in_user_queries 而被禁止用于用户 queries。
启用时 (默认值) ,这类 object 会在不使用这些 凭证 的情况下加载,而不是中止启动:S3/S3Queue 表或动态 S3 disk 会使用匿名 S3 client 构建,DataLakeCatalog database 则会保持为 catalog 不可用状态。server 可以正常启动,但该 object 将无法访问 (例如它对私网 bucket 的 requests 会被拒绝,或 catalog 会返回明确的 error) ,直到其 凭证 再次解析为允许的 source。它绝不会在无提示的情况下重新获得 server 的 identity。这样可避免仅因单个此类 object —— 例如在该限制引入前的旧版本中创建的 object,或其 named collection 后来被重新绑定到 use_environment_credentials = 1 的 object —— 而导致 server 启动中止。
禁用时,加载此类 object 会直接失败,这可能导致 server 无法启动。仅当你希望出现硬失败,而不是表、disk 或 catalog database 在静默状态下不可访问时,才应使用此设置。