
AWS의 엔드포인트에 연결해야 하는 Google 클라우드 기능에서 실행되는 일부 서비스가 있습니다. 제가 화이트리스트에 추가할 수 있는 고정된 IP 세트가 없으므로 이 문제를 최선으로 처리할 수 있는 방법에 대한 귀하의 생각을 공유해 주시겠습니까? 설명된 대로 IP가 나열될 수 있음을 이해합니다.여기하지만 이 문제를 동적으로 처리하고 IP 변경을 모니터링하는 방법에 대한 생각을 공유해 주세요.
Amazon은 모든 AWS IP를 나열하는 구독 가능한 sns 주제를 제공하며, 보안 그룹을 최신 상태로 유지하기 위해 sns 주제를 구독하는 람다 함수를 사용한 사용 사례가 있습니다. 하지만 비슷한 요구에 대해 Google을 처리하는 가장 좋은 방법이 무엇인지 알아내려고 노력하고 있습니다.
답변1
들어오는 트래픽을 보호하는 세 가지 일반적인 방법이 있습니다.
- Where - 트래픽의 IP 주소입니다.
- Who - 트래픽의 ID(OAuth ID 토큰 등)
- What - 트래픽이 소유한 비밀(비밀 키, API 키 등)입니다.
Google Cloud Functions의 경우 첫 번째 방법을 안정적으로 사용할 수 없습니다. Google은 아직 Cloud 함수 IP 넷블록을 게시하지 않습니다. Cloud Functions가 어느 넷블록에서 도착하는지 파악하는 것은 매우 쉽지만 여기에는 다른 많은 Google Cloud 서비스가 포함됩니다.
Google Cloud Functions는 --service-account
서비스 계정을 사용하여 HTTP 'authorization: bearer' 헤더에 OAuth ID 토큰을 제공하는 배포 옵션을 지원합니다. 이는 GCP 세계(OAuth)에서 신원을 확인하는 일반적인 방법입니다.
세 번째 방법(비밀 키)은 원하는 대로 가능합니다. 사용자 정의 헤더, 사용자 정의 본문 페이로드 등을 생성하고 비밀 키를 포함할 수 있습니다.
Google Cloud Functions가 호출하는 엔드포인트 또는 엔드포인트 앞의 게이트웨이는 사용 중인 메서드를 검증해야 합니다.