This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 1058f5c866d Add s3.credentials_provider_type docs (#3427)
1058f5c866d is described below

commit 1058f5c866d52810dc3733aaf08e32b51c4180c0
Author: Calvin Kirs <[email protected]>
AuthorDate: Fri Mar 6 12:06:38 2026 +0800

    Add s3.credentials_provider_type docs (#3427)
    
    ## Versions
    
    - [ ] dev
    - [ ] 4.x
    - [ ] 3.x
    - [ ] 2.1
    
    ## Languages
    
    - [ ] Chinese
    - [ ] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
---
 docs/lakehouse/storages/s3.md                      | 136 ++++++++++++++++-----
 .../current/lakehouse/storages/s3.md               | 136 ++++++++++++++++-----
 .../version-2.1/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 .../version-3.x/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 .../version-4.x/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 .../version-2.1/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 .../version-3.x/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 .../version-4.x/lakehouse/storages/s3.md           | 136 ++++++++++++++++-----
 8 files changed, 856 insertions(+), 232 deletions(-)

diff --git a/docs/lakehouse/storages/s3.md b/docs/lakehouse/storages/s3.md
index 97f55b50936..8705e7709b5 100644
--- a/docs/lakehouse/storages/s3.md
+++ b/docs/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@ This document describes the parameters required for 
accessing AWS S3. These para
 
 ## Parameter Overview
 
-| Property Name                | Legacy Name | Description                     
                 | Default | Required |
-|------------------------------|-------------|--------------------------------------------------|---------|----------|
-| s3.endpoint                  |             | S3 service access endpoint, 
e.g., s3.us-east-1.amazonaws.com | None    | No       |
-| s3.access_key                |             | AWS Access Key for 
authentication               | None    | No       |
-| s3.secret_key                |             | AWS Secret Key for 
authentication               | None    | No       |
-| s3.region                    |             | S3 region, e.g., us-east-1. 
Strongly recommended | None    | Yes      |
-| s3.use_path_style            |             | Whether to use path-style 
access                | FALSE   | No       |
-| s3.connection.maximum        |             | Maximum number of connections 
for high concurrency scenarios | 50      | No       |
-| s3.connection.request.timeout|             | Request timeout (milliseconds), 
controls connection acquisition timeout | 3000    | No       |
-| s3.connection.timeout        |             | Connection establishment 
timeout (milliseconds) | 1000    | No       |
-| s3.role_arn                  |             | Role ARN specified when using 
Assume Role mode  | None    | No       |
-| s3.external_id               |             | External ID used with 
s3.role_arn               | None    | No       |
+| Property Name                | Legacy Name                   | Description   
                                                              | Default | 
Required |
+|------------------------------|-------------------------------|-----------------------------------------------------------------------------|---------|----------|
+| s3.endpoint                  |                               | S3 service 
access endpoint, e.g., `s3.us-east-1.amazonaws.com`             | None    | No  
     |
+| s3.access_key                |                               | AWS Access 
Key for authentication                                           | None    | No 
      |
+| s3.secret_key                |                               | AWS Secret 
Key for authentication                                           | None    | No 
      |
+| s3.region                    |                               | S3 region, 
e.g., `us-east-1`. Strongly recommended                         | None    | Yes 
     |
+| s3.use_path_style            |                               | Whether to 
use path-style access                                            | FALSE   | No 
      |
+| s3.connection.maximum        |                               | Maximum 
number of connections for high concurrency scenarios                | 50      | 
No       |
+| s3.connection.request.timeout|                               | Request 
timeout (milliseconds), controls connection acquisition timeout     | 3000    | 
No       |
+| s3.connection.timeout        |                               | Connection 
establishment timeout (milliseconds)                             | 1000    | No 
      |
+| s3.role_arn                  |                               | Role ARN 
specified when using Assume Role mode                             | None    | 
No       |
+| s3.external_id               |                               | External ID 
used with `s3.role_arn`                                        | None    | No   
    |
+| s3.credentials_provider_type |                               | Credentials 
provider type for AWS authentication (used without AK/SK; used as STS source 
credentials in IAM Role mode) | DEFAULT | No       |
+
+> Version note: `s3.credentials_provider_type` is supported since **3.1.4** 
and **4.0.3**.
 
 ## Authentication Configuration
 
-Doris supports the following two methods to access S3:
+Doris supports the following three methods to access S3:
 
-1. Direct Access Key and Secret Key
+### 1. Direct Access Key and Secret Key (AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role (Assume Role) mode
+
+Suitable for cross-account and temporary authorization access. Doris 
automatically obtains temporary credentials through role authorization.
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### Configure `s3.credentials_provider_type` in IAM Role mode
+
+When `s3.role_arn` is configured, `s3.credentials_provider_type` controls 
which source credentials provider is used for STS `AssumeRole`:
+
+1. Get source credentials from `s3.credentials_provider_type`.
+2. Call STS `AssumeRole` with source credentials.
+3. Access S3 with the returned temporary credentials.
+
+#### IAM Role + `s3.credentials_provider_type` examples
+
+**Example 1: EC2 Instance Profile as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 2: Web Identity (for example IRSA) as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 3: Container metadata as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 4: Default provider chain as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. Specify credential source with `s3.credentials_provider_type`
+
+This is suitable for scenarios without explicit AK/SK, such as EC2 Instance 
Profile, container metadata, or Web Identity.
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### Supported values for `s3.credentials_provider_type`
 
-2. Assume Role Mode
+| Value             | Description |
+|-------------------|-------------|
+| DEFAULT           | Use default provider chain |
+| ENV               | Read credentials from environment variables |
+| SYSTEM_PROPERTIES | Read credentials from system properties |
+| WEB_IDENTITY      | Use Web Identity Token credentials |
+| CONTAINER         | Use container metadata credentials |
+| INSTANCE_PROFILE  | Use EC2 Instance Profile credentials |
+| ANONYMOUS         | Anonymous access (for public buckets) |
 
-  Suitable for cross-account and temporary authorization access. Automatically 
obtains temporary credentials through role authorization.
+### Effective rules when configured together
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. If `s3.access_key` and `s3.secret_key` are both configured, AK/SK is used 
first.
+2. If AK/SK is not configured and `s3.role_arn` is configured, IAM Role is 
used. In this case, `s3.credentials_provider_type` is used to select STS source 
credentials.
+3. If neither AK/SK nor `s3.role_arn` is configured, 
`s3.credentials_provider_type` directly determines the credentials provider 
used by the S3 client.
 
-> If both Access Key and Role ARN are configured, Access Key mode takes 
precedence.
+> Note: `s3.access_key` and `s3.secret_key` must be configured together.
 
 For instructions on AWS authentication and authorization configuration, please 
refer to the document 
[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md
index 6b215787995..f7968258697 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@
 
 ## 参数总览
 
-| 属性名称                     | 曾用名 | 描述                                      | 
默认值 | 是否必须 |
-|------------------------------|--------|-------------------------------------------|--------|----------|
-| s3.endpoint                  |        | S3 服务访问地址,如 
s3.us-east-1.amazonaws.com | 无     | 否       |
-| s3.access_key                |        | AWS Access Key。用于身份验证              | 
无     | 否       |
-| s3.secret_key                |        | AWS Secret Key。用于身份验证              | 
无     | 否       |
-| s3.region                    |        | S3 所在的区域,例如:us-east-1。强烈建议配置 | 无     
| 是       |
-| s3.use_path_style            |        | 是否使用 path-style(路径风格)访问。     | FALSE 
 | 否       |
-| s3.connection.maximum        |        | 最大连接数,适用于高并发场景              | 50     
| 否       |
-| s3.connection.request.timeout|        | 请求超时时间(毫秒),控制连接获取超时    | 3000   | 否  
     |
-| s3.connection.timeout        |        | 建立连接的超时时间(毫秒)                | 1000  
 | 否       |
-| s3.role_arn                  |        | 使用 Assume Role 模式时指定的角色 ARN     | 无  
   | 否       |
-| s3.external_id               |        | 配合 s3.role_arn 使用的 external ID       
| 无     | 否       |
+| 属性名称                      | 曾用名                         | 描述                 
                                                | 默认值  | 是否必须 |
+|-------------------------------|--------------------------------|----------------------------------------------------------------------|---------|----------|
+| s3.endpoint                   |                                | S3 服务访问地址,如 
`s3.us-east-1.amazonaws.com`                     | 无      | 否       |
+| s3.access_key                 |                                | AWS Access 
Key。用于身份验证                                         | 无      | 否       |
+| s3.secret_key                 |                                | AWS Secret 
Key。用于身份验证                                         | 无      | 否       |
+| s3.region                     |                                | S3 
所在区域,例如:`us-east-1`。强烈建议配置                         | 无      | 是       |
+| s3.use_path_style             |                                | 是否使用 
path-style(路径风格)访问                                  | FALSE   | 否       |
+| s3.connection.maximum         |                                | 
最大连接数,适用于高并发场景                                         | 50      | 否       |
+| s3.connection.request.timeout |                                | 
请求超时时间(毫秒),控制连接获取超时                               | 3000    | 否       |
+| s3.connection.timeout         |                                | 
建立连接的超时时间(毫秒)                                           | 1000    | 否       |
+| s3.role_arn                   |                                | 使用 Assume 
Role 模式时指定的角色 ARN                                | 无      | 否       |
+| s3.external_id                |                                | 配合 
`s3.role_arn` 使用的 external ID                                | 无      | 否       
|
+| s3.credentials_provider_type  |                               | 指定 AWS 
凭证提供器类型(无 AK/SK 时使用;在 IAM Role 场景用于 STS 源凭证) | DEFAULT | 否       |
+
+> 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。
 
 ## 认证配置
 
-Doris 支持以下两种方式访问 S3:
+Doris 支持以下三种方式访问 S3:
 
-1. 直接使用 Access Key 和 Secret Key
+### 1. 直接使用 Access Key 和 Secret Key(AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role(Assume Role)模式
+
+适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### 在 IAM Role 模式中配置 `s3.credentials_provider_type`
+
+当配置了 `s3.role_arn` 时,`s3.credentials_provider_type` 用于指定 STS `AssumeRole` 
调用所使用的源凭证 provider:
+
+1. 按 `s3.credentials_provider_type` 获取源凭证。
+2. 用源凭证调用 STS `AssumeRole`。
+3. 使用返回的临时凭证访问 S3。
+
+#### IAM Role + `s3.credentials_provider_type` 配置示例
+
+**示例 1:EC2 Instance Profile 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 2:Web Identity(如 IRSA)作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 3:容器元数据作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 4:使用默认 provider chain 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. 通过 `s3.credentials_provider_type` 指定凭证来源
+
+适用于不显式填写 AK/SK 的场景,例如 EC2 Instance Profile、容器元数据、Web Identity 等。
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### `s3.credentials_provider_type` 可选值
 
-2. Assume Role 模式
+| 值                | 说明 |
+|-------------------|------|
+| DEFAULT           | 使用默认 provider chain |
+| ENV               | 从环境变量读取凭证 |
+| SYSTEM_PROPERTIES | 从系统属性读取凭证 |
+| WEB_IDENTITY      | 使用 Web Identity Token 凭证 |
+| CONTAINER         | 使用容器元数据凭证 |
+| INSTANCE_PROFILE  | 使用 EC2 Instance Profile 凭证 |
+| ANONYMOUS         | 匿名访问(适用于公开桶) |
 
-  适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+### 同时配置时的生效规则
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. 同时配置 `s3.access_key` 和 `s3.secret_key` 时,优先使用 AK/SK。
+2. 未配置 AK/SK 且配置了 `s3.role_arn` 时,使用 IAM Role;此时 
`s3.credentials_provider_type` 用于 STS 源凭证选择。
+3. 未配置 AK/SK 且未配置 `s3.role_arn` 时,`s3.credentials_provider_type` 直接决定 S3 
客户端使用的 provider。
 
-> 如果同时设置了 Access Key 和 Role ARN,则优先使用 Access Key 模式。
+> 注意:`s3.access_key` 和 `s3.secret_key` 必须成对出现,仅配置其中一个会报错。
 
 AWS 
认证鉴权配置说明请参阅文档[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/lakehouse/storages/s3.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/lakehouse/storages/s3.md
index a0d275f715d..ae560721fb1 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/lakehouse/storages/s3.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@
 
 ## 参数总览
 
-| 属性名称                     | 曾用名 | 描述                                      | 
默认值 | 是否必须 |
-|------------------------------|--------|-------------------------------------------|--------|----------|
-| s3.endpoint                  |        | S3 服务访问地址,如 
s3.us-east-1.amazonaws.com | 无     | 否       |
-| s3.access_key                |        | AWS Access Key。用于身份验证              | 
无     | 否       |
-| s3.secret_key                |        | AWS Secret Key。用于身份验证              | 
无     | 否       |
-| s3.region                    |        | S3 所在的区域,例如:us-east-1。强烈建议配置 | 无     
| 是       |
-| s3.use_path_style            |        | 是否使用 path-style(路径风格)访问。     | FALSE 
 | 否       |
-| s3.connection.maximum        |        | 最大连接数,适用于高并发场景              | 50     
| 否       |
-| s3.connection.request.timeout|        | 请求超时时间(毫秒),控制连接获取超时    | 3000   | 否  
     |
-| s3.connection.timeout        |        | 建立连接的超时时间(毫秒)                | 1000  
 | 否       |
-| s3.role_arn                  |        | 使用 Assume Role 模式时指定的角色 ARN     | 无  
   | 否       |
-| s3.external_id               |        | 配合 s3.role_arn 使用的 external ID       
| 无     | 否       |
+| 属性名称                      | 曾用名                         | 描述                 
                                                | 默认值  | 是否必须 |
+|-------------------------------|--------------------------------|----------------------------------------------------------------------|---------|----------|
+| s3.endpoint                   |                                | S3 服务访问地址,如 
`s3.us-east-1.amazonaws.com`                     | 无      | 否       |
+| s3.access_key                 |                                | AWS Access 
Key。用于身份验证                                         | 无      | 否       |
+| s3.secret_key                 |                                | AWS Secret 
Key。用于身份验证                                         | 无      | 否       |
+| s3.region                     |                                | S3 
所在区域,例如:`us-east-1`。强烈建议配置                         | 无      | 是       |
+| s3.use_path_style             |                                | 是否使用 
path-style(路径风格)访问                                  | FALSE   | 否       |
+| s3.connection.maximum         |                                | 
最大连接数,适用于高并发场景                                         | 50      | 否       |
+| s3.connection.request.timeout |                                | 
请求超时时间(毫秒),控制连接获取超时                               | 3000    | 否       |
+| s3.connection.timeout         |                                | 
建立连接的超时时间(毫秒)                                           | 1000    | 否       |
+| s3.role_arn                   |                                | 使用 Assume 
Role 模式时指定的角色 ARN                                | 无      | 否       |
+| s3.external_id                |                                | 配合 
`s3.role_arn` 使用的 external ID                                | 无      | 否       
|
+| s3.credentials_provider_type  |                               | 指定 AWS 
凭证提供器类型(无 AK/SK 时使用;在 IAM Role 场景用于 STS 源凭证) | DEFAULT | 否       |
+
+> 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。
 
 ## 认证配置
 
-Doris 支持以下两种方式访问 S3:
+Doris 支持以下三种方式访问 S3:
 
-1. 直接使用 Access Key 和 Secret Key
+### 1. 直接使用 Access Key 和 Secret Key(AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role(Assume Role)模式
+
+适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### 在 IAM Role 模式中配置 `s3.credentials_provider_type`
+
+当配置了 `s3.role_arn` 时,`s3.credentials_provider_type` 用于指定 STS `AssumeRole` 
调用所使用的源凭证 provider:
+
+1. 按 `s3.credentials_provider_type` 获取源凭证。
+2. 用源凭证调用 STS `AssumeRole`。
+3. 使用返回的临时凭证访问 S3。
+
+#### IAM Role + `s3.credentials_provider_type` 配置示例
+
+**示例 1:EC2 Instance Profile 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 2:Web Identity(如 IRSA)作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 3:容器元数据作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 4:使用默认 provider chain 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. 通过 `s3.credentials_provider_type` 指定凭证来源
+
+适用于不显式填写 AK/SK 的场景,例如 EC2 Instance Profile、容器元数据、Web Identity 等。
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### `s3.credentials_provider_type` 可选值
 
-2. Assume Role 模式
+| 值                | 说明 |
+|-------------------|------|
+| DEFAULT           | 使用默认 provider chain |
+| ENV               | 从环境变量读取凭证 |
+| SYSTEM_PROPERTIES | 从系统属性读取凭证 |
+| WEB_IDENTITY      | 使用 Web Identity Token 凭证 |
+| CONTAINER         | 使用容器元数据凭证 |
+| INSTANCE_PROFILE  | 使用 EC2 Instance Profile 凭证 |
+| ANONYMOUS         | 匿名访问(适用于公开桶) |
 
-  适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+### 同时配置时的生效规则
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. 同时配置 `s3.access_key` 和 `s3.secret_key` 时,优先使用 AK/SK。
+2. 未配置 AK/SK 且配置了 `s3.role_arn` 时,使用 IAM Role;此时 
`s3.credentials_provider_type` 用于 STS 源凭证选择。
+3. 未配置 AK/SK 且未配置 `s3.role_arn` 时,`s3.credentials_provider_type` 直接决定 S3 
客户端使用的 provider。
 
-> 如果同时设置了 Access Key 和 Role ARN,则优先使用 Access Key 模式。
+> 注意:`s3.access_key` 和 `s3.secret_key` 必须成对出现,仅配置其中一个会报错。
 
 ## 访问 S3 Directory Bucket
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/s3.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/s3.md
index 6b215787995..f7968258697 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/s3.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@
 
 ## 参数总览
 
-| 属性名称                     | 曾用名 | 描述                                      | 
默认值 | 是否必须 |
-|------------------------------|--------|-------------------------------------------|--------|----------|
-| s3.endpoint                  |        | S3 服务访问地址,如 
s3.us-east-1.amazonaws.com | 无     | 否       |
-| s3.access_key                |        | AWS Access Key。用于身份验证              | 
无     | 否       |
-| s3.secret_key                |        | AWS Secret Key。用于身份验证              | 
无     | 否       |
-| s3.region                    |        | S3 所在的区域,例如:us-east-1。强烈建议配置 | 无     
| 是       |
-| s3.use_path_style            |        | 是否使用 path-style(路径风格)访问。     | FALSE 
 | 否       |
-| s3.connection.maximum        |        | 最大连接数,适用于高并发场景              | 50     
| 否       |
-| s3.connection.request.timeout|        | 请求超时时间(毫秒),控制连接获取超时    | 3000   | 否  
     |
-| s3.connection.timeout        |        | 建立连接的超时时间(毫秒)                | 1000  
 | 否       |
-| s3.role_arn                  |        | 使用 Assume Role 模式时指定的角色 ARN     | 无  
   | 否       |
-| s3.external_id               |        | 配合 s3.role_arn 使用的 external ID       
| 无     | 否       |
+| 属性名称                      | 曾用名                         | 描述                 
                                                | 默认值  | 是否必须 |
+|-------------------------------|--------------------------------|----------------------------------------------------------------------|---------|----------|
+| s3.endpoint                   |                                | S3 服务访问地址,如 
`s3.us-east-1.amazonaws.com`                     | 无      | 否       |
+| s3.access_key                 |                                | AWS Access 
Key。用于身份验证                                         | 无      | 否       |
+| s3.secret_key                 |                                | AWS Secret 
Key。用于身份验证                                         | 无      | 否       |
+| s3.region                     |                                | S3 
所在区域,例如:`us-east-1`。强烈建议配置                         | 无      | 是       |
+| s3.use_path_style             |                                | 是否使用 
path-style(路径风格)访问                                  | FALSE   | 否       |
+| s3.connection.maximum         |                                | 
最大连接数,适用于高并发场景                                         | 50      | 否       |
+| s3.connection.request.timeout |                                | 
请求超时时间(毫秒),控制连接获取超时                               | 3000    | 否       |
+| s3.connection.timeout         |                                | 
建立连接的超时时间(毫秒)                                           | 1000    | 否       |
+| s3.role_arn                   |                                | 使用 Assume 
Role 模式时指定的角色 ARN                                | 无      | 否       |
+| s3.external_id                |                                | 配合 
`s3.role_arn` 使用的 external ID                                | 无      | 否       
|
+| s3.credentials_provider_type  |                               | 指定 AWS 
凭证提供器类型(无 AK/SK 时使用;在 IAM Role 场景用于 STS 源凭证) | DEFAULT | 否       |
+
+> 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。
 
 ## 认证配置
 
-Doris 支持以下两种方式访问 S3:
+Doris 支持以下三种方式访问 S3:
 
-1. 直接使用 Access Key 和 Secret Key
+### 1. 直接使用 Access Key 和 Secret Key(AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role(Assume Role)模式
+
+适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### 在 IAM Role 模式中配置 `s3.credentials_provider_type`
+
+当配置了 `s3.role_arn` 时,`s3.credentials_provider_type` 用于指定 STS `AssumeRole` 
调用所使用的源凭证 provider:
+
+1. 按 `s3.credentials_provider_type` 获取源凭证。
+2. 用源凭证调用 STS `AssumeRole`。
+3. 使用返回的临时凭证访问 S3。
+
+#### IAM Role + `s3.credentials_provider_type` 配置示例
+
+**示例 1:EC2 Instance Profile 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 2:Web Identity(如 IRSA)作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 3:容器元数据作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 4:使用默认 provider chain 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. 通过 `s3.credentials_provider_type` 指定凭证来源
+
+适用于不显式填写 AK/SK 的场景,例如 EC2 Instance Profile、容器元数据、Web Identity 等。
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### `s3.credentials_provider_type` 可选值
 
-2. Assume Role 模式
+| 值                | 说明 |
+|-------------------|------|
+| DEFAULT           | 使用默认 provider chain |
+| ENV               | 从环境变量读取凭证 |
+| SYSTEM_PROPERTIES | 从系统属性读取凭证 |
+| WEB_IDENTITY      | 使用 Web Identity Token 凭证 |
+| CONTAINER         | 使用容器元数据凭证 |
+| INSTANCE_PROFILE  | 使用 EC2 Instance Profile 凭证 |
+| ANONYMOUS         | 匿名访问(适用于公开桶) |
 
-  适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+### 同时配置时的生效规则
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. 同时配置 `s3.access_key` 和 `s3.secret_key` 时,优先使用 AK/SK。
+2. 未配置 AK/SK 且配置了 `s3.role_arn` 时,使用 IAM Role;此时 
`s3.credentials_provider_type` 用于 STS 源凭证选择。
+3. 未配置 AK/SK 且未配置 `s3.role_arn` 时,`s3.credentials_provider_type` 直接决定 S3 
客户端使用的 provider。
 
-> 如果同时设置了 Access Key 和 Role ARN,则优先使用 Access Key 模式。
+> 注意:`s3.access_key` 和 `s3.secret_key` 必须成对出现,仅配置其中一个会报错。
 
 AWS 
认证鉴权配置说明请参阅文档[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md
index 6b215787995..f7968258697 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@
 
 ## 参数总览
 
-| 属性名称                     | 曾用名 | 描述                                      | 
默认值 | 是否必须 |
-|------------------------------|--------|-------------------------------------------|--------|----------|
-| s3.endpoint                  |        | S3 服务访问地址,如 
s3.us-east-1.amazonaws.com | 无     | 否       |
-| s3.access_key                |        | AWS Access Key。用于身份验证              | 
无     | 否       |
-| s3.secret_key                |        | AWS Secret Key。用于身份验证              | 
无     | 否       |
-| s3.region                    |        | S3 所在的区域,例如:us-east-1。强烈建议配置 | 无     
| 是       |
-| s3.use_path_style            |        | 是否使用 path-style(路径风格)访问。     | FALSE 
 | 否       |
-| s3.connection.maximum        |        | 最大连接数,适用于高并发场景              | 50     
| 否       |
-| s3.connection.request.timeout|        | 请求超时时间(毫秒),控制连接获取超时    | 3000   | 否  
     |
-| s3.connection.timeout        |        | 建立连接的超时时间(毫秒)                | 1000  
 | 否       |
-| s3.role_arn                  |        | 使用 Assume Role 模式时指定的角色 ARN     | 无  
   | 否       |
-| s3.external_id               |        | 配合 s3.role_arn 使用的 external ID       
| 无     | 否       |
+| 属性名称                      | 曾用名                         | 描述                 
                                                | 默认值  | 是否必须 |
+|-------------------------------|--------------------------------|----------------------------------------------------------------------|---------|----------|
+| s3.endpoint                   |                                | S3 服务访问地址,如 
`s3.us-east-1.amazonaws.com`                     | 无      | 否       |
+| s3.access_key                 |                                | AWS Access 
Key。用于身份验证                                         | 无      | 否       |
+| s3.secret_key                 |                                | AWS Secret 
Key。用于身份验证                                         | 无      | 否       |
+| s3.region                     |                                | S3 
所在区域,例如:`us-east-1`。强烈建议配置                         | 无      | 是       |
+| s3.use_path_style             |                                | 是否使用 
path-style(路径风格)访问                                  | FALSE   | 否       |
+| s3.connection.maximum         |                                | 
最大连接数,适用于高并发场景                                         | 50      | 否       |
+| s3.connection.request.timeout |                                | 
请求超时时间(毫秒),控制连接获取超时                               | 3000    | 否       |
+| s3.connection.timeout         |                                | 
建立连接的超时时间(毫秒)                                           | 1000    | 否       |
+| s3.role_arn                   |                                | 使用 Assume 
Role 模式时指定的角色 ARN                                | 无      | 否       |
+| s3.external_id                |                                | 配合 
`s3.role_arn` 使用的 external ID                                | 无      | 否       
|
+| s3.credentials_provider_type  |                               | 指定 AWS 
凭证提供器类型(无 AK/SK 时使用;在 IAM Role 场景用于 STS 源凭证) | DEFAULT | 否       |
+
+> 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。
 
 ## 认证配置
 
-Doris 支持以下两种方式访问 S3:
+Doris 支持以下三种方式访问 S3:
 
-1. 直接使用 Access Key 和 Secret Key
+### 1. 直接使用 Access Key 和 Secret Key(AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role(Assume Role)模式
+
+适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### 在 IAM Role 模式中配置 `s3.credentials_provider_type`
+
+当配置了 `s3.role_arn` 时,`s3.credentials_provider_type` 用于指定 STS `AssumeRole` 
调用所使用的源凭证 provider:
+
+1. 按 `s3.credentials_provider_type` 获取源凭证。
+2. 用源凭证调用 STS `AssumeRole`。
+3. 使用返回的临时凭证访问 S3。
+
+#### IAM Role + `s3.credentials_provider_type` 配置示例
+
+**示例 1:EC2 Instance Profile 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 2:Web Identity(如 IRSA)作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 3:容器元数据作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**示例 4:使用默认 provider chain 作为 STS 源凭证**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. 通过 `s3.credentials_provider_type` 指定凭证来源
+
+适用于不显式填写 AK/SK 的场景,例如 EC2 Instance Profile、容器元数据、Web Identity 等。
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### `s3.credentials_provider_type` 可选值
 
-2. Assume Role 模式
+| 值                | 说明 |
+|-------------------|------|
+| DEFAULT           | 使用默认 provider chain |
+| ENV               | 从环境变量读取凭证 |
+| SYSTEM_PROPERTIES | 从系统属性读取凭证 |
+| WEB_IDENTITY      | 使用 Web Identity Token 凭证 |
+| CONTAINER         | 使用容器元数据凭证 |
+| INSTANCE_PROFILE  | 使用 EC2 Instance Profile 凭证 |
+| ANONYMOUS         | 匿名访问(适用于公开桶) |
 
-  适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
+### 同时配置时的生效规则
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. 同时配置 `s3.access_key` 和 `s3.secret_key` 时,优先使用 AK/SK。
+2. 未配置 AK/SK 且配置了 `s3.role_arn` 时,使用 IAM Role;此时 
`s3.credentials_provider_type` 用于 STS 源凭证选择。
+3. 未配置 AK/SK 且未配置 `s3.role_arn` 时,`s3.credentials_provider_type` 直接决定 S3 
客户端使用的 provider。
 
-> 如果同时设置了 Access Key 和 Role ARN,则优先使用 Access Key 模式。
+> 注意:`s3.access_key` 和 `s3.secret_key` 必须成对出现,仅配置其中一个会报错。
 
 AWS 
认证鉴权配置说明请参阅文档[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 
diff --git a/versioned_docs/version-2.1/lakehouse/storages/s3.md 
b/versioned_docs/version-2.1/lakehouse/storages/s3.md
index 1f2ba5d54e5..f4557a36d00 100644
--- a/versioned_docs/version-2.1/lakehouse/storages/s3.md
+++ b/versioned_docs/version-2.1/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@ This document describes the parameters required for 
accessing AWS S3. These para
 
 ## Parameter Overview
 
-| Property Name                | Legacy Name | Description                     
                 | Default | Required |
-|------------------------------|-------------|--------------------------------------------------|---------|----------|
-| s3.endpoint                  |             | S3 service access endpoint, 
e.g., s3.us-east-1.amazonaws.com | None    | No       |
-| s3.access_key                |             | AWS Access Key for 
authentication               | None    | No       |
-| s3.secret_key                |             | AWS Secret Key for 
authentication               | None    | No       |
-| s3.region                    |             | S3 region, e.g., us-east-1. 
Strongly recommended | None    | Yes      |
-| s3.use_path_style            |             | Whether to use path-style 
access                | FALSE   | No       |
-| s3.connection.maximum        |             | Maximum number of connections 
for high concurrency scenarios | 50      | No       |
-| s3.connection.request.timeout|             | Request timeout (milliseconds), 
controls connection acquisition timeout | 3000    | No       |
-| s3.connection.timeout        |             | Connection establishment 
timeout (milliseconds) | 1000    | No       |
-| s3.role_arn                  |             | Role ARN specified when using 
Assume Role mode  | None    | No       |
-| s3.external_id               |             | External ID used with 
s3.role_arn               | None    | No       |
+| Property Name                | Legacy Name                   | Description   
                                                              | Default | 
Required |
+|------------------------------|-------------------------------|-----------------------------------------------------------------------------|---------|----------|
+| s3.endpoint                  |                               | S3 service 
access endpoint, e.g., `s3.us-east-1.amazonaws.com`             | None    | No  
     |
+| s3.access_key                |                               | AWS Access 
Key for authentication                                           | None    | No 
      |
+| s3.secret_key                |                               | AWS Secret 
Key for authentication                                           | None    | No 
      |
+| s3.region                    |                               | S3 region, 
e.g., `us-east-1`. Strongly recommended                         | None    | Yes 
     |
+| s3.use_path_style            |                               | Whether to 
use path-style access                                            | FALSE   | No 
      |
+| s3.connection.maximum        |                               | Maximum 
number of connections for high concurrency scenarios                | 50      | 
No       |
+| s3.connection.request.timeout|                               | Request 
timeout (milliseconds), controls connection acquisition timeout     | 3000    | 
No       |
+| s3.connection.timeout        |                               | Connection 
establishment timeout (milliseconds)                             | 1000    | No 
      |
+| s3.role_arn                  |                               | Role ARN 
specified when using Assume Role mode                             | None    | 
No       |
+| s3.external_id               |                               | External ID 
used with `s3.role_arn`                                        | None    | No   
    |
+| s3.credentials_provider_type |                               | Credentials 
provider type for AWS authentication (used without AK/SK; used as STS source 
credentials in IAM Role mode) | DEFAULT | No       |
+
+> Version note: `s3.credentials_provider_type` is supported since **3.1.4** 
and **4.0.3**.
 
 ## Authentication Configuration
 
-Doris supports the following two methods to access S3:
+Doris supports the following three methods to access S3:
 
-1. Direct Access Key and Secret Key
+### 1. Direct Access Key and Secret Key (AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role (Assume Role) mode
+
+Suitable for cross-account and temporary authorization access. Doris 
automatically obtains temporary credentials through role authorization.
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### Configure `s3.credentials_provider_type` in IAM Role mode
+
+When `s3.role_arn` is configured, `s3.credentials_provider_type` controls 
which source credentials provider is used for STS `AssumeRole`:
+
+1. Get source credentials from `s3.credentials_provider_type`.
+2. Call STS `AssumeRole` with source credentials.
+3. Access S3 with the returned temporary credentials.
+
+#### IAM Role + `s3.credentials_provider_type` examples
+
+**Example 1: EC2 Instance Profile as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 2: Web Identity (for example IRSA) as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 3: Container metadata as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 4: Default provider chain as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. Specify credential source with `s3.credentials_provider_type`
+
+This is suitable for scenarios without explicit AK/SK, such as EC2 Instance 
Profile, container metadata, or Web Identity.
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### Supported values for `s3.credentials_provider_type`
 
-2. Assume Role Mode
+| Value             | Description |
+|-------------------|-------------|
+| DEFAULT           | Use default provider chain |
+| ENV               | Read credentials from environment variables |
+| SYSTEM_PROPERTIES | Read credentials from system properties |
+| WEB_IDENTITY      | Use Web Identity Token credentials |
+| CONTAINER         | Use container metadata credentials |
+| INSTANCE_PROFILE  | Use EC2 Instance Profile credentials |
+| ANONYMOUS         | Anonymous access (for public buckets) |
 
-  Suitable for cross-account and temporary authorization access. Automatically 
obtains temporary credentials through role authorization.
+### Effective rules when configured together
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. If `s3.access_key` and `s3.secret_key` are both configured, AK/SK is used 
first.
+2. If AK/SK is not configured and `s3.role_arn` is configured, IAM Role is 
used. In this case, `s3.credentials_provider_type` is used to select STS source 
credentials.
+3. If neither AK/SK nor `s3.role_arn` is configured, 
`s3.credentials_provider_type` directly determines the credentials provider 
used by the S3 client.
 
-> If both Access Key and Role ARN are configured, Access Key mode takes 
precedence.
+> Note: `s3.access_key` and `s3.secret_key` must be configured together.
 
 ## Accessing S3 Directory Bucket
 
diff --git a/versioned_docs/version-3.x/lakehouse/storages/s3.md 
b/versioned_docs/version-3.x/lakehouse/storages/s3.md
index 97f55b50936..8705e7709b5 100644
--- a/versioned_docs/version-3.x/lakehouse/storages/s3.md
+++ b/versioned_docs/version-3.x/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@ This document describes the parameters required for 
accessing AWS S3. These para
 
 ## Parameter Overview
 
-| Property Name                | Legacy Name | Description                     
                 | Default | Required |
-|------------------------------|-------------|--------------------------------------------------|---------|----------|
-| s3.endpoint                  |             | S3 service access endpoint, 
e.g., s3.us-east-1.amazonaws.com | None    | No       |
-| s3.access_key                |             | AWS Access Key for 
authentication               | None    | No       |
-| s3.secret_key                |             | AWS Secret Key for 
authentication               | None    | No       |
-| s3.region                    |             | S3 region, e.g., us-east-1. 
Strongly recommended | None    | Yes      |
-| s3.use_path_style            |             | Whether to use path-style 
access                | FALSE   | No       |
-| s3.connection.maximum        |             | Maximum number of connections 
for high concurrency scenarios | 50      | No       |
-| s3.connection.request.timeout|             | Request timeout (milliseconds), 
controls connection acquisition timeout | 3000    | No       |
-| s3.connection.timeout        |             | Connection establishment 
timeout (milliseconds) | 1000    | No       |
-| s3.role_arn                  |             | Role ARN specified when using 
Assume Role mode  | None    | No       |
-| s3.external_id               |             | External ID used with 
s3.role_arn               | None    | No       |
+| Property Name                | Legacy Name                   | Description   
                                                              | Default | 
Required |
+|------------------------------|-------------------------------|-----------------------------------------------------------------------------|---------|----------|
+| s3.endpoint                  |                               | S3 service 
access endpoint, e.g., `s3.us-east-1.amazonaws.com`             | None    | No  
     |
+| s3.access_key                |                               | AWS Access 
Key for authentication                                           | None    | No 
      |
+| s3.secret_key                |                               | AWS Secret 
Key for authentication                                           | None    | No 
      |
+| s3.region                    |                               | S3 region, 
e.g., `us-east-1`. Strongly recommended                         | None    | Yes 
     |
+| s3.use_path_style            |                               | Whether to 
use path-style access                                            | FALSE   | No 
      |
+| s3.connection.maximum        |                               | Maximum 
number of connections for high concurrency scenarios                | 50      | 
No       |
+| s3.connection.request.timeout|                               | Request 
timeout (milliseconds), controls connection acquisition timeout     | 3000    | 
No       |
+| s3.connection.timeout        |                               | Connection 
establishment timeout (milliseconds)                             | 1000    | No 
      |
+| s3.role_arn                  |                               | Role ARN 
specified when using Assume Role mode                             | None    | 
No       |
+| s3.external_id               |                               | External ID 
used with `s3.role_arn`                                        | None    | No   
    |
+| s3.credentials_provider_type |                               | Credentials 
provider type for AWS authentication (used without AK/SK; used as STS source 
credentials in IAM Role mode) | DEFAULT | No       |
+
+> Version note: `s3.credentials_provider_type` is supported since **3.1.4** 
and **4.0.3**.
 
 ## Authentication Configuration
 
-Doris supports the following two methods to access S3:
+Doris supports the following three methods to access S3:
 
-1. Direct Access Key and Secret Key
+### 1. Direct Access Key and Secret Key (AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role (Assume Role) mode
+
+Suitable for cross-account and temporary authorization access. Doris 
automatically obtains temporary credentials through role authorization.
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### Configure `s3.credentials_provider_type` in IAM Role mode
+
+When `s3.role_arn` is configured, `s3.credentials_provider_type` controls 
which source credentials provider is used for STS `AssumeRole`:
+
+1. Get source credentials from `s3.credentials_provider_type`.
+2. Call STS `AssumeRole` with source credentials.
+3. Access S3 with the returned temporary credentials.
+
+#### IAM Role + `s3.credentials_provider_type` examples
+
+**Example 1: EC2 Instance Profile as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 2: Web Identity (for example IRSA) as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 3: Container metadata as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 4: Default provider chain as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. Specify credential source with `s3.credentials_provider_type`
+
+This is suitable for scenarios without explicit AK/SK, such as EC2 Instance 
Profile, container metadata, or Web Identity.
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### Supported values for `s3.credentials_provider_type`
 
-2. Assume Role Mode
+| Value             | Description |
+|-------------------|-------------|
+| DEFAULT           | Use default provider chain |
+| ENV               | Read credentials from environment variables |
+| SYSTEM_PROPERTIES | Read credentials from system properties |
+| WEB_IDENTITY      | Use Web Identity Token credentials |
+| CONTAINER         | Use container metadata credentials |
+| INSTANCE_PROFILE  | Use EC2 Instance Profile credentials |
+| ANONYMOUS         | Anonymous access (for public buckets) |
 
-  Suitable for cross-account and temporary authorization access. Automatically 
obtains temporary credentials through role authorization.
+### Effective rules when configured together
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. If `s3.access_key` and `s3.secret_key` are both configured, AK/SK is used 
first.
+2. If AK/SK is not configured and `s3.role_arn` is configured, IAM Role is 
used. In this case, `s3.credentials_provider_type` is used to select STS source 
credentials.
+3. If neither AK/SK nor `s3.role_arn` is configured, 
`s3.credentials_provider_type` directly determines the credentials provider 
used by the S3 client.
 
-> If both Access Key and Role ARN are configured, Access Key mode takes 
precedence.
+> Note: `s3.access_key` and `s3.secret_key` must be configured together.
 
 For instructions on AWS authentication and authorization configuration, please 
refer to the document 
[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 
diff --git a/versioned_docs/version-4.x/lakehouse/storages/s3.md 
b/versioned_docs/version-4.x/lakehouse/storages/s3.md
index da7196f4a3f..2abf4b51c03 100644
--- a/versioned_docs/version-4.x/lakehouse/storages/s3.md
+++ b/versioned_docs/version-4.x/lakehouse/storages/s3.md
@@ -19,44 +19,122 @@ This document describes the parameters required for 
accessing AWS S3. These para
 
 ## Parameter Overview
 
-| Property Name                | Legacy Name | Description                     
                 | Default | Required |
-|------------------------------|-------------|--------------------------------------------------|---------|----------|
-| s3.endpoint                  |             | S3 service access endpoint, 
e.g., s3.us-east-1.amazonaws.com | None    | No       |
-| s3.access_key                |             | AWS Access Key for 
authentication               | None    | No       |
-| s3.secret_key                |             | AWS Secret Key for 
authentication               | None    | No       |
-| s3.region                    |             | S3 region, e.g., us-east-1. 
Strongly recommended | None    | Yes      |
-| s3.use_path_style            |             | Whether to use path-style 
access                | FALSE   | No       |
-| s3.connection.maximum        |             | Maximum number of connections 
for high concurrency scenarios | 50      | No       |
-| s3.connection.request.timeout|             | Request timeout (milliseconds), 
controls connection acquisition timeout | 3000    | No       |
-| s3.connection.timeout        |             | Connection establishment 
timeout (milliseconds) | 1000    | No       |
-| s3.role_arn                  |             | Role ARN specified when using 
Assume Role mode  | None    | No       |
-| s3.external_id               |             | External ID used with 
s3.role_arn               | None    | No       |
+| Property Name                | Legacy Name                   | Description   
                                                              | Default | 
Required |
+|------------------------------|-------------------------------|-----------------------------------------------------------------------------|---------|----------|
+| s3.endpoint                  |                               | S3 service 
access endpoint, e.g., `s3.us-east-1.amazonaws.com`             | None    | No  
     |
+| s3.access_key                |                               | AWS Access 
Key for authentication                                           | None    | No 
      |
+| s3.secret_key                |                               | AWS Secret 
Key for authentication                                           | None    | No 
      |
+| s3.region                    |                               | S3 region, 
e.g., `us-east-1`. Strongly recommended                         | None    | Yes 
     |
+| s3.use_path_style            |                               | Whether to 
use path-style access                                            | FALSE   | No 
      |
+| s3.connection.maximum        |                               | Maximum 
number of connections for high concurrency scenarios                | 50      | 
No       |
+| s3.connection.request.timeout|                               | Request 
timeout (milliseconds), controls connection acquisition timeout     | 3000    | 
No       |
+| s3.connection.timeout        |                               | Connection 
establishment timeout (milliseconds)                             | 1000    | No 
      |
+| s3.role_arn                  |                               | Role ARN 
specified when using Assume Role mode                             | None    | 
No       |
+| s3.external_id               |                               | External ID 
used with `s3.role_arn`                                        | None    | No   
    |
+| s3.credentials_provider_type |                               | Credentials 
provider type for AWS authentication (used without AK/SK; used as STS source 
credentials in IAM Role mode) | DEFAULT | No       |
+
+> Version note: `s3.credentials_provider_type` is supported since **3.1.4** 
and **4.0.3**.
 
 ## Authentication Configuration
 
-Doris supports the following two methods to access S3:
+Doris supports the following three methods to access S3:
 
-1. Direct Access Key and Secret Key
+### 1. Direct Access Key and Secret Key (AK/SK)
 
-  ```properties
-  "s3.access_key"="your-access-key",
-  "s3.secret_key"="your-secret-key",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+```properties
+"s3.access_key"="your-access-key",
+"s3.secret_key"="your-secret-key",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 2. IAM Role (Assume Role) mode
+
+Suitable for cross-account and temporary authorization access. Doris 
automatically obtains temporary credentials through role authorization.
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+#### Configure `s3.credentials_provider_type` in IAM Role mode
+
+When `s3.role_arn` is configured, `s3.credentials_provider_type` controls 
which source credentials provider is used for STS `AssumeRole`:
+
+1. Get source credentials from `s3.credentials_provider_type`.
+2. Call STS `AssumeRole` with source credentials.
+3. Access S3 with the returned temporary credentials.
+
+#### IAM Role + `s3.credentials_provider_type` examples
+
+**Example 1: EC2 Instance Profile as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.external_id"="external-identifier",
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 2: Web Identity (for example IRSA) as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="WEB_IDENTITY",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 3: Container metadata as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="CONTAINER",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+**Example 4: Default provider chain as STS source credentials**
+
+```properties
+"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
+"s3.credentials_provider_type"="DEFAULT",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### 3. Specify credential source with `s3.credentials_provider_type`
+
+This is suitable for scenarios without explicit AK/SK, such as EC2 Instance 
Profile, container metadata, or Web Identity.
+
+```properties
+"s3.credentials_provider_type"="INSTANCE_PROFILE",
+"s3.endpoint"="s3.us-east-1.amazonaws.com",
+"s3.region"="us-east-1"
+```
+
+### Supported values for `s3.credentials_provider_type`
 
-2. Assume Role Mode
+| Value             | Description |
+|-------------------|-------------|
+| DEFAULT           | Use default provider chain |
+| ENV               | Read credentials from environment variables |
+| SYSTEM_PROPERTIES | Read credentials from system properties |
+| WEB_IDENTITY      | Use Web Identity Token credentials |
+| CONTAINER         | Use container metadata credentials |
+| INSTANCE_PROFILE  | Use EC2 Instance Profile credentials |
+| ANONYMOUS         | Anonymous access (for public buckets) |
 
-  Suitable for cross-account and temporary authorization access. Automatically 
obtains temporary credentials through role authorization.
+### Effective rules when configured together
 
-  ```properties
-  "s3.role_arn"="arn:aws:iam::123456789012:role/demo-role",
-  "s3.external_id"="external-identifier",
-  "s3.endpoint"="s3.us-east-1.amazonaws.com",
-  "s3.region"="us-east-1"
-  ```
+1. If `s3.access_key` and `s3.secret_key` are both configured, AK/SK is used 
first.
+2. If AK/SK is not configured and `s3.role_arn` is configured, IAM Role is 
used. In this case, `s3.credentials_provider_type` is used to select STS source 
credentials.
+3. If neither AK/SK nor `s3.role_arn` is configured, 
`s3.credentials_provider_type` directly determines the credentials provider 
used by the S3 client.
 
-> If both Access Key and Role ARN are configured, Access Key mode takes 
precedence.
+> Note: `s3.access_key` and `s3.secret_key` must be configured together.
 
 For instructions on AWS authentication and authorization configuration, please 
refer to the document 
[aws-authentication-and-authorization](../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to