欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 实现AWS Lambda函数安全地请求企业内部API返回数据

实现AWS Lambda函数安全地请求企业内部API返回数据

2025/5/1 20:03:20 来源:https://blog.csdn.net/weixin_30777913/article/details/147352328  浏览:    关键词:实现AWS Lambda函数安全地请求企业内部API返回数据

需要编写一个Lambda函数在AWS云上运行,它需要访问企业内部的API获取JSON格式的数据,企业有网关和防火墙,API有公司的okta身份认证,通过公司的域账号来授权访问,现在需要创建一个专用的域账号,让Lambda函数访问Secret Manager,来获取账号密码,然后通过配置访问公司内部API的数据,请写出所有的开发配置步骤,以及完成这一功能的所有的Python源代码,需要确保安全性和可靠性。


一、架构设计

  1. Lambda函数部署在AWS公有云
  2. 通过AWS Secrets Manager存储Okta认证凭证
  3. Lambda通过HTTPS访问企业API网关
  4. 使用Okta的OAuth 2.0客户端凭证模式获取访问令牌
  5. 所有通信使用TLS加密

二、配置步骤

1. 创建专用域账号
  • 在企业Okta控制台:
    • 创建新应用(OAuth 2.0客户端凭证类型)
    • 生成Client ID和Client Secret
    • 配置API访问权限范围(Scopes)
2. 配置AWS Secrets Manager
aws secretsmanager create-secret --name prod/okta_api_creds \
--secret-string '{"client_id": "YOUR_CLIENT_ID","client_secret": "YOUR_CLIENT_SECRET","token_url": "https://yourcompany.okta.com/oauth2/v1/token","api_endpoint": "https://internal-api.yourcompany.com/v1/data"
}'
3. 配置Lambda执行角色

IAM策略示例:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": "secretsmanager:GetSecretValue","Resource": "arn:aws:secretsmanager:region:account-id:secret:prod/okta_api_creds-*"},{"Effect": "Allow","Action": "logs:CreateLogGroup","Resource": "arn:aws:logs:region:account-id:*"},{"Effect": "Allow","Action": ["logs:CreateLogStream","logs:PutLogEvents"],"Resource": ["arn:aws:logs:region:account-id:log-group:/aws/lambda/your-function-name:*"]}]
}
4. 网络配置(可选)

如果企业API在私有网络:

  • 部署Lambda到VPC私有子网
  • 配置安全组出站规则
  • 设置VPC对等连接或VPN到企业网络,具体来说,可以使用VPC对等连接连接到已有的可以连接到公司VPN网络,也可以在VPC网络里创建EC2实例安装可以连接到公司VPN的第三方连接软件实现连接,Lambda调用EC2上的Python代码实现,还可以使用AWS Site-to-Site VPN组件直接连接VPN实现,在Lambda函数中实现业务逻辑。

三、Python源代码

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词