为什么选择 IAM 角色
通过 AWS IAM 角色,您可以在 Databend Cloud 中访问自己的 AWS S3 存储桶。这种方式无需管理 AWS 凭证即可安全访问数据并进行数据分析。
如何使用 IAM 角色
-
提交工单获取您 Databend Cloud 组织的 IAM 角色 ARN:
例如:
arn:aws:iam::123456789012:role/xxxxxxx/tnabcdefg/xxxxxxx-tnabcdefg
-
访问 AWS 控制台:
https://us-east-2.console.aws.amazon.com/iam/home?region=us-east-2#/policies
点击
Create policy
,选择Custom trust policy
,并输入 S3 存储桶访问策略文档:{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::test-bucket-123"
},
{
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": "arn:aws:s3:::test-bucket-123/*"
}
]
}点击
Next
,输入策略名称databend-test
,然后点击Create policy
-
访问 AWS 控制台:
https://us-east-2.console.aws.amazon.com/iam/home?region=us-east-2#/roles
点击
Create role
,在Trusted entity type
中选择Custom trust policy
:输入信任策略文档:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/xxxxxxx/tnabcdefg/xxxxxxx-tnabcdefg"
},
"Action": "sts:AssumeRole"
}
]
}点击
Next
,选择之前创建的策略databend-test
点击
Next
,输入角色名称databend-test
点击
View Role
,记录角色 ARN:arn:aws:iam::987654321987:role/databend-test
-
在 Databend Cloud 工作区或
BendSQL
中执行以下 SQL 语句: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' CONNECTION = (CONNECTION_NAME = 'databend_test');
SELECT * FROM @databend_test/test.parquet LIMIT 1;
恭喜!您现在可以通过 IAM 角色在 Databend Cloud 中访问自己的 AWS S3 存储桶了。