写点什么

使用 Snowflake Workload Identity Federation 进行保密 | 技术实践

作者:Luis Leon

  • 2025-10-15
    北京
  • 本文字数:2133 字

    阅读完需:约 7 分钟

大小:941.46K时长:05:21
使用 Snowflake Workload Identity Federation 进行保密 | 技术实践

还在为告别密码验证的转变而困扰吗?想象一下,若能在此过渡期间彻底消除密钥管理该多好。现在,这已成为现实!


我们欣喜地宣布,Workload Identity Federation(WIF)现已正式全面上线!这一重要里程碑标志着我们在加强安全性和简化 Snowflake 身份验证方面的承诺迈出关键一步。通过 WIF,您现在可以直接使用应用程序及服务的现有基础设施身份,无需管理任何凭据即可实现与 Snowflake 的无缝连接。

传统身份验证方式面临的挑战


遵循行业最佳实践以保护客户是 Snowflake 的核心使命,为此我们正致力于在适用场景下逐步淘汰仅使用密码作为单一用户身份验证方式。目前服务连接 Snowflake 时通常依赖静态密钥(用户名/密码)。这种方式虽然简单,但若未得到妥善保护极易遭到泄露,且其安全管理需要投入高昂的运维成本。

 

Workload Identity Federation 是服务用户应对这一变革的终极解决方案,它为服务间连接提供了更优于常见替代方案的无缝、安全且现代化的身份验证体验,在多个关键维度表现卓越。

什么是 Workload Identity Federation?


WIF 是 Snowflake 为服务类用户(即自动化工作负载、应用程序及第三方工具)推荐的首选身份验证方案。该技术不再依赖长期有效的静态密钥,而是允许服务通过其所属云提供商(包括 AWS、Azure 或 Google Cloud)的身份体系动态获取短期认证凭证。同时支持具备 OIDC 身份提供商的平台(如 Kubernetes 和 GitHub Actions)。Snowflake 会直接向身份提供商核验这些认证凭证,在无需接触或存储服务静态密钥的前提下完成访问授权。


您将享有的关键优势


采用 WIF 可使您的应用程序实现“无密钥化”运行,因为它消除了存储、管理和轮换长期有效的 Snowflake 访问凭证的需求。这一方法为您带来以下优势:


  • 增强安全性:由于不再存在需客户管理的密钥,攻击面得以大幅缩减。WIF 采用短期有效的瞬时令牌,进一步强化安全防护体系;

  • 降低复杂度:与外部 OAuth 等传统联合方案相比,WIF 显著简化初始配置并减少持续维护成本。这意味着更快的集成速度和更少的身份验证架构管理时间;

  • 成本效益:通过复用现有云服务商身份实现集中化身份管理,无需额外工具或专门用于 Snowflake 的服务身份管理许可;

  • 标准化方案:WIF 已成为顶级云服务商针对外部工作负载广泛采用并推荐的标准认证方案。

WIF 可在哪些场景下使用?


WIF 适用于以下多种服务间身份验证场景:


  • 云托管自定义工作负载:运行在 AWS EC2 或 Lambda(使用 IAM 角色)、Azure VM 或 Functions(使用系统/用户托管标识)、Google Compute Engine 及 Cloud Run(通过服务账号)的应用均可实现身份验证;

  • CI/CD 流水线:通过 GitHub Actions 工作流与 Snowflake 建立安全连接,使自动化流程无需硬编码凭据即可访问数据;

  • 容器化应用:支持在 Kubernetes 中运行的工作负载通过 OIDC 联合认证机制向 Snowflake 进行身份验证;

  • ETL/ELT 作业与数据管道:通过无需密钥的强认证方式,实现数据摄取与转换流程的自动化;

  • 除上述场景外,我们的目标是让您常用的第三方工具(包括 BI 和 ETL 工具)也能通过 OIDC 联合认证实现无密钥认证。尽管我们正与众多服务商展开合作,但仍建议您主动向第三方供应商提出需求,邀请他们参与我们的无密钥认证计划,并鼓励其采用 Workload Identity Federation 作为服务到 Snowflake 的首选认证方式。

开始使用 Workload Identity Federation(WIF)是非常简单的


设置 WIF 包含几个直接明了的步骤,通常需要配置您的云服务提供商并在 Snowflake 中创建服务用户。


以下是通过 AWS EC2 实例连接的示例:


1.  配置 AWS:在 AWS 中将 IAM 角色附加到您的 EC2 实例;

2.  创建 Snowflake 用户:创建 Snowflake 服务用户,并使用 WORKLOAD_IDENTITY 属性将其与您的 AWS IAM 角色 ARN 关联。


CREATE USER <username>  WORKLOAD_IDENTITY = (    TYPE = AWS    ARN = '<amazon_resource_identifier>'  )  TYPE = SERVICE  DEFAULT_ROLE = PUBLIC;
复制代码


