1. 소개
Cloud Next Generation Firewall (NGFW)
Cloud Next Generation Firewall은 고급 보호 기능, 마이크로 세분화, 광범위한 적용 범위를 갖춘 완전 분산형 방화벽 서비스로, 내부 및 외부 공격으로부터 Google Cloud 워크로드를 보호합니다.
Cloud NGFW에는 다음과 같은 이점이 있습니다.
- 분산형 방화벽 서비스: Cloud NGFW는 각 워크로드에 스테이트풀(Stateful) 완전 분산형 호스트 기반 시행을 제공하여 제로 트러스트 보안 아키텍처를 사용 설정합니다.
- 구성 및 배포 간소화: Cloud NGFW는 리소스 계층 구조 노드에 연결할 수 있는 네트워크 및 계층식 방화벽 정책을 구현합니다. 이러한 정책은 Google Cloud 리소스 계층 구조에서 일관된 방화벽 환경을 제공합니다.
- 세밀한 제어 및 마이크로 세분화: 방화벽 정책과 Identity and Access Management (IAM)에서 관리하는 태그를 함께 사용하면 가상 프라이빗 클라우드 (VPC) 네트워크 전체에서 단일 VM까지 North-South 트래픽과 East-West 트래픽에 대한 세밀한 제어를 수행할 수 있습니다.
네트워크 방화벽 정책
네트워크 방화벽 정책은 방화벽 규칙의 컨테이너 역할을 합니다. 네트워크 방화벽 정책에 정의된 규칙은 정책이 VPC 네트워크와 연결될 때까지 어디에도 적용되지 않습니다. 각 VPC 네트워크에는 하나의 네트워크 방화벽 정책을 연결할 수 있습니다. 네트워크 방화벽 정책은 방화벽 규칙에서 IAM 제어 태그 (또는 태그)를 지원하며 워크로드에 ID를 제공하는 데 사용할 수 있습니다.
네트워크 간에 네트워크 방화벽 정책을 공유하고 IAM 적용 태그와 통합하면 방화벽의 구성 및 관리가 크게 간소화됩니다.
네트워크 방화벽 정책이 도입됨에 따라 이제 Google Cloud의 방화벽 정책은 다음 구성요소로 구성됩니다.
계층식 방화벽 정책은 리소스 계층 구조 내의 조직 및 폴더 노드에서 지원되는 반면 VPC 방화벽 규칙과 네트워크 방화벽 정책은 VPC 수준에서 적용됩니다. VPC 방화벽 규칙과 네트워크 방화벽 정책의 큰 차이점은 VPC 방화벽 규칙은 단일 VPC 네트워크에만 적용할 수 있는 반면 네트워크 방화벽 정책은 일괄 업데이트와 같은 다른 이점과 함께 단일 VPC 또는 VPC 그룹에 연결할 수 있다는 것입니다.
이 실습에서는 계층식 방화벽 정책과 전역 네트워크 방화벽 정책을 테스트합니다.
마지막으로 모든 VPC 네트워크에 포함된 묵시적 방화벽 규칙도 있습니다.
- 작업이 허용이고 대상이 0.0.0.0/0인 이그레스 규칙
- 작업이 거부이고 소스가 0.0.0.0/0인 인그레스 규칙
기본적으로 시행 순서는 다음 다이어그램에 나와 있습니다.

