概述
当访问云上的服务时,我们需要提供访问服务所需要的凭证,以便服务能够通过各云厂商IAM的认证。
AWS
现在Doris访问AWS服务时,能够支持两种类型的身份认证。
使用Catalog属性认证
以Iceberg Catalog访问Glue为例,我们可以填写以下属性访问在Glue上托管的表:
-- Using access key and secret key
CREATE CATALOG glue2 PROPERTIES (
"type"="iceberg",
"iceberg.catalog.type" = "glue",
"glue.endpoint" = "https://glue.us-east-1.amazonaws.com/",
"client.credentials-provider" = "com.amazonaws.glue.catalog.credentials.ConfigAWSProvider",
"client.credentials-provider.glue.access_key" = "ak",
"client.credentials-provider.glue.secret_key" = "sk"
);
使用系统属性认证
用于运行在AWS资源(如EC2实例)上的应用程序。可以避免硬编码写入Credentials,能够增强数据安全性。
当我们在创建Catalog时,未填写Credentials属性,那么此时会使用DefaultAWSCredentialsProviderChain,它能够读取系统环境变量或者instance profile中配置的属性。
配置环境变量和系统属性的方式可以参考:AWS CLI 。
- 可以选择的配置的环境变量有:
AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
、AWS_ROLE_ARN
、AWS_WEB_IDENTITY_TOKEN_FILE
等 - 另外,还可以使用aws configure直接配置Credentials信息,同时在
~/.aws
目录下生成credentials文件。