跳到主要内容
跳到主要内容

云服务认证接入

概述

当访问云上的服务时,我们需要提供访问服务所需要的凭证,以便服务能够通过各云厂商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_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKENAWS_ROLE_ARNAWS_WEB_IDENTITY_TOKEN_FILE
  • 另外,还可以使用aws configure直接配置Credentials信息,同时在~/.aws目录下生成credentials文件。