IAM 적용 태그
새로운 방화벽 정책 규칙에 통합된 태그는 Google Cloud 리소스 계층 구조의 조직 또는 프로젝트 수준에서 정의된 키-값 쌍 리소스입니다. 이러한 태그에는 이름에서 알 수 있듯이 태그에서 누가 어떤 작업을 할 수 있는지 지정하는 IAM 액세스 제어가 포함되어 있습니다. 예를 들어 IAM 권한을 사용하면 태그에 값을 할당할 수 있는 주 구성원과 리소스에 태그를 연결할 수 있는 주 구성원을 지정할 수 있습니다. 태그가 리소스에 적용되면 방화벽 정책 규칙에서 태그를 사용하여 트래픽을 허용하거나 거부할 수 있습니다.
태그는 Google Cloud의 상속 리소스 모델을 따르므로 태그와 해당 값은 상위 요소에서 계층 구조를 통해 전달됩니다. 따라서 한 위치에서 태그를 만든 다음 리소스 계층 구조 전체에서 다른 폴더와 프로젝트에서 사용할 수 있습니다. 태그 및 액세스 제한에 대한 자세한 내용은 이 페이지를 참고하세요.
태그는 네트워크 태그와 혼동해서는 안 됩니다. 네트워크 태그는 Compute Engine 인스턴스에 추가할 수 있는 문자열로, 인스턴스와 연결되어 인스턴스가 폐기되면 사라집니다. VPC 방화벽 규칙에는 네트워크 태그가 포함될 수 있지만 클라우드 리소스로 간주되지 않으므로 IAM 액세스 제어가 적용되지 않습니다. 차이점에 대한 자세한 내용은 이 페이지를 참고하세요.
2. 학습할 내용
- Cloud NGFW 및 전역 범위와 함께 사용할 IAM 관리 태그를 만드는 방법
- VM에 태그를 연결하는 방법
- 계층식 방화벽 정책을 만들고 폴더와 연결하는 방법
- 계층식 방화벽 정책에서 방화벽 규칙을 만들고 IAM 적용 태그를 사용하여 소스와 대상을 지정하는 방법
3. 전체 실습 아키텍처

