应用迁移,尤其是从传统主机迁移到云端的过程,往往是分阶段进行的,这些阶段有时会跨越数年。每个阶段都会将一组应用程序、数据和其他资源迁移到云中。在迁移过程中,应用程序可能需要访问本地和云端的资源以完成其功能。在与客户的合作中,我们观察到应用程序最常需要访问的资源是数据库、文件存储和共享服务。 本文包括了在 Amazon Web Services (AWS) 中建立安全模型以设置对常用资源访问的架构指南。在将传统应用迁移到云时,您可以根据安全需求应用 Zero Trust 概念和 安全最佳实践。使用 AWS,您可以建立强大的身份和访问管理体系,集中控制并为您的员工和应用管理细粒度的访问控制。 在大型组织中,本地应用依赖于基于主机的安全服务、身份提供者 (IdP) 平台,或两者的结合。 图 1 显示了一个本地环境,在该环境中,企业身份管理与主机集成,为运行在主机上的应用提供身份验证和授权。通常,基于主机的安全控制用户、资源和配置文件被复制到企业身份平台,并通过变更数据捕获流程保持同步。 为了使本地应用能够访问 AWS 资源,应用需要有效的 AWS 凭证以发出 AWS API 请求。要避免使用长期访问密钥例如与 IAM 用户相关的密钥,因为它们在被删除之前一直有效。可以使用以下两种方法假定 IAM 角色并获取临时安全凭证以访问 AWS 资源: 如果您的应用使用服务帐户来管理 AWS 资源访问,无论谁正在登录。 IAM Roles Anywhere 您的本地应用可以交换 X509 证书,从而假定角色并获取临时凭证。如果您的应用需要基于服务帐户访问 AWS 资源,此方法将非常有用。 在这两种情况下,经过身份验证的请求假定一个 IAM 角色,获取 临时安全凭证,并使用 AWS 命令行界面 (CLI) 和 AWS SDKs 执行特定操作。IAM 角色附加了对 AWS 资源的权限,如 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 和 Amazon Relational Database Service (Amazon RDS)。 临时凭证在会话过期后失效。默认情况下,会话时长为一小时;您可以请求 更长的持续时间和会话刷新。 为了更好地理解,我们来看图 2 中的用例,其中本地应用需要访问 AWS 资源。 应用程序可以通过 SAML 或 IAM Roles Anywhere 获得临时安全凭证,接下来的部分将解释如何使用临时凭证设置对图 2 中资源的访问。 本地应用可以使用 REST API 或 AWS SDK 访问 Amazon S3,执行特定操作例如 GetObjects 或 ListObjects: AWS Secrets Manager 可以帮助您存储 Amazon RDS 和 Amazon Aurora 的凭据。您还可以设置数据库秘密的自动轮换,以满足安全和合规需求。应用程序可以使用 AWS SDK 和 AWS CLI 检索秘密。 其他配置值可以存储在 AWS Systems Manager Parameter Store 中,Parameter Store 提供了一种安全的层次存储,用于配置数据管理,例如密码、数据库字符串和许可证代码,而不是在代码中硬编码。 要访问 Amazon RDS 和 Amazon Aurora: 应用程序可以使用临时凭证 调用特定操作,利用 DynamoDB 的 AWS SDK。您可以为 DynamoDB 创建 VPC 终端节点,以确保访问 DynamoDB 的请求不暴露于公共互联网,并通过使用 VPC 终端节点和 IAM 策略 进一步限制访问。 本文帮助您在 AWS 中架构应用安全模型,以提供对 AWS 中常用资源的本地访问。 在将传统应用迁移到云时,您可以应用安全最佳实践和 Zero Trust 概念。使用 AWS,您可以为员工和应用构建 身份和访问管理,实现集中和细粒度的访问控制。 开始在 AWS 上构建您的安全模型: Irfan Saleem 是 AWS 的企业解决方案架构师。他热衷于帮助客户构建云原生和良好架构的解决方案。其核心关注领域是无服务器和容器架构,专注于应用开发和迁移。在工作之余,他喜欢与家人共度时光,旅行,以及尝试新技术。 Pete 是 AWS 的首席解决方案架构师,专注于企业云战略和信息安全。Pete 曾与最大的 AWS 客户合作,促进他们的云采用并改善整体安全态势。在 AWS 中为传统应用迁移架构安全模型
关键要点
传统应用迁移到云端通常分阶段进行,涉及多种资源的迁移。采用 Zero Trust 和安全最佳实践,以满足不同的安全需求。使用 IAM 角色和临时安全凭证来实现对 AWS 资源的安全访问。确保在 AWS 上访问的资源如 Amazon S3、Amazon RDS 和 Amazon DynamoDB 配置正确并符合安全要求。在 AWS 中建立可扩展的安全模型

结论
Irfan Saleem
Peter Buonora