写点什么

使用 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:313748

评论

发布
暂无评论

WorkPlus私有化部署的即时通讯软件,企业内部沟通协作的利器

BeeWorks

外贸企业如何评估谷歌SEO的效果?

九凌网络

TuGraph Analytics动态插件:快速集成大数据生态系统

TuGraphAnalytics

大数据 插件 数据集成 图计算 Connector

为什么开发不能兼任测试?普通人不知道的冷知识指南

代码生成器研究

不会写代码了?2分钟看完,这5个技巧你一定要收好。

代码生成器研究

WorkPlus Meet视频会议系统,可私有化部署,保障内部数据安全

BeeWorks

WorkPlus AI助理知识问答机器人,助力企业级私有化AI构建

BeeWorks

从DPlayer说起,有哪些开源的H5播放器

魂祈梦

前端 js

解锁数据潜力:为什么你应该考虑使用向量数据库

熬夜磕代码、

数据库

GitHub Universe 2023:AI 技术引领软件开发创新浪潮

不在线第一只蜗牛

人工智能 GitHub AI

彩虹桥架构演进之路-性能篇

得物技术

数据库 nio 中间件 高性能

从稳定性、响应速度、可用率全面测试行业标杆罗拉ROLA-HTTP代理

Geek_bf375d

ETL数据转换工具类型与适用场景

谷云科技RestCloud

ETL

是效率利器还是程序黑盒?为什么程序员都抵制低代码?

代码生成器研究

罗拉rola-ip带你看使用代理IP时有哪些小技巧?

Geek_bf375d

如何快速将钉钉员工信息同步到飞书

谷云科技RestCloud

助力大模型开发,澳鹏MatrixGo平台工作流再次升级

澳鹏Appen

工作流 数据标注 大模型

2023 年是无代码的一年,还要程序员吗?

伤感汤姆布利柏

前端 低代码 开发

低代码自动化,程序员真的还有前途吗??

代码生成器研究

罗拉rola-ip详解长效代理IP和短效代理IP的区别是什么?

Geek_bf375d

IP长效代理,稳定、高效网络罗拉rola-ip代理服务

Geek_bf375d

罗拉ROLA告诉你如何正确、合理使用静态IP代理?

Geek_bf375d

容器中sh脚本明明存在,为何会报"no such file or directory"的错误?

大伟

git Docker autocrlf

如何挑选护眼灯?光照均匀度、色温、眩光这3点!

电子信息发烧客

什么行业适合做谷歌SEO?

九凌网络

无代码/低代码编程是否走错了路?

代码生成器研究

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