跳转至

7.10 云服务认证接入

1 概述

当访问云上的服务时,我们需要提供访问服务所需要的凭证,以便服务能够通过各云厂商 IAM 的认证。

2 AWS

现在 Doris 访问 AWS 服务时,能够支持两种类型的身份认证。

2.1 使用Catalog属性认证

Iceberg Catalog 访问 Glue 为例,我们可以填写以下属性访问在 Glue 上托管的表:

SQL
1
2
3
4
5
6
7
8
9
-- 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"
);

2.2 使用系统属性认证

用于运行在 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 s文件。