이 문서에서는 보안 웹 프록시를 사용하는 데 필요한 초기 설정 단계를 설명합니다.
IAM 역할 및 권한 가져오기
보안 웹 프록시 인스턴스를 프로비저닝하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
- 정책을 구성하고 보안 웹 프록시 인스턴스를 프로비저닝: Compute 네트워크 관리자 역할(
roles/compute.networkAdmin) - 명시적 보안 웹 프록시 TLS 인증서 업로드: 인증서 관리자 편집자 역할(
roles/certificatemanager.editor)
역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
또한 커스텀 역할 또는 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
선택사항: Compute Engine 조직 보안 정책 관리를 담당하는 사용자 집단이 있는 경우 Compute 조직 보안 정책 관리자 역할(roles/compute.orgSecurityPolicyAdmin)을 부여합니다.
프로젝트 역할 및 권한에 대한 자세한 내용은 다음을 참조하세요.
Google Cloud 프로젝트 만들기
Google Cloud 프로젝트를 만들거나 선택하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 프로젝트 선택기 페이지로 이동합니다.
Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
gcloud
다음 단계 중 하나를 따르세요.
Google Cloud 프로젝트를 만들려면
gcloud projects create명령어를 사용합니다.gcloud projects create PROJECT_IDPROJECT_ID를 고유한 프로젝트 ID로 바꿉니다.기존 Google Cloud 프로젝트를 선택하려면
gcloud config set명령어를 사용합니다.gcloud config set project PROJECT_ID
결제 사용 설정
Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 자세한 내용은 프로젝트의 결제 사용 설정, 사용 중지, 변경 및 프로젝트의 결제 상태 확인을 참고하세요.
필요한 API 사용 설정
콘솔
Google Cloud 콘솔에서 API 액세스 사용 설정 페이지로 이동합니다.
Compute Engine API, Certificate Manager API, Network Services API, Network Security API와 같은 필수 API를 사용 설정하는 안내를 따르세요.
선택사항: 프록시에 대해 TLS 검사를 구성하려면 Certificate Authority Service API를 사용 설정해야 합니다.
gcloud
필요한 Google Cloud API를 사용 설정하려면 gcloud services enable 명령어를 사용합니다.
gcloud services enable \
--compute.googleapis.com \
--certificatemanager.googleapis.com \
--networkservices.googleapis.com \
--networksecurity.googleapis.com \
--privateca.googleapis.com
선택사항: 프록시에 대해 TLS 검사를 구성하려면 Certificate Authority Service (privateca.googleapis.com) API를 사용 설정해야 합니다.
VPC 서브넷 만들기
보안 웹 프록시 인스턴스를 배포할 각 리전의 VPC 네트워크에 서브넷을 만듭니다. 이전에 서브넷을 만든 경우 purpose 매개변수를 PRIVATE로 설정하여 VPC 서브넷으로 재사용할 수 있습니다.
gcloud
서브넷을 만들려면 gcloud compute networks subnets create 명령어를 사용합니다.
gcloud compute networks subnets create VPC_SUBNET_NAME \
--purpose=PRIVATE \
--region=REGION \
--network=NETWORK_NAME \
--range=IP_RANGE
다음을 바꿉니다.
VPC_SUBNET_NAME: VPC 서브넷의 이름REGION: VPC 서브넷을 배포할 리전NETWORK_NAME: VPC 네트워크 이름IP_RANGE: 서브넷 범위(예:10.10.10.0/24)
프록시 서브넷 만들기
보안 웹 프록시 인스턴스를 배포할 각 리전에 프록시 서브넷을 만듭니다.
최대 512개의 프록시 전용 주소를 저장할 수 있는 /23 서브넷 크기를 만드는 것이 좋습니다. 보안 웹 프록시는 이 범위를 사용하여 고유한 IP 주소의 전용 풀을 할당합니다. 이 예약 풀은 프록시가 확장을 처리하고 VPC 네트워크의 Cloud NAT 및 대상과 안전하게 상호작용할 수 있는 충분한 용량을 확보하는 데 도움이 됩니다.
gcloud
프록시 서브넷을 만들려면 gcloud compute networks subnets create 명령어를 사용합니다.
gcloud compute networks subnets create PROXY_SUBNET_NAME \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=REGION \
--network=NETWORK_NAME \
--range=IP_RANGE
다음을 바꿉니다.
PROXY_SUBNET_NAME: 프록시 서브넷 이름REGION: 프록시 서브넷을 배포할 리전NETWORK_NAME: VPC 네트워크 이름IP_RANGE: 서브넷 범위(예:192.168.0.0/23)
TLS 인증서 배포
보안 웹 프록시의 기본 기능인 심층 검사 없는 정책 시행에는 전송 계층 보안 (TLS) 인증서가 필요하지 않으므로 TLS (이전에는 SSL) 인증서는 보안 웹 프록시에 선택사항입니다.
TLS 인증서는 클라이언트(네트워크 내 워크로드, 애플리케이션 또는 기기)가 HTTPS를 사용하여 프록시에 연결하는 경우에만 보안 웹 프록시에 필요합니다. 자세한 내용은 SSL 인증서 개요를 참조하세요.
인증서 관리자를 사용하여 TLS 인증서를 배포하려면 다음 방법 중 하나를 따르세요.
다음 예에서는 인증서 관리자를 사용하여 리전별 자체 관리형 인증서를 배포하는 방법을 보여줍니다.
TLS 인증서를 만듭니다.
openssl req -x509 -newkey rsa:2048 \ -keyout KEY_PATH \ -out CERTIFICATE_PATH -days 365 \ -subj '/CN=SWP_HOST_NAME' -nodes -addext \ "subjectAltName=DNS:SWP_HOST_NAME"다음을 바꿉니다.
KEY_PATH: 비공개 키를 저장할 경로(예:~/key.pem)CERTIFICATE_PATH: 인증서를 저장할 경로(예:~/cert.pem)SWP_HOST_NAME: 보안 웹 프록시 인스턴스의 호스트 이름입니다(예:myswp.example.com).