两年前,亚马逊云科技在re:Invent大会上首次推出Amazon Verified Access预览版。作为一种安全、无需VPN的企业应用访问方式,Amazon Verified Access使组织能够基于身份和设备安全状态而非IP地址来管理网络访问,从而增强对应用程序访问的控制和安全性。
现在,Amazon Verified Access进一步扩展能力,支持SSH和RDP等非HTTP(S)协议的企业资源访问。这种改进满足了企业对数据库、远程桌面及Amazon EC2等内部资源的安全访问需求,同时消除了传统VPN广泛授权和策略不一致的问题。通过自动化的DNS配置和实时权限评估,Amazon Verified Access提供了更精细的控制,简化了操作流程,为构建一致、安全的零信任架构奠定了坚实基础。
使用Amazon Verified Access
进行非HTTPS访问
为非HTTPS访问配置验证访问与当前的配置方法并无太大区别。您可以复制下方链接,阅读推出预览版时的博客文章,或参考Amazon Verified Access入门教程,了解如何开始配置。
博客文章:
https://aws.amazon.com/cn/blogs/aws/aws-verified-access-preview-vpn-less-secure-network-access-to-corporate-applications/
Amazon Verified Access入门教程:
https://docs.aws.amazon.com/verified-access/latest/ug/getting-started.html
Amazon Verified Access提出了两种新型端点目标:一种是针对单一资源的目标,另一种是针对多资源的目标。
通过网络接口、负载平衡器或RDS端点目标,可以为诸如Amazon Relational Database Service(Amazon RDS)实例、由网络负载平衡器或弹性网络接口提供的任意TCP应用程序等单个资源,提供访问权限。
Amazon RDS:
https://aws.amazon.com/rds/
这类目标端点由目标类型(如负载平衡器或网络接口)和一系列TCP端口范围的组合定义。Amazon Verified Access将在创建每个端点时为其提供一个DNS名称,还会为每个目标分配一个DNS名称,这是终端用户用于安全访问资源的名称。
使用网络CIDR端点目标时,资源是通过IP CIDR和端口范围来定义的。通过这种类型的端点目标,您可以轻松地通过SSH和RDP等协议为Amazon EC2实例临时资源提供安全访问。这样一来,每次添加或删除资源时,就无需执行创建或删除端点目标等任何操作。只要这些资源被分配了来自定义CIDR中的一个IP地址,Amazon Verified Access就会为定义的CIDR中检测到的每个活动IP提供唯一的公共DNS记录。
下图是该演示的设置示意图。
1
作为Amazon Verified Access
管理员如何使用
作为Amazon Verified Access管理员,创建Amazon Verified Access实例、信任提供者、访问组、端点和访问策略,允许最终用户访问SSH服务器。
本演示配置了一个Amazon Verified Access网络CIDR端点目标。选择TCP作为协议,网络CIDR作为端点类型。确保CIDR范围位于目标资源所在的VPC范围内。选择VPC中的TCP端口范围和子网。
创建端点需要几分钟时间。
一旦状态为已激活,即可在Amazon Virtual Private Cloud(Amazon VPC)中启动Amazon EC2实例。启用SSH并配置实例的安全组,使其仅允许来自VPC的访问请求。几分钟后可以看到实例的IP已被检测到,并分配了一个DNS名称,以便从Amazon Verified Access客户端应用程序进行连接。
Amazon VPC:
https://aws.amazon.com/vpc/
在配置过程中还可以选择委托自己的DNS子域,如secure.mycompany.com,Amazon Verified Access将为该子域内的资源分配DNS名称。
创建访问策略
在此阶段,Amazon Verified Access端点还没有定义任何策略。默认情况下它将拒绝所有请求。
在Amazon Verified Access组页面上,选择“策略”选项卡。然后选择“修改Amazon Verified Access端点策略”按钮来创建访问策略。
输入一条策略:允许任何经过身份验证且电子邮件地址以@amazon.com结尾的人访问,这是为Amazon IAM Identity Center中定义的用户所使用的电子邮件地址。请注意,context后面的名称是在创建Amazon Verified Access信任提供者时输入的策略引用名称。下方链接中的文档页面详细介绍了可以使用的策略语法、属性和运算符。
Amazon Verified Access文档:
https://docs.aws.amazon.com/verified-access/latest/ug/what-is-verified-access.html
permit(principal, action, resource)
when {
context.awsnewsblog.user.email.address like "*@amazon.com"
};
左右滑动查看完整示意
几分钟后,Amazon Verified Access更新了策略并再次变为已激活状态。
向客户端分发配置
作为Amazon Verified Access管理员的最后一项任务,是提取客户端应用程序的.json配置文件。
使用Amazon Command Line Interface(Amazon CLI)检索客户端应用程序配置文件。作为系统管理员,会将此配置分发到每台客户端计算机。
Amazon CLI:
https://aws.amazon.com/cli/
aws ec2 export-verified-access-instance-client-configuration \
--verified-access-instance-id "vai-0dbf2c4c011083069"
{
"Version": "1.0",
"VerifiedAccessInstanceId": "vai-0dbf2c4c011083069",
"Region": "us-east-1",
"DeviceTrustProviders": [],
"UserTrustProvider": {
"Type": "iam-identity-center",
"Scopes": "verified_access:application:connect",
"Issuer": "https://identitycenter.amazonaws.com/ssoins-xxxx",
"PkceEnabled": true
},
"OpenVpnConfigurations": [
{
"Config": "Y2...bWU=",
"Routes": [
{
"Cidr": "2600:1f10:4a02:8700::/57"
}
]
}
]
}
左右滑动查看完整示意
现在已经有了可连接的资源和Amazon Verified Access基础架构,下文将展示终端用户访问网络终端的体验。
2
终端用户如何使用
终端用户会收到下载和安装Amazon Verified Access Connectivity Client应用程序的链接。
安装管理员发送的配置文件,将文件命名为ClientConfig1.json,并将文件复制到Windows系统的C:\ProgramData\Connectivity Client文件夹或macOS系统的/Library/Application\ Support/Connectivity\ Client文件夹中。
这是所有用户通用的配置文件,系统管理员可能会使用端点管理工具将该文件推送到所有客户端计算机上。
启动Amazon Verified Access Connectivity Client客户端应用程序,选择“登录”以开始身份验证流程。
身份验证会在网络浏览器上打开身份提供者的身份验证页面,不同提供者的屏幕显示和登录流程各不相同。身份验证通过后,Amazon Verified Access Connectivity Client会创建一个安全隧道来访问资源,即本演示中的Amazon EC2实例。
一旦状态为“已连接”,就可以使用Amazon Verified Access提供的DNS名称安全连接到资源。在终端应用程序中键入ssh命令开始连接。
本演示为Amazon Verified Access配置了一个委托DNS域secure.mycompany.com。收到的Amazon EC2实例的DNS地址是10-0-1-199.awsnews.secure.mycompany.com。
$ ssh -i mykey.pem ec2-user@10-0-1-199.awsnews.secure.mycompany.com
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
Last login: Sat Nov 17 20:17:46 2024 from 1.2.3.4
$
左右滑动查看完整示意
借助无需VPN即可安全访问HTTP(S)和非HTTP(S)应用程序的Amazon Verified Access,您可以统一对私有应用程序和系统的访问控制,将零信任策略统一应用于所有应用程序、SSH、RDP和HTTP(S)资源。这能降低网络基础设施的复杂性,帮助您实现对应用程序和资源的零信任访问。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!