配置网络安全
在此页面上
Overview
App Services 利用一系列网络安全协议来防止未经授权访问您的数据。您可以:
配置 TLS 以保护往来应用程序的网络请求。
定义所有出站请求的来源 IP 地址。
定义并管理入站请求的来源 URL 和 IP 地址。
传输层安全性 (TLS)
App Services使用 TLS1.3 保护传入和传出应用程序的所有网络请求,包括:
从 Realm 软件开发工具包(Realm SDK)连接的应用程序。
通过 HTTPS 发送的Atlas Data API请求。
对已链接 MongoDB Atlas 数据源的查询和操作。
TLS 证书是预定义的,无法自定义或禁用。
注意
后端加密
App Services 与 Atlas 之间的所有内部通信均使用 x509 证书进行加密。
防火墙配置
App Services 仅发送来自设置的一组 IP 地址列表的出站请求。具体列表取决于应用服务器所部署的云提供商。您可以将此部分中列出的 IP 地址复制到防火墙的传入请求白名单中。
可以下载 App Services 使用的所有 IP 地址的计算机友好型列表,格式可以是 JSON 或 CSV。还可以在以下部分中找到特定于云提供商的 JSON 和 CSV 文件。
注意
如果从 Atlas App Services 用户界面运行函数,则请求源自离您最近的服务器,而不是应用所部署的地区。
AWS
部署到 AWS 的应用发出的出站请求将源自以下 IP 地址之一:
13.236.189.10 18.202.2.23 18.210.66.32 18.211.240.224 18.213.24.164 52.63.26.53 54.203.157.107 54.69.74.169 54.76.145.131 18.192.255.128 18.157.138.240 18.158.38.156 52.220.57.174 18.140.123.126 13.251.182.174 65.0.112.137 3.6.231.140 13.234.189.107 13.232.212.70 65.0.113.75 3.7.215.88 3.6.255.136 65.0.188.79 13.233.17.88 18.136.226.22 122.248.203.228 54.251.109.67 54.255.78.248 54.179.247.236 13.251.170.158 3.105.146.190 52.65.242.206 54.79.24.107 13.238.106.70 52.28.11.211 3.121.9.73 52.29.205.189 3.122.49.121 3.121.58.147 3.121.97.130 108.128.63.52 108.128.66.245 108.128.51.69 108.128.45.118 52.213.157.241 108.128.66.107 3.9.6.254 3.9.74.211 3.9.61.59 35.176.121.115 3.9.85.190 3.9.47.47 13.36.132.152 15.188.240.49 13.37.29.138 15.188.152.56 13.39.52.19 15.188.159.135 177.71.159.160 52.67.231.12 18.230.146.14 52.67.94.32 18.230.109.192 18.229.199.232 3.212.79.116 3.92.113.229 34.193.91.42 34.237.40.31 3.215.10.168 34.236.228.98 3.214.203.147 3.208.110.31 100.26.2.217 3.215.143.88 18.119.73.75 3.136.153.91 3.128.101.143 35.166.246.78 35.161.40.209 54.149.249.153 35.161.32.231 52.34.65.236 35.163.245.143
AZURE
部署到 Azure 的应用发出的出站请求将源自以下 IP 地址之一:
20.105.25.17 20.212.99.191 20.24.112.135 20.53.104.226 20.84.232.59 20.96.47.95 40.112.209.0 52.149.111.83
GCP
部署到 GCP 的应用发出的出站请求将源自以下 IP 地址之一:
34.150.239.218 34.69.118.121 34.78.133.163 34.82.246.143 34.93.58.231
注意
上述 IP 列表仅适用于来自 Atlas Function 的传出请求,包括发出传出请求的触发器和 HTTPS 端点。
对于源自同步服务器的请求,建议将应用的部署区域和云提供商的整个子网列入白名单。可以在 App Services 用户界面的 App Settings > General > Deployment Region(应用设置 > 常规 > 部署区域)下找到部署区域。
DNS 筛选
您可以使用 DNS 过滤来专门允许从客户端应用程序(包括 Device Sync 客户端)到服务器的连接。
通过 HTTPS 或端口 443 访问 *.services.cloud.mongodb.com
。
允许的请求来源
可以在应用级别 root_config.json
文件中定义此配置选项。该字段接受传入请求可能源自的 URL 数组。如果定义任何允许的请求来源,则 App Services 会阻止任何来自未列出来源的传入请求。
IP 访问列表
App Services 允许客户端从应用程序 IP 访问列表中启用的条目发出请求。允许的请求仍将使用 App Services 的身份验证和授权规则。添加 IP 访问列表条目时,App Services 会阻塞源自访问列表之外的 IP 的任何请求。
重要
默认情况下,任何新创建的应用都可以通过添加 0.0.0.0/0 的访问列表条目来允许任何客户端 IP 访问。如果删除此条目,则没有客户端可以从任何 IP 地址访问您的应用。
查找 IP 地址
查看 IP 访问列表项
要查看您的 IP 访问列表设置,请导航至 App Services 用户界面中的 App Settings,然后单击 IP Access List 标签页。
要查看IP访问列表条目,请调用appservices accessList list
。 然后, CLI将提示您输入 App ID。
要查看IP访问列表条目,请按以下格式创建GET
请求。 您必须指定 Group 和 App ID。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/security/access_list
创建 IP 访问列表条目
要将 IP 地址添加到已启用条目列表中,点击绿色 Add IP address 按钮以打开 Add IP Access List Entry 模态。此模态允许您指定当前 IP 地址或使用自定义 IP 地址。您还可以指定关于条目的注释。
要创建IP访问列表条目,请调用appservices accessList create
。 CLI将提示您输入IP解决,并从所有应用程序列表中选择一个应用程序。
或者,您可以在调用该程序时指定以下任一参数:
appservices accessList create \ --app=<Your App ID> \ --ip=<IP Address> \ --comment=<Optional Comment> \ --use-current \ --allow-all
要创建IP访问列表条目,请按以下格式创建POST
请求。 您必须在请求正文中指定IP解决,并在请求URL中指定群组和应用程序ID 。
curl --request POST \ --header 'Authorization: Bearer <access_token>' \ --data '{ "address": "<IP Address>" }' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/security/access_list
编辑 IP 访问列表条目
要编辑条目,点击条目右侧的 edit 按钮,然后将打开 Update IP Access List Entry 模态。此模态允许您指定当前 IP 地址或使用自定义 IP 地址。您还可以指定关于条目的注释。
您可以通过更新条目的IP解决或向条目添加注释来编辑IP访问列表条目。 要更新条目的IP解决,请调用:
``appservices accessList update --new-ip <IP Address>``
要添加或更新评论,请调用:
``appservices accessList update --comment <Optional Comment>``
然后, CLI将提示您从所有应用程序和要更新的IP解决的列表中选择一个应用程序。
要更新条目的IP解决,请按以下格式创建PATCH
请求。 您必须在请求正文中指定新IP解决,并在请求URL中指定群组、应用程序和IP解决ID 。 IP解决ID是指要更新的条目。 要获取IP解决的ID ,请查看您的IP访问列表条目。
curl --request PATCH \ --header 'Authorization: Bearer <access_token>' \ --data '{ "address": "<IP Address>" }' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/security/access_list/<ipID>
删除 IP 访问列表条目
要删除条目,点击条目右侧的 delete 按钮,随即会打开一个模态窗口,要求您确认希望删除该条目。点击模态窗口上的红色 delete 按钮,完成条目的删除。
要删除IP访问列表条目,请调用appservices accessList delete
。 CLI将提示您输入应用程序ID并选择要删除的IP解决。
要删除IP访问列表条目,请按以下格式创建DELETE
请求。 您必须指定 群组、应用程序和IP解决ID。 要获取IP解决的ID ,请查看您的IP访问列表条目。
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/security/access_list/<ipID>
API 访问列表
从 Realm 命令行界面或 App Services Admin API 为项目或组织访问创建 Atlas API 密钥时,可以指定可以使用此 API 密钥的 IP 地址。如果指定 IP 地址,App Services 将阻塞源自不在访问列表中的 IP 地址的任何请求。