diff --git a/docs/cn/guides/20-cloud/10-using-databend-cloud/01-warehouses.md b/docs/cn/guides/20-cloud/10-using-databend-cloud/01-warehouses.md
index be2bd5c506..1e01e97006 100644
--- a/docs/cn/guides/20-cloud/10-using-databend-cloud/01-warehouses.md
+++ b/docs/cn/guides/20-cloud/10-using-databend-cloud/01-warehouses.md
@@ -208,4 +208,4 @@ GRANT ALL ON my_database.* TO warehouse_user1;
### 连接安全性
-默认情况下,所有到 Databend Cloud 计算集群的连接都使用 TLS 加密。对于需要额外安全性的企业用户,可以使用 [AWS PrivateLink](/guides/sql-clients/privatelink) 在您的 VPC 和 Databend Cloud 之间建立私有连接。
\ No newline at end of file
+默认情况下,所有到 Databend Cloud 计算集群的连接都使用 TLS 加密。对于需要额外安全性的企业用户,可以使用 [AWS PrivateLink](/guides/cloud/advanced/private-link) 在您的 VPC 和 Databend Cloud 之间建立私有连接。
diff --git a/docs/cn/guides/40-load-data/00-stage/06-aws-iam-role.md b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/01-aws.md
similarity index 86%
rename from docs/cn/guides/40-load-data/00-stage/06-aws-iam-role.md
rename to docs/cn/guides/20-cloud/30-advanced/01-iam-role/01-aws.md
index 87c75670f0..33662115d9 100644
--- a/docs/cn/guides/40-load-data/00-stage/06-aws-iam-role.md
+++ b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/01-aws.md
@@ -1,11 +1,8 @@
---
-title: "使用 AWS IAM 角色创建外部 Stage"
+title: "使用 AWS IAM 角色进行认证"
+sidebar_label: "AWS IAM 角色"
---
-# 为什么选择 IAM 角色
-
-通过 AWS IAM 角色,您可以在 Databend Cloud 中访问自己的 AWS S3 存储桶。这种方式无需管理 AWS 凭证即可安全访问数据并进行数据分析。
-
# 如何使用 IAM 角色
1. 提交工单获取您 Databend Cloud 组织的 IAM 角色 ARN:
@@ -57,6 +54,11 @@ title: "使用 AWS IAM 角色创建外部 Stage"
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/xxxxxxx/tnabcdefg/xxxxxxx-tnabcdefg"
},
+ "Condition": {
+ "StringEquals": {
+ "sts:ExternalId": "my-external-id-123"
+ }
+ },
"Action": "sts:AssumeRole"
}
]
@@ -72,7 +74,7 @@ title: "使用 AWS IAM 角色创建外部 Stage"
4. 在 Databend Cloud 工作区或 `BendSQL` 中执行以下 SQL 语句:
```sql
- CREATE CONNECTION databend_test STORAGE_TYPE = 's3' ROLE_ARN = 'arn:aws:iam::987654321987:role/databend-test';
+ CREATE CONNECTION databend_test STORAGE_TYPE = 's3' ROLE_ARN = 'arn:aws:iam::987654321987:role/databend-test' EXTERNAL_ID = 'my-external-id-123';
CREATE STAGE databend_test URL = 's3://test-bucket-123' CONNECTION = (CONNECTION_NAME = 'databend_test');
@@ -81,4 +83,4 @@ title: "使用 AWS IAM 角色创建外部 Stage"
:::info
恭喜!您现在可以通过 IAM 角色在 Databend Cloud 中访问自己的 AWS S3 存储桶了。
-:::
\ No newline at end of file
+:::
diff --git a/docs/cn/guides/20-cloud/30-advanced/01-iam-role/_category_.json b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/_category_.json
new file mode 100644
index 0000000000..7045d60039
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/_category_.json
@@ -0,0 +1,3 @@
+{
+ "label": "IAM 角色"
+}
diff --git a/docs/cn/guides/20-cloud/30-advanced/01-iam-role/index.md b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/index.md
new file mode 100644
index 0000000000..1b5691981d
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/01-iam-role/index.md
@@ -0,0 +1,22 @@
+---
+title: IAM 角色
+---
+
+import IndexOverviewList from '@site/src/components/IndexOverviewList';
+
+# 为什么选择 IAM 角色
+
+云原生的身份委托能力(如 AWS IAM Role、Azure Managed Identity、Google Service Account Federation 等)可以让 Databend Cloud 获取短期凭证,而无需接触长期 Access Key。这样既能把数据平面访问留在您的云账户内,又能让您始终掌控权限。
+
+## 优势
+
+- 无需长期密钥:短期凭证消除了泄露或轮换长期密钥的风险。
+- 最小权限:精细化策略可确保 Databend Cloud 只访问您授权的桶和操作。
+- 集中治理:继续通过既有 IAM 工作流进行审计、吊销和审批。
+- 自动轮换:云厂商负责刷新令牌,团队变动也不会中断访问。
+
+## 工作原理
+
+当 Databend Cloud 支持团队提供您组织的受信主体信息后,您需要在自己的云账户中创建 IAM 角色或身份,授予访问对象存储所需的最小权限,并在信任策略中指定只允许 Databend Cloud 使用唯一的 External ID 来扮演该角色。此后 Databend Cloud 会按需假设该角色,使用短期凭证访问存储,并在会话结束后自动退出。
+
+
diff --git a/docs/cn/guides/30-sql-clients/03-privatelink.md b/docs/cn/guides/20-cloud/30-advanced/02-private-link/01-aws.md
similarity index 54%
rename from docs/cn/guides/30-sql-clients/03-privatelink.md
rename to docs/cn/guides/20-cloud/30-advanced/02-private-link/01-aws.md
index 9c37c22701..b02e09a277 100644
--- a/docs/cn/guides/30-sql-clients/03-privatelink.md
+++ b/docs/cn/guides/20-cloud/30-advanced/02-private-link/01-aws.md
@@ -3,21 +3,11 @@ title: "通过 AWS PrivateLink 连接到 Databend Cloud"
sidebar_label: "AWS PrivateLink"
---
-# 为什么选择 PrivateLink
-
-通过 AWS PrivateLink 连接到 Databend Cloud 提供了一种安全且私密的方式来访问 Databend Cloud 服务,而无需经过公共互联网。
-
-通过利用 AWS PrivateLink,您可以在您的 Virtual Private Cloud (VPC) 和 Databend Cloud 之间建立私有连接,确保您的数据保留在您的 VPC 边界内,并且不会暴露于互联网。此设置增强了数据的安全性,并最大限度地降低了未经授权访问的风险。
-
-要使用 AWS PrivateLink 连接到 Databend Cloud,您需要在 VPC 中配置一个 VPC 终端节点。此终端节点充当代理,允许流量在您的 VPC 和 Databend Cloud 之间安全地流动。VPC 终端节点在您的 VPC 中具有私有 IP 地址,并有助于与 Databend Cloud 服务进行直接通信。
-
-建立 VPC 终端节点后,您可以使用私有 IP 地址安全地访问 Databend Cloud 服务,例如数据存储、数据处理和分析工具。这确保了您的数据保留在 VPC 的安全边界内,从而提供额外的保护层。
-
# 如何设置 AWS PrivateLink
1. 提供您计划连接到 Databend Cloud 的 AWS 账户 ID:
- 例如:`952853449216`
+ 例如:`123456789012`
2. 验证您的 VPC 设置
@@ -25,10 +15,9 @@ sidebar_label: "AWS PrivateLink"
确保选中 `启用 DNS 解析` 和 `启用 DNS 主机名`。
-3. 等待云管理员将您的帐户添加到白名单,并获取要连接的集群的服务名称:
+3. 等待云管理员将您的账户添加到白名单,并获取要连接的集群服务名称:
- - `com.amazonaws.vpce.us-east-2.vpce-svc-0e494364a37d35445` (aws, us-east-2, white)
- - `com.amazonaws.vpce.us-east-1.vpce-svc-0d9cd5a4a7c19796f` (aws, us-east-1, ivory)
+ 例如:`com.amazonaws.vpce.us-east-2.vpce-svc-0123456789abcdef0`
4. 准备一个打开 tcp 443 端口的安全组:
diff --git a/docs/cn/guides/20-cloud/30-advanced/02-private-link/_category_.json b/docs/cn/guides/20-cloud/30-advanced/02-private-link/_category_.json
new file mode 100644
index 0000000000..b735edc405
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/02-private-link/_category_.json
@@ -0,0 +1,3 @@
+{
+ "label": "Private Link"
+}
diff --git a/docs/cn/guides/20-cloud/30-advanced/02-private-link/index.md b/docs/cn/guides/20-cloud/30-advanced/02-private-link/index.md
new file mode 100644
index 0000000000..43a8bf5fa7
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/02-private-link/index.md
@@ -0,0 +1,22 @@
+---
+title: Private Link
+---
+
+import IndexOverviewList from '@site/src/components/IndexOverviewList';
+
+# 为什么选择 PrivateLink
+
+各大云厂商提供的 PrivateLink/Private Endpoint(AWS PrivateLink、Azure Private Link、Google Private Service Connect 等)允许您在自己的网络边界内通过私有 IP 访问 Databend Cloud,整个链路无需穿越公网。这能让数据集、凭据和管理操作都留在云厂商骨干网上,并遵循您现有的网络策略。
+
+## 优势
+
+- 网络隔离:流量始终停留在 VPC/VPN 内,避免暴露到公网上。
+- 合规友好:更容易满足禁止公网出口的内审或行业规范。
+- 性能稳定:走云厂商骨干而不是不可控的互联网线路。
+- 简化管控:沿用既有的安全组、路由表和监控手段。
+
+## 工作原理
+
+当 Databend Cloud 审批了您计划接入的云账户或项目后,您即可创建指向所在区域 Databend 服务的私有终端节点。启用私有 DNS 后,Databend Cloud 域名会解析到这些私有 IP,所有会话都会自动通过安全的私有链路传输。
+
+
diff --git a/docs/cn/guides/20-cloud/30-advanced/_category_.json b/docs/cn/guides/20-cloud/30-advanced/_category_.json
new file mode 100644
index 0000000000..a6a372c05d
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/_category_.json
@@ -0,0 +1,3 @@
+{
+ "label": "高级用法"
+}
diff --git a/docs/cn/guides/20-cloud/30-advanced/index.md b/docs/cn/guides/20-cloud/30-advanced/index.md
new file mode 100644
index 0000000000..62160cc858
--- /dev/null
+++ b/docs/cn/guides/20-cloud/30-advanced/index.md
@@ -0,0 +1,7 @@
+---
+title: 高级用法
+---
+
+import IndexOverviewList from '@site/src/components/IndexOverviewList';
+
+
diff --git a/docs/cn/guides/30-sql-clients/index.md b/docs/cn/guides/30-sql-clients/index.md
index 2de3a9a3e3..cc3fc5bd92 100644
--- a/docs/cn/guides/30-sql-clients/index.md
+++ b/docs/cn/guides/30-sql-clients/index.md
@@ -27,10 +27,3 @@ Databend 支持多种连接方式以适应不同的使用场景。以下所有 S
| **Node.js** | JavaScript 驱动 | Web 应用程序 | [Node.js 指南](/guides/sql-clients/developers/nodejs) |
| **Java** | JDBC 驱动 | 企业应用程序 | [JDBC 指南](/guides/sql-clients/developers/jdbc) |
| **Rust** | 原生驱动 | 系统编程 | [Rust 指南](/guides/sql-clients/developers/rust) |
-
-## 连接方式
-
-| 方式 | 安全级别 | 使用场景 | 设置复杂度 |
-|--------|----------------|----------|------------------|
-| **直接连接** | 标准 | 开发、测试 | ⭐ 简单 |
-| **[AWS PrivateLink](/guides/sql-clients/privatelink)** | 高 | 生产、企业 | ⭐⭐⭐ 高级 |
\ No newline at end of file
diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md
index d418ef1668..e3f89ccc6c 100644
--- a/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md
+++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md
@@ -32,7 +32,7 @@ ALTER TABLE [ . ] CONNECTION = ( connection_name = '<
- **自动轮换**:自动处理凭据轮换
- **细粒度控制**:支持更精确的访问控制
-要在 Databend Cloud 中使用 IAM 角色,请参阅[使用 AWS IAM 角色创建外部暂存区(Stage)](/guides/load-data/stage/aws-iam-role)获取指南。
+要在 Databend Cloud 中使用 IAM 角色,请参阅[使用 AWS IAM 角色进行认证](/guides/cloud/advanced/iam-role)获取指南。
## 示例
@@ -57,8 +57,8 @@ CREATE OR REPLACE TABLE external_table_test (
id INT,
name VARCHAR,
age INT
-)
-'s3://testbucket/13_fuse_external_table/'
+)
+'s3://testbucket/13_fuse_external_table/'
CONNECTION=(connection_name = 'external_table_conn');
-- 更新表以使用包含轮换凭据的新连接
@@ -80,8 +80,8 @@ CREATE TABLE sales_data (
order_id INT,
product_name VARCHAR,
quantity INT
-)
-'s3://sales-bucket/data/'
+)
+'s3://sales-bucket/data/'
CONNECTION=(connection_name = 's3_access_key_conn');
-- 稍后,使用 IAM 角色身份验证创建新连接
@@ -91,4 +91,4 @@ CREATE CONNECTION s3_role_conn
-- 更新表以使用 IAM 角色连接
ALTER TABLE sales_data CONNECTION=( connection_name = 's3_role_conn' );
-```
\ No newline at end of file
+```
diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/13-connection/create-connection.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/13-connection/create-connection.md
index e55ca97780..fd6db47af9 100644
--- a/docs/cn/sql-reference/10-sql-commands/00-ddl/13-connection/create-connection.md
+++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/13-connection/create-connection.md
@@ -17,8 +17,8 @@ import TabItem from '@theme/TabItem';
## 语法
```sql
-CREATE [ OR REPLACE ] CONNECTION [ IF NOT EXISTS ]
- STORAGE_TYPE = ''
+CREATE [ OR REPLACE ] CONNECTION [ IF NOT EXISTS ]
+ STORAGE_TYPE = ''
[ ]
```
@@ -51,9 +51,9 @@ Amazon S3 及兼容服务支持以下两种认证方式:
```sql
-CREATE CONNECTION
- STORAGE_TYPE = 's3'
- ACCESS_KEY_ID = ''
+CREATE CONNECTION
+ STORAGE_TYPE = 's3'
+ ACCESS_KEY_ID = ''
SECRET_ACCESS_KEY = '';
```
@@ -66,8 +66,8 @@ CREATE CONNECTION
```sql
-CREATE CONNECTION
- STORAGE_TYPE = 's3'
+CREATE CONNECTION
+ STORAGE_TYPE = 's3'
ROLE_ARN = '';
```
@@ -155,13 +155,13 @@ CREATE CONNECTION
示例:创建名为 toronto 的 Amazon S3 连接,并建立外部 Stage `my_s3_stage` 指向 `s3://databend-toronto`。更多与连接相关的示例请参阅 [使用示例](index.md#usage-examples)。
```sql
-CREATE CONNECTION toronto
- STORAGE_TYPE = 's3'
+CREATE CONNECTION toronto
+ STORAGE_TYPE = 's3'
ACCESS_KEY_ID = ''
SECRET_ACCESS_KEY = '';
-CREATE STAGE my_s3_stage
- URL = 's3://databend-toronto'
+CREATE STAGE my_s3_stage
+ URL = 's3://databend-toronto'
CONNECTION = (CONNECTION_NAME = 'toronto');
```
@@ -170,12 +170,12 @@ CREATE STAGE my_s3_stage
示例:使用 IAM Role 创建 Amazon S3 连接,并让 Stage 复用该连接,无需在 Databend 中存储访问密钥。
```sql
-CREATE CONNECTION databend_test
- STORAGE_TYPE = 's3'
+CREATE CONNECTION databend_test
+ STORAGE_TYPE = 's3'
ROLE_ARN = 'arn:aws:iam::987654321987:role/databend-test';
-CREATE STAGE databend_test
- URL = 's3://test-bucket-123'
+CREATE STAGE databend_test
+ URL = 's3://test-bucket-123'
CONNECTION = (CONNECTION_NAME = 'databend_test');
-- 现在可直接查询 S3 桶中的数据
@@ -183,5 +183,5 @@ SELECT * FROM @databend_test/test.parquet LIMIT 1;
```
:::info
-在 Databend Cloud 中使用 IAM 角色,需要在 AWS 账户与 Databend Cloud 之间建立信任关系。详见 [使用 AWS IAM 角色创建外部 Stage](/guides/load-data/stage/aws-iam-role)。
+在 Databend Cloud 中使用 IAM 角色,需要在 AWS 账户与 Databend Cloud 之间建立信任关系。详见 [使用 AWS IAM 角色进行认证](/guides/cloud/advanced/iam-role)。
:::