SuperAPI AI 工具集

data-engineering-storage-authentication

数据与分析

查看项目

更新于 10-15 23:58

技能介绍

用途:为访问云存储(S3、GCS、Azure Blob)及云服务的数据管道提供安全认证模式,涵盖 IAM 角色、服务主体、密钥管理器与凭证管理最佳实践,是 remote-access、lakehouse、streaming、ai-ml、orchestration 等技能的基础。

主要能力:AWS 侧包含 IAM 角色(EC2 实例配置文件、ECS 任务角色、Lambda 执行角色)、IAM 用户访问密钥(不推荐用于生产)、STS 临时凭证(AssumeRole、GetSessionToken)、S3 预签名 URL、跨账户访问、Secrets Manager 集成及环境变量解析(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN)。GCP 侧包含服务账号 JSON 密钥、Workload Identity Federation、应用默认凭证(ADC)、Cloud Storage 签名 URL、Secret Manager 集成、环境变量 GOOGLE_APPLICATION_CREDENTIALS,以及 GKE、Cloud Run、Compute Engine 的工作负载身份。Azure 侧包含托管标识(系统分配、用户分配)、服务主体(客户端密钥、证书)、Blob SAS 令牌、Key Vault 集成、环境变量 AZURE_STORAGE_ACCOUNT、AZURE_STORAGE_KEY,以及 AKS、App Service、VM 的 Azure AD 工作负载身份。另含密钥轮换自动化、多环境凭证管理、CI/CD 认证(GitHub Actions、GitLab CI、Jenkins)、模拟凭证测试(Moto、google-cloud-testutils)与凭证泄漏防护(.gitignore、pre-commit 钩子)。

核心原则:最小权限,仅授予必要权限(只读、指定存储桶);使用短生命周期凭证(STS、OIDC)而非长期密钥;优先自动轮换的托管标识;绝不提交凭证,使用密钥管理器;启用 CloudTrail/Azure Audit Logs/GCP Audit Logs 审计;开发、预发、生产使用不同凭证。

使用方式:生产环境云 VM 用 IAM 角色/托管标识,代码中无凭证;CI/CD 用工作负载身份联合(OIDC)或短时令牌;本地开发用 .env 文件配合 aws configure、gcloud auth application-default login、az login;第三方集成用限定权限的服务主体;跨账户访问用角色扮演(AWS)、工作负载身份(GCP)、服务主体(Azure)。示例:AWS 生产用 import boto3; s3 = boto3.client('s3');GCP 用 google.auth.default();Azure 用 DefaultAzureCredential。

常见陷阱:硬编码凭证并提交到 git(应立即轮换);使用根/管理员账户;长期密钥;权限过宽(应授 s3:GetObject 而非 s3:*);环境未隔离;禁用 TLS 验证(仅本地 MinIO 测试例外)。

限制:原文为技能说明文档,未提供具体安装命令、收费或平台支持范围,相关细节暂未提供。