我在AWS上拥有一个SQL Server实例,通过更改安全组以允许从“任何地方”进行访问,我可以对其进行外部访问。
+-------------+----------+------------+--------------------------+
| Type | Protocol | Port Range | Source |
+-------------+----------+------------+--------------------------+
| MSSQL | TCP | 1433 | Custom 0.0.0.0/0 |
| MSSQL | TCP | 1433 | Custom ::/0 | †
+-------------+----------+------------+--------------------------+
我想限制对此数据库的访问,尽管不通过IP地址,因为我将用来访问它的服务没有静态IP。
我如何加强对该数据库的入站访问以与外部服务(例如Firebase函数或NodeJS应用程序)一起使用?
†在“安全组入站规则”部分中选择“无处不在”和“ MSSQL”时生成的AWS安全组规则
[AFAIK,如果不知道静态IP或需要从何处访问EC2实例(托管SQL Server的位置)的IP范围,就无法直接实现此目标。
但是...
您可以将实例包括在API网关后面,然后在API网关中为该API方法启用IAM身份验证。然后使用IAM策略(以及资源策略)为您的API用户指定权限。
更多:https://aws.amazon.com/premiumsupport/knowledge-center/iam-authentication-api-gateway/