Resource Manager 태그는 Google Cloud 리소스에 대한 액세스를 제어합니다. Resource Manager 태그를 사용하면 Google Cloud 리소스를 구성하고 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. Resource Manager 태그를 사용하여 세그먼트 및 서비스 유형별로 각 가상 머신(VM) 인스턴스에 태그를 지정할 수 있습니다. Resource Manager 태그를 사용하면 보안 웹 프록시 정책을 만들 때 호스트를 고유하게 식별할 수 있습니다.
이 가이드에서는 다음을 수행하는 방법을 보여줍니다.
- 빈 정책으로 보안 웹 프록시 인스턴스를 만듭니다.
- Resource Manager 태그를 만들고 VM 인스턴스에 적용합니다.
- Resource Manager 태그를 사용하여 보안 웹 프록시 정책을 만듭니다.
- 보안 웹 프록시 인스턴스를 만듭니다.
- VM에서 연결을 테스트합니다.
시작하기 전에
초기 설정 단계를 완료합니다.
조직 관리자에게 태그를 만들고 업데이트하는 데 필요한 역할을 부여합니다.
Google Cloud CLI 버전 406.0.0 이상이 설치되었는지 확인합니다.
gcloud version | head -n1
이전 gcloud CLI 버전이 설치되어 있는 경우 버전을 업데이트합니다.
gcloud components update --version=406.0.0
빈 정책으로 보안 웹 프록시 인스턴스 만들기
보안 웹 프록시 인스턴스를 만들려면 먼저 빈 보안 정책을 만든 다음 웹 프록시를 만듭니다.
빈 보안 정책 만들기
콘솔
Google Cloud 콘솔에서 네트워크 보안 페이지로 이동합니다.
보안 웹 프록시를 클릭합니다.
정책 탭을 클릭합니다.
정책 만들기를 클릭합니다.
만들려는 정책의 이름을 입력합니다(예:
myswppolicy
).정책의 설명을 입력합니다(예:
My new swp policy
).리전 목록에서 정책을 만들려는 리전을 선택합니다.
만들기를 클릭합니다.
Cloud Shell
원하는 텍스트 편집기를 사용하여
POLICY_FILE
.yaml 파일을 만듭니다.POLICY_FILE
을 정책 파일에 사용할 파일 이름으로 바꿉니다.만든 YAML 파일에 다음을 추가합니다.
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTION
다음을 바꿉니다.
PROJECT_NAME
: 프로젝트의 이름REGION
: 이 정책이 적용되는 리전POLICY_NAME
: 만들려는 정책의 이름POLICY_DESCRIPTION
: 만들려는 정책의 설명
보안 정책을 가져옵니다.
gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
웹 프록시 만들기
콘솔
Google Cloud 콘솔에서 네트워크 보안 페이지로 이동합니다.
보안 웹 프록시를 클릭합니다.
웹 프록시 설정을 클릭합니다.
만들려는 웹 프록시의 이름(예:
myswp
)을 입력합니다.웹 프록시에 대한 설명(예:
My new swp
)을 입력합니다.리전 목록에서 웹 프록시를 만들 리전을 선택합니다.
네트워크 목록에서 웹 프록시를 만들 네트워크를 선택합니다.
서브네트워크 목록에서 웹 프록시를 만들 서브네트워크를 선택합니다.
웹 프록시 IP 주소를 입력합니다.
인증서 목록에서 웹 프록시를 만드는 데 사용할 인증서를 선택합니다.
정책 목록에서 웹 프록시를 연결하기 위해 만든 정책을 선택합니다.
만들기를 클릭합니다.
Cloud Shell
원하는 텍스트 편집기를 사용하여
GATEWAY_FILE
.yaml 파일을 만듭니다.GATEWAY_FILE
을 웹 프록시 파일에 사용할 파일 이름으로 바꿉니다.만든 YAML 파일에 다음을 추가합니다.
name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME addresses: [GATEWAY_IP_ADDRESS] scope: samplescope
다음을 바꿉니다.
GATEWAY_NAME
: 이 인스턴스의 이름GATEWAY_PORT_NUMBERS
: 이 게이트웨이의 포트 번호 목록(예:[80,443]
)CERTIFICATE_URLS
: SSL 인증서 URL의 목록SUBNET_NAME
:GATEWAY_IP_ADDRESS
가 포함된 서브넷의 이름GATEWAY_IP_ADDRESS
: 이전에 초기 설정 단계에서 만든 프록시 서브넷 내의 보안 웹 프록시 인스턴스에 대한 IP 주소 목록(선택사항)IP 주소를 나열하지 않도록 선택한 경우 웹 프록시가 자동으로 IP 주소를 선택하도록 필드를 생략합니다.
보안 웹 프록시 인스턴스를 만듭니다.
gcloud network-services gateways import GATEWAY_NAME \ --source=GATEWAY_FILE.yaml \ --location=REGION
연결 테스트
연결을 테스트하려면 Virtual Private Cloud(VPC) 네트워크 내의 모든 VM에서 curl
명령어를 사용합니다.
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
403 Forbidden
오류가 발생합니다.
Resource Manager 태그 만들기 및 연결
Resource Manager 태그를 만들고 연결하려면 다음을 수행합니다.
-
태그를 만들 때는
GCE_FIREWALL
목적으로 태그를 지정합니다. 보안 웹 프록시를 포함하여 Google Cloud 네트워킹 기능을 사용하려면 태그를 적용하기 위해GCE_FIREWALL
용도가 필요합니다. 하지만 다른 작업에 태그를 사용할 수 있습니다.
보안 웹 프록시 규칙 만들기
보안 웹 프록시 규칙을 만들려면 다음을 수행합니다.
원하는 텍스트 편집기를 사용하여
RULE_FILE
.yaml 파일을 만듭니다.RULE_FILE
을 선택한 파일 이름으로 바꿉니다.선택한 태그의 URL에 대한 액세스를 허용하려면 YAML 파일에 다음을 추가합니다.
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
다음을 바꿉니다.
RULE_NAME
: 이 규칙의 이름RULE_DESCRIPTION
: 만들려는 규칙에 대한 설명RULE_PRIORITY
: 이 규칙의 우선순위입니다. 숫자가 작을수록 우선순위가 높습니다.CEL_EXPRESSION
: Common Expression Language(CEL) 표현식자세한 내용은 CEL 일치자 언어 참조를 참조하세요.
예를 들어 원하는 태그에서
example.com
에 대한 액세스를 허용하려면sessionMatcher
에 대해 만든 YAML 파일에 다음을 추가합니다.sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"
TAG_VALUE
를tagValues/1234
형식의 허용하려는 태그로 바꿉니다.만든 규칙을 가져옵니다.
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
연결 테스트
연결을 테스트하려면 TAG_VALUE
태그와 연결된 VM에서 curl
명령어를 사용합니다.
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
IPv4_ADDRESS
를 보안 웹 프록시 인스턴스의 IPv4 주소로 바꿉니다.