3. 连接驱动程序:更新您的应用程序至最新版 Snowflake 驱动,并在连接字符串中指定认证器参数为 authenticator='WORKLOAD_IDENTITY' 与工作负载身份提供商参数 workload_identity_provider='AWS'。该驱动程序将自动检测平台原生凭证。


Python 示例:

 

import snowflake.connector conn = snowflake.connector.connect(    account='<snowflake_account>',    authenticator='WORKLOAD_IDENTITY',    workload_identity_provider='AWS')# Your Snowflake operationsconn.cursor().execute("SELECT 1;")
复制代码


准备好实现无密钥连接并提升 Snowflake 安全性?以下快速入门方式供您参考:


● 查阅我们的综合文档,获取 AWS、Azure、GCP 及 OIDC 联合认证(包括 Kubernetes 和 GitHub Actions)的详细配置指南与示例;

● 升级至最新 Snowflake 驱动程序,解锁这项强大的新功能;

● 推动您常用的第三方工具采纳无密钥集成方案,正如 Salesforce 数据云已实现的示范;

● 参考我们关于淘汰单一密码认证机制的迁移指南;

● 分享您的反馈,助力我们持续完善 AI 数据云。


原文地址:

https://www.snowflake.com/en/blog/simplify-authentication-workload-identity-federation/



点击链接立即报名注册:https://www.snowflake.com/events/ascent-snowflake-platform-training-china-en/

2025-10-15 22:313725

评论

发布
暂无评论

虚拟ECU实践:汽车发动机控制器仿真

DevOps和数字孪生

软件定义汽车 虚拟ECU

虚拟平台中的“有意”/“无意”故障注入

DevOps和数字孪生

故障注入 虚拟平台

联通 Flink 实时计算平台化运维实践

Apache Flink

大数据 flink 实时计算

当代数据库与数据管理技术的先驱者之一 Mohan 教授指导 IoTDB 时序数据库 Timecho 研发团队

Apache IoTDB

IoTDB Apache IoTDB

火山引擎A/B测试“广告投放实验”基础能力重构实践 (DataFunTalk渠道)

字节跳动数据平台

享受云原生技术红利,大数据不应该被落下

智领云科技

云原生 Kubernetes 集群 云原生大数据平台 智领云

关于 Elasticsearch 不同分片设置的压测报告

极限实验室

索引 压测 ES

私有化的即时通讯软件能给企业带来什么好处?

BeeWorks

Leangoo领歌敏捷工具提供哪些Scrum敏捷培训?

顿顿顿

敏捷开发 敏捷开发管理工具 scrum工具 scrum培训 敏捷培训

在 Go 中如何编写测试代码

江湖十年

golang 测试 后端 单元测试 go语言

河南理工大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

Flink 在新能源场站运维的应用

Apache Flink

大数据 flink 实时计算

如何使用openEuler WSL sideload

openEuler

Linux 前端 操作系统 wsl openEuler

什么是“软件定义汽车”

DevOps和数字孪生

软件定义汽车 汽车仿真

华为云CodeArts Check IDE插件体验之旅

云计算 软件开发 华为云 华为开发者大会2023 代码检查

区块链第一代系统——比特币概念及业务流程

TiAmo

比特币 区块链

MobPush:Android客户端SDK厂商通道回执配置指南

MobTech袤博科技

程序员 前端 sdk 客户端开发 Andrdoid

虚拟ECU:助力汽车故障诊断

DevOps和数字孪生

软件定义汽车 虚拟ECU

运输车辆超时停车预警难?TDengine 流式计算助力吉科软轻松解决

爱倒腾的程序员

数据库

WorkPlus AI助理:结合ChatGPT对话能力与企业数据,助力企业级AI构建!

BeeWorks

测试工程师如何做到初级测试管理(个人思考)?

团队管理 测试 测试管理 测试部门职责

Python如何获取页面上某个元素指定区域的html源码?

Python 源码 HTML5, CSS3

红队攻防之JS攻防

权说安全

网络攻防

“数字孪生”:为什么要仿真嵌入式系统?

DevOps和数字孪生

数字孪生 嵌入式系统仿真

每日站会如此简单,为什么总是开不好?

敏捷开发

项目管理 Scrum 敏捷开发 每日站会

大语言模型评估全解:评估流程、评估方法及常见问题

Baihai IDP

人工智能 白海科技 LLMOps 大模型评估 企业号 7 月 PK 榜

JMeter笔记15 | JMeter场景运行

单元测试 Jmeter 性能测试 自动化测试 接口测试

IPD(集成产品开发)跟敏捷、DevOps一样吗?有什么区别?

禅道项目管理

DevOps 敏捷开发 IPD

带你掌握利用Terraform不同数据源扩展应用场景

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 7 月 PK 榜

使用 Snowflake Workload Identity Federation 进行保密 | 技术实践_AI&大模型_InfoQ精选文章