node.js - 限制对 AWS SQL Server 实例的外部访问

标签 node.js sql-server amazon-web-services firebase serverless

我在 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 应用程序)配合使用?

† 在“安全组入站规则”部分中选择“Everywhere”和“MSSQL”时生成的 AWS 安全组规则

最佳答案

据我所知,如果不知道静态 IP 或需要访问 EC2 实例(托管 SQL Server 的位置)的 IP 范围,则无法直接实现此目的。

但是...

您可以将您的实例包含在 API 网关后面,然后为 API 网关中的 API 方法启用 IAM 身份验证。然后使用 IAM 策略(以及资源​​策略)为 API 用户指定权限。

更多:https://aws.amazon.com/premiumsupport/knowledge-center/iam-authentication-api-gateway/

关于node.js - 限制对 AWS SQL Server 实例的外部访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59474475/

相关文章:

javascript - 在异步代码中运行同步代码 - promise

sql - SQL中如何获取每一项的余数?

mysql - 填充数据库中的空列

sql - 哪种数据类型最适合通过事务复制发布的表的聚集索引?

security - 适用于 EC2 和 RDS 的 AWS 账户到账户备份解决方案?

node.js - REST API 端点命名

node.js - Mongodb 通过数组中的对象键查询并替换键

amazon-web-services - 尝试将启动时间和创建日期添加到 aws cli 查询

amazon-web-services - 通过 Cloudformation 使用函数 URL 部署 AWS Lambda

node.js - 我应该使用包管理器还是从源代码在 Ubuntu 上安装 node.js?