네트워크 보안 구성
이 페이지의 내용
개요
App Services는 다양한 네트워크 보안 프로토콜을 사용하여 데이터에 대한 무단 액세스를 방지합니다. 다음을 수행할 수 있습니다.
애플리케이션과 주고받는 네트워크 요청을 보호하도록 TLS를 구성합니다.
모든 아웃바운드 요청이 시작되는 IP 주소를 정의합니다.
인바운드 요청이 시작될 수 있는 URL과 IP 주소를 정의하고 관리합니다.
TLS(전송 계층 보안)
App Services 는 TLS 1.3 를 사용합니다. 다음을 포함하여 애플리케이션 과 주고받는 모든 네트워크 요청을 보호합니다.
Realm SDK에서 연결하는 앱.
HTTPS를 통해 전송된 Atlas Data API 요청.
MongoDB Atlas 데이터 소스에 대한 쿼리 및 작업.
TLS 인증서는 미리 정의되어 있으며 사용자 지정하거나 비활성화할 수 없습니다.
참고
백엔드 암호화
App Services와 Atlas 간의 모든 내부 통신은 x509 인증서로 암호화됩니다.
방화벽 구성
App Services는 설정된 IP 주소 목록에서만 아웃바운드 요청을 보냅니다. 정확한 목록은 앱 서버가 배포되는 클라우드 공급자에 따라 다릅니다. 이 섹션에 나열된 IP 주소를 방화벽에서 들어오는 요청에 대한 허용 목록에 복사할 수 있습니다.
Atlas App Services에서 사용하는 모든 IP 주소의 컴퓨터 친화적인 목록을 JSON 또는 CSV 형식으로 다운로드할 수 있습니다. 다음 섹션에서 클라우드 공급자별 JSON 및 CSV 파일을 찾을 수도 있습니다.
참고
Atlas App Services UI에서 함수를 실행하는 경우, 요청은 앱이 배포된 리전이 아닌 가장 가까운 서버에서 시작됩니다.
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 목록은 발신 요청을 하는 Triggers 및 HTTPS endpoints를 포함하여 Atlas function에서 발신하는 요청에만 적용됩니다.
동기화 서버에서 시작되는 요청의 경우 앱 배포 리전 및 클라우드 공급자의 전체 서브넷을 허용 목록에 추가하는 것이 좋습니다. App Services UI의 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 주소 찾기
ipconfig 명령을 실행하여 Windows 컴퓨터의 IP 주소를 찾습니다.
ifconfig 실행 명령을 사용하여 Linux 또는 Mac 시스템의 IP 주소 를 찾습니다.
IP 액세스 목록 항목 보기
IP 액세스 목록 설정을 보려면 App Services UI에서 App Settings(으)로로 이동한 다음 IP Access List 탭을 클릭합니다.
IP 액세스 목록 항목을 보려면 appservices accessList list
을(를) 호출합니다. 그러면 CLI 에서 앱 ID 를 입력하라는 메시지를 표시합니다.
IP 액세스 목록 항목을 보려면 다음 형식으로 GET
요청 을 생성합니다. 그룹 및 앱 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 액세스 목록 항목을 만들려면 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 주소 를 업데이트 하려면 다음을 호출합니다.
``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 CLI 또는 App Services Admin API 에서 프로젝트 또는 조직 액세스를 위한 Atlas API 키를 생성할 때 이 API 키를 사용할 수 있는 IP 주소를 지정할 수 있습니다. IP 주소를 지정하면 App Services는 액세스 목록에 없는 IP 주소에서 발생하는 모든 요청을 차단합니다.