조직 및 폴더:
- 조직 바로 아래에
folder1및folder2이라는 두 개의 폴더를 만듭니다.
프로젝트:
folder1내부에 호스트 프로젝트를 만듭니다. 이 프로젝트에는 공유 VPC 네트워크가 포함됩니다.folder2내에서 서비스 프로젝트를 만듭니다. 이 프로젝트에는 공유 VPC를 사용하는 VM이 포함됩니다.
네트워킹:
mynet라는 이름의 VPC 네트워크가 호스트 프로젝트에 생성되고 공유 VPC로 구성됩니다. 이를 통해 서비스 프로젝트의 리소스가 네트워크를 사용할 수 있습니다.- 서비스 프로젝트에 VM 2개가 생성되고
mynet공유 VPC에 연결됩니다.
IAM 적용 태그:
- 조직 수준에서 이름이
http_server및http_client인 두 개의 값이 있는 IAM 관리 태그http_tags를 만듭니다. 이러한 태그/값은 VM을 식별하고 VM에 방화벽 규칙을 적용하는 데 사용됩니다.
방화벽 정책:
- 계층식 방화벽 정책이 생성되고
folder1와 연결됩니다. 이 정책 내의 규칙은 IAM 관리 태그를 사용하여 포트 80에서http-client에서http-server로의 트래픽을 허용합니다. - 호스트 프로젝트에 네트워크 방화벽 정책이 생성되고
mynetVPC와 연결됩니다. 이 정책에는 테스트 목적으로 VM에 대한 IAP SSH 액세스를 허용하는 규칙이 포함됩니다.
4. 준비 단계
먼저 Google Cloud 조직에서 필요한 IAM 역할, 네트워크 인프라, 인스턴스를 설정합니다.
실습을 진행하는 데 필요한 IAM 역할
먼저 조직 수준에서 GCP 계정에 필수 IAM 역할을 할당합니다.
- 조직 관리자 (
roles/resourcemanager.organizationAdmin): 이 역할을 사용하면 조직, 폴더, 프로젝트의 IAM 정책을 관리하고 조직 정책을 볼 수 있습니다. - 태그 관리자(
roles/resourcemanager.tagAdmin): 이 역할을 사용하면 보안 태그를 만들고, 업데이트하고, 삭제할 수 있습니다. - 태그 사용자 역할 (
roles/resourcemanager.tagUser): 이 역할을 사용하면 보안 태그 목록에 액세스하고 리소스와의 연결을 관리할 수 있습니다. - Compute 조직 방화벽 정책 관리자 역할 (
roles/compute.orgFirewallPolicyAdmin): 이 역할은 Compute Engine 조직 방화벽 정책을 관리할 수 있는 전체 권한을 제공합니다. - Compute 조직 리소스 관리자 역할 (
roles/compute.orgSecurityResourceAdmin): 이 역할은 Compute Engine 방화벽 정책과 조직 또는 폴더의 연결을 관리할 수 있는 전체 권한을 제공합니다. - Compute 네트워크 관리자 (
roles/compute.networkAdmin): 이 역할은 Compute Engine 네트워킹 리소스를 완전히 제어할 수 있는 권한을 부여합니다. - Compute 인스턴스 관리자( 베타) (
roles/compute.instanceAdmin): 이 역할은 Compute Engine 인스턴스 리소스를 관리할 수 있는 전체 권한을 제공합니다. - 로깅 관리자 (
roles/logging.admin): 이 역할은 모든 로깅 권한 및 종속 권한에 대한 액세스 권한을 부여합니다. - 서비스 계정 관리자 (
roles/iam.serviceAccountAdmin): 이 역할을 사용하면 서비스 계정을 만들고 관리할 수 있습니다. - 서비스 사용량 관리자 (
roles/serviceusage.serviceUsageAdmin): 이 역할은 서비스 상태를 사용 설정, 중지, 검사하고, 작업을 검사하고, 소비자 프로젝트의 할당량과 결제를 사용할 수 있는 권한을 제공합니다. - Compute 공유 VPC 관리자 (
roles/compute.xpnAdmin): 이 역할을 사용하면 공유 VPC 네트워크 (XPN)를 관리할 수 있습니다.
폴더 및 프로젝트 만들기
Cloud Shell 내에서 다음을 실행하여 folder1 및 folder2를 만듭니다.
gcloud auth login
export org_id=$(gcloud organizations list --format='value(ID)')
export BILLING_ACCOUNT_ID=$(gcloud billing accounts list --format='value(ACCOUNT_ID)')
export folder1=[FOLDER1 NAME]
export folder2=[FOLDER2 NAME]
export hostproject=[HOST PROJECT NAME]
export serviceproject=[SERVICE PROJECT NAME]
export regionname=[REGION NAME]
export zonename=[COMPUTE ZONE NAME]
gcloud resource-manager folders create --display-name=$folder1 --organization=$org_id
export folder1_id=$(gcloud resource-manager folders list --organization=$org_id --filter="displayName=$folder1" --format="value(ID)")
gcloud resource-manager folders create --display-name=$folder2 --organization=$org_id
export folder2_id=$(gcloud resource-manager folders list --organization=$org_id --filter="displayName=$folder2" --format="value(ID)")
Cloud Shell 내에서 다음을 실행하여 folder1 아래에 호스트 프로젝트를 만듭니다.
gcloud projects create --name=$hostproject --folder=$folder1_id
다음과 같이 표시됩니다. Y를 눌러 새 프로젝트 ID로 프로젝트를 만듭니다.
No project ID provided.
Use [NEW-PROJECT-ID] as project ID (Y/n)?
프로젝트 ID를 기록해 둡니다. Cloud Shell 내에서 다음을 실행하여 hostproject_id로 내보냅니다.
export hostproject_id=[HOSTPROJECT ID]
Cloud Shell에서 다음을 실행하여 호스트 프로젝트를 결제 계정에 연결합니다.
gcloud billing projects link $hostproject_id \
--billing-account=$BILLING_ACCOUNT_ID
Cloud Shell 내에서 다음을 실행하여 folder2 아래에 서비스 프로젝트를 만듭니다.
gcloud projects create --name=$serviceproject --folder=$folder2_id
다음과 같이 표시됩니다. Y를 눌러 새 프로젝트 ID로 프로젝트를 만듭니다.
No project ID provided.
Use [NEW-PROJECT-ID] as project ID (Y/n)?
프로젝트 ID를 기록해 둡니다. Cloud Shell 내에서 다음을 실행하여 serviceproject_id로 내보냅니다.
export serviceproject_id=[SERVICEPROJECT ID]
Cloud Shell 내에서 다음을 실행하여 서비스 프로젝트를 결제 계정에 연결합니다.
gcloud billing projects link $serviceproject_id \
--billing-account=$BILLING_ACCOUNT_ID
IAM 적용 태그 만들기
태그는 조직, 폴더 또는 프로젝트에 연결할 수 있는 키-값 쌍입니다. 자세한 내용은 태그 만들기 및 관리 및 필요한 권한을 참고하세요.
조직 수준에서 태그 하나를 만듭니다(http-tags). 태그의 용도는 Cloud NGFW를 사용하는 것입니다. 범위를 단일 네트워크로 제한하지 않습니다. 태그는 전역 범위입니다. 나중에 folder2 아래의 서비스 프로젝트에서 생성된 VM에 태그를 적용합니다.
Cloud Shell 내에서 다음을 실행합니다.
gcloud resource-manager tags keys create http_tags \
--parent=organizations/$org_id \
--purpose GCE_FIREWALL \
--purpose-data organization=auto
태그 키 ID는 생성 중에 VM에 주석을 추가하는 데 사용됩니다. Cloud Shell 내에서 다음을 실행하여 태그 키 ID를 가져옵니다.
export http_tags_id=$(gcloud resource-manager tags keys describe $org_id/http_tags --format="value(name)")
echo $http_tags_id
Cloud Shell 내에서 다음을 실행하여 두 개의 새 태그 값 http_server 및 http_client를 만듭니다.
gcloud resource-manager tags values create http_server \
--parent $org_id/http_tags
gcloud resource-manager tags values create http_client \
--parent $org_id/http_tags
생성 중에 태그 ID와 태그 값 ID를 사용하여 VM에 주석을 답니다. Cloud Shell 내에서 다음을 실행하여 http_server 및 http_client의 태그 값 ID를 가져옵니다.
export http_tags_http_server_id=$(gcloud resource-manager tags values describe $org_id/http_tags/http_server --format="value(name)")
echo $http_tags_http_server_id
export http_tags_http_client_id=$(gcloud resource-manager tags values describe $org_id/http_tags/http_client --format="value(name)")
echo $http_tags_http_client_id
호스트 프로젝트 및 서비스 프로젝트에서 API 사용 설정
Cloud Shell 내에서 다음을 실행합니다.
gcloud services enable compute.googleapis.com --project=$serviceproject_id
gcloud services enable compute.googleapis.com --project=$hostproject_id
호스트 프로젝트에서 VPC 만들기
호스트 프로젝트에서 커스텀 서브넷 모드로 VPC 네트워크를 만들려면 Cloud Shell에서 다음을 실행하세요.
gcloud compute networks create mynet \
--subnet-mode=custom \
--project=$hostproject_id
호스트 프로젝트에서 서브넷 만들기
Cloud Shell 내에서 다음을 실행하여 IPV4 서브넷을 만듭니다.
gcloud compute networks subnets create mysubnet \
--network=mynet \
--range=10.0.0.0/28 \
--region=$regionname \
--project=$hostproject_id
호스트 프로젝트에서 공유 VPC 사용 설정
Cloud Shell에서 다음을 실행하여 호스트 프로젝트에서 공유 VPC를 사용 설정합니다.
gcloud compute shared-vpc enable $hostproject_id
호스트 프로젝트에서 공유 VPC의 서비스 프로젝트 연결
Cloud Shell에서 다음을 실행하여 호스트 프로젝트에 공유 VPC용 서비스 프로젝트를 연결합니다.
gcloud compute shared-vpc associated-projects add $serviceproject_id --host-project=$hostproject_id
호스트 프로젝트에서 Cloud Router 및 Cloud NAT 만들기
Cloud NAT는 VM이 애플리케이션을 다운로드하고 설치할 수 있도록 인터넷 이그레스를 허용하는 데 사용됩니다.
gcloud compute routers create $regionname-cr \
--network=mynet \
--region=$regionname \
--project=$hostproject_id
gcloud compute routers nats create $regionname-nat \
--router=$regionname-cr \
--region=$regionname \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips \
--project=$hostproject_id
서비스 프로젝트에서 인스턴스 만들기
서비스 프로젝트에서 호스트 프로젝트의 공유 VPC에서 방금 만든 서브넷에 인스턴스 두 개를 만듭니다. 한 인스턴스의 이름은 http-server이고 http_tags의 태그에 http_server 값을 주석으로 추가합니다. 다른 인스턴스의 이름은 http-client이며 http_tags 태그에 http_client 값을 주석으로 추가합니다. Cloud Shell에서 다음 명령어를 실행합니다.
gcloud compute instances create http-client \
--project=$serviceproject_id \
--subnet=projects/$hostproject_id/regions/$regionname/subnetworks/mysubnet \
--zone=$zonename \
--no-address \
--resource-manager-tags=$http_tags_id=$http_tags_http_client_id
gcloud compute instances create http-server \
--project=$serviceproject_id \
--subnet=projects/$hostproject_id/regions/$regionname/subnetworks/mysubnet \
--zone=$zonename \
--no-address \
--resource-manager-tags=$http_tags_id=$http_tags_http_server_id \
--metadata startup-script='#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
a2enmod ssl
sudo a2ensite default-ssl
echo "I am a Http Server." | \
tee /var/www/html/index.html
systemctl restart apache2'
http-server의 내부 IP를 기록해 둡니다. 이 IP 주소는 나중에 방화벽 규칙 테스트 단계에서 사용합니다.
export http_server_ip=$(gcloud compute instances describe http-server --zone $zonename --format='value(networkInterfaces[0].networkIP)' --project $serviceproject_id)
echo $http_server_ip
5. 호스트 프로젝트에서 전역 네트워크 방화벽 정책 만들기
호스트 프로젝트에 전역 네트워크 방화벽 정책을 만들고 호스트 프로젝트의 공유 VPC와 연결합니다.
gcloud config set project $hostproject_id
gcloud compute network-firewall-policies create mynet-fw-policy \
--global \
--project=$hostproject_id
gcloud compute network-firewall-policies associations create \
--firewall-policy=mynet-fw-policy \
--network=mynet \
--name=mynet-fw-policy \
--global-firewall-policy \
--project=$hostproject_id
IAP가 VM 인스턴스에 연결하도록 하려면 네트워크 방화벽 정책에서 방화벽 규칙을 만드세요.
- IAP를 사용하여 액세스할 수 있는 모든 VM 인스턴스에 적용됩니다.
- IP 범위 35.235.240.0/20에서의 인그레스 트래픽을 허용합니다. 이 범위에는 IAP가 TCP 전달을 위해 사용하는 모든 IP 주소가 포함됩니다.
gcloud compute network-firewall-policies rules create 1000 \
--action=ALLOW \
--firewall-policy=mynet-fw-policy \
--description="mynet-allow-iap" \
--direction=INGRESS \
--src-ip-ranges=35.235.240.0/20 \
--layer4-configs=tcp:22 \
--global-firewall-policy \
--project=$hostproject_id
콘솔에서 호스트 프로젝트로 이동하여 방화벽 정책 아래에서 새로 생성된 전역 네트워크 방화벽 정책을 찾을 수 있습니다. 네트워크 방화벽 정책에서 새로 생성된 방화벽 규칙을 확인할 수 있습니다. 콘솔 링크를 통해 콘솔로 이동할 수 있습니다. 콘솔에서 프로젝트 선택기를 호스트 프로젝트로 변경해야 합니다.
6. http-client VM에서 http-server VM으로의 액세스 테스트
http-client라는 VM에 SSH로 연결하고 http 80 포트에서 http-server에 액세스할 수 있는지 테스트합니다.
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute ssh \
--zone=$zonename "http-client" \
--tunnel-through-iap \
--project=$serviceproject_id
curl을 사용하여 웹 서버에 액세스합니다.
curl -m 10 [http_server_ip]
curl 명령어 결과가 표시됩니다. http-server의 포트 80을 허용하는 인그레스 방화벽 규칙이 없습니다.
10000밀리초 후에 연결 시간이 초과되었습니다.
SSH 세션을 종료하여 Cloud Shell로 돌아갑니다.
exit
7. 계층식 방화벽 정책 및 방화벽 규칙 만들기
folder1에서 계층식 방화벽 정책을 만들고 folder1에 정책을 연결합니다. 정책의 방화벽 규칙은 folder1 아래의 호스트 프로젝트에 적용됩니다.
계층식 방화벽 정책 만들기
gcloud compute firewall-policies create \
--folder=$folder1_id \
--short-name=my-folder1-fw-policy
계층식 방화벽 정책에서 방화벽 규칙 만들기
이 규칙을 사용하면 태그 값이 http_tags/http_client인 VM이 tcp 포트 80에서 태그 값이 http_tags/http_server인 VM에 액세스할 수 있습니다.
gcloud compute firewall-policies rules create 100 \
--organization=$org_id \
--firewall-policy my-folder1-fw-policy \
--direction=INGRESS \
--layer4-configs=tcp:80 \
--action=allow \
--src-secure-tags=$org_id/http_tags/http_client \
--target-secure-tags=$org_id/http_tags/http_server \
--description=folder1-allow-http
계층식 방화벽 정책을 folder1과 연결
gcloud compute firewall-policies associations create \
--firewall-policy=my-folder1-fw-policy \
--folder=$folder1_id \
--name=my-folder1-fw-policy\
--organization=$org_id
콘솔에서 folder1로 이동하여 방화벽 정책 아래에서 새로 생성된 계층적 방화벽 정책을 찾을 수 있습니다. 방화벽 정책이 '이 폴더에 있는 방화벽 정책'에 표시됩니다. 계층식 방화벽 정책에서 새로 생성된 방화벽 규칙을 확인할 수 있습니다. 콘솔 링크를 통해 콘솔로 이동할 수 있습니다. 콘솔에서 프로젝트 선택기를 folder1로 변경해야 합니다.
8. http-client VM에서 http-server VM으로의 액세스 테스트
호스트 프로젝트의 공유 VPC에 적용된 유효 방화벽 정책을 확인합니다.
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute networks get-effective-firewalls mynet --project=$hostproject_id
상속된 계층식 방화벽 정책은 다음과 같이 표시됩니다.
TYPE: org-firewall
FIREWALL_POLICY_NAME: <NUMBER_FOR_YOUR_FW_POLICY>
FIREWALL_POLICY_PRIORITY:
PRIORITY: 100
ACTION: ALLOW
DIRECTION: INGRESS
DISABLED: False
IP_RANGES:
You will see the network firewall policy to the VPC like this:
TYPE: network-firewall-policy
FIREWALL_POLICY_NAME: mynet-fw-policy
FIREWALL_POLICY_PRIORITY: 1000
PRIORITY: 1000
ACTION: ALLOW
DIRECTION: INGRESS
DISABLED: False
IP_RANGES: 35.235.240.0/20
http-client라는 VM에 SSH로 연결하고 http 80 포트에서 http-server에 액세스할 수 있는지 테스트합니다.
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute ssh \
--zone=$zonename "http-client" \
--tunnel-through-iap \
--project=$serviceproject_id
curl을 사용하여 웹 서버에 액세스합니다.
curl [http_server_ip]
curl 명령어가 http-server에서 응답을 성공적으로 반환합니다.
I am a Http Server.
계층적 방화벽 정책의 인그레스 방화벽 규칙은 포트 80에서 http-client에서 http-server로의 액세스를 허용합니다.
SSH 세션을 종료하여 Cloud Shell로 돌아갑니다.
exit
9. 삭제
서비스 프로젝트에서 VM 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute instances delete http-server --zone $zonename --project=$serviceproject_id
gcloud compute instances delete http-client --zone $zonename --project=$serviceproject_id
계층식 방화벽 정책 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute firewall-policies associations delete my-folder1-fw-policy \
--firewall-policy=my-folder1-fw-policy \
--organization=$org_id
gcloud compute firewall-policies rules delete 100 \
--organization=$org_id \
--firewall-policy=my-folder1-fw-policy
gcloud compute firewall-policies delete my-folder1-fw-policy \
--organization=$org_id
조직 수준에서 태그 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud resource-manager tags values delete $http_tags_http_server_id
gcloud resource-manager tags values delete $http_tags_http_client_id
gcloud resource-manager tags keys delete $http_tags_id
호스트 프로젝트 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute shared-vpc associated-projects remove $serviceproject_id --host-project=$hostproject_id
gcloud compute shared-vpc disable $hostproject_id
gcloud projects delete $hostproject_id
서비스 프로젝트 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud projects delete $serviceproject_id
폴더 정리
Cloud Shell 내에서 다음을 실행합니다.
gcloud resource-manager folders delete $folder1_id
gcloud resource-manager folders delete $folder2_id
10. 축하합니다
IAM 적용 태그를 사용하여 계층식 방화벽 정책을 성공적으로 테스트했습니다.