资讯中心

Our News
您的位置: 首页 > 资讯中心 > 在 AWS 中为传统应用迁移构建安全模型 架构博客

在 AWS 中为传统应用迁移构建安全模型 架构博客

发布时间:2026-01-27 浏览量:22

在 AWS 中为传统应用迁移架构安全模型

关键要点

传统应用迁移到云端通常分阶段进行,涉及多种资源的迁移。采用 Zero Trust 和安全最佳实践,以满足不同的安全需求。使用 IAM 角色和临时安全凭证来实现对 AWS 资源的安全访问。确保在 AWS 上访问的资源如 Amazon S3、Amazon RDS 和 Amazon DynamoDB 配置正确并符合安全要求。

应用迁移,尤其是从传统主机迁移到云端的过程,往往是分阶段进行的,这些阶段有时会跨越数年。每个阶段都会将一组应用程序、数据和其他资源迁移到云中。在迁移过程中,应用程序可能需要访问本地和云端的资源以完成其功能。在与客户的合作中,我们观察到应用程序最常需要访问的资源是数据库、文件存储和共享服务。

本文包括了在 Amazon Web Services (AWS) 中建立安全模型以设置对常用资源访问的架构指南。在将传统应用迁移到云时,您可以根据安全需求应用 Zero Trust 概念和 安全最佳实践。使用 AWS,您可以建立强大的身份和访问管理体系,集中控制并为您的员工和应用管理细粒度的访问控制。

在大型组织中,本地应用依赖于基于主机的安全服务、身份提供者 (IdP) 平台,或两者的结合。

基于主机的控制设施使本地应用能够:识别和验证用户。通过控制设施中定义的权限建立授权允许用户和后端程序访问受保护资源。后端程序使用唯一标识符或替代键并在权限所定义的授权下运行。随着应用程序迁移至云,该安全机制需要转变为基于角色的安全模型。您给角色分配权限,应用程序假定该角色以获取对 AWS 资源的访问许可,这与传统环境中的授权概念类似。IdP 平台例如 Octa 或 Ping Identity提供集中访问管理和使用 SAML 20 或 OpenID Connect (OIDC) 的身份联合功能,建立本地 IdP 和 AWS 之间的信任系统。一旦建立联合,本地应用可以通过使用 AWS 身份和访问管理 (IAM) 角色访问 AWS 资源,下一节将对此进行解释。

在 AWS 中建立可扩展的安全模型

图 1 显示了一个本地环境,在该环境中,企业身份管理与主机集成,为运行在主机上的应用提供身份验证和授权。通常,基于主机的安全控制用户、资源和配置文件被复制到企业身份平台,并通过变更数据捕获流程保持同步。

在 AWS 中为传统应用迁移构建安全模型 架构博客

为了使本地应用能够访问 AWS 资源,应用需要有效的 AWS 凭证以发出 AWS API 请求。要避免使用长期访问密钥例如与 IAM 用户相关的密钥,因为它们在被删除之前一直有效。可以使用以下两种方法假定 IAM 角色并获取临时安全凭证以访问 AWS 资源:

基于 SAML 的身份联合 AWS 支持与 SAML 的身份联合。它允许您通过假定为 SAML 联合创建的 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 中资源的访问。

1 Amazon S3

本地应用可以使用 REST API 或 AWS SDK 访问 Amazon S3,执行特定操作例如 GetObjects 或 ListObjects:

访问权限基于与假定角色附加的权限。您可以通过使用资源基于的策略进一步限制访问,这些策略包括 桶策略、桶访问控制列表 (ACL) 和对象 ACL。要了解更多访问策略指导,请参阅 Amazon S3 用户指南。您还可以通过为应用创建 Amazon S3 访问点 来简化对象级操作的执行。每个访问点都有独特的权限和网络控制,S3 对通过该点发出的请求应用这些控制。2 Amazon RDS 和 Amazon Aurora

AWS Secrets Manager 可以帮助您存储 Amazon RDS 和 Amazon Aurora 的凭据。您还可以设置数据库秘密的自动轮换,以满足安全和合规需求。应用程序可以使用 AWS SDK 和 AWS CLI 检索秘密。

其他配置值可以存储在 AWS Systems Manager Parameter Store 中,Parameter Store 提供了一种安全的层次存储,用于配置数据管理,例如密码、数据库字符串和许可证代码,而不是在代码中硬编码。

要访问 Amazon RDS 和 Amazon Aurora:

您可以将 Amazon RDS DB 实例启动到 虚拟私有云 (VPC) 中。客户端应用程序只能通过互联网或通过与 AWS 环境建立的连接来访问 DB 实例。本地应用可以使用数据库驱动程序如 Java 数据库连接 (JDBC)连接到 关系数据库。应用程序可以通过 API 调用从 AWS Secrets Manager 和 AWS Systems Manager Parameter Store 检索数据库连接详细信息例如数据库 URL、端口或凭据,并使用这些信息进行数据库连接。数据库管理员可以通过假定角色访问 AWS 管理控制台,并可以从 AWS Secrets Manager 获取数据库凭据,以便直接连接数据库。对于某些管理任务如集群设置、备份、恢复、维护和管理,他们需要访问 Amazon RDS 管理控制台。Amazon RDS 还为 MariaDB、MySQL 和 PostgreSQL 提供 IAM 数据库身份验证选项。连接到 DB 实例时,可以使用身份验证令牌而不是密码进行身份验证。有关更多信息,请访问 IAM 数据库身份验证。3 Amazon DynamoDB

应用程序可以使用临时凭证 调用特定操作,利用 DynamoDB 的 AWS SDK。您可以为 DynamoDB 创建 VPC 终端节点,以确保访问 DynamoDB 的请求不暴露于公共互联网,并通过使用 VPC 终端节点和 IAM 策略 进一步限制访问。

结论

本文帮助您在 AWS 中架构应用安全模型,以提供对 AWS 中常用资源的本地访问。

在将传统应用迁移到云时,您可以应用安全最佳实践和 Zero Trust 概念。使用 AWS,您可以为员工和应用构建 身份和访问管理,实现集中和细粒度的访问控制。

开始在 AWS 上构建您的安全模型:

AWS 身份与访问管理 (IAM) 快速入门IAM 快速入门 (用户指南)

Irfan Saleem

Irfan Saleem 是 AWS 的企业解决方案架构师。他热衷于帮助客户构建云原生和良好架构的解决方案。其核心关注领域是无服务器和容器架构,专注于应用开发和迁移。在工作之余,他喜欢与家人共度时光,旅行,以及尝试新技术。

Peter Buonora

Pete 是 AWS 的首席解决方案架构师,专注于企业云战略和信息安全。Pete 曾与最大的 AWS 客户合作,促进他们的云采用并改善整体安全态势。

台湾ip加速器免费使用

QQ

在线咨询真诚为您提供专业解答服务

热线

13594780373
7*24小时服务热线

微信

二维码 扫一扫微信交流