방화벽을 위한 보안 태그

Cloud Next Generation Firewall 규칙은 태그를 사용하여 소스와 타겟을 지정합니다. 이 유연한 접근 방식을 사용하면 IP 주소에 의존하지 않아도 됩니다.

태그 유형

Cloud NGFW는 두 가지 유형의 태그를 지원합니다.

  • Identity and Access Management(IAM)로 관리되는 태그(보안 태그라고도 함)는 Resource Manager에서 태그 키와 태그 값으로 생성되고 관리됩니다. 보안 태그 값을 사용하여 계층적 방화벽 정책, 전역 네트워크 방화벽 정책 또는 리전 네트워크 방화벽 정책에서 인그레스 규칙의 소스와 인그레스 또는 이그레스 규칙의 대상을 지정할 수 있습니다.

  • 네트워크 태그는 가상 머신 (VM) 인스턴스 또는 인스턴스 템플릿에 추가할 수 있는 액세스 제어가 없는 문자열입니다. 네트워크 태그는 인그레스 Virtual Private Cloud (VPC) 방화벽 규칙의 소스와 인그레스 또는 이그레스 VPC 방화벽 규칙의 대상을 지정하는 데 사용할 수 있습니다. 네트워크 태그는 계층적 방화벽 정책, 전역 네트워크 방화벽 정책 또는 리전 네트워크 방화벽 정책의 규칙에서 사용할 수 없습니다. 네트워크 태그에 대한 자세한 내용은 네트워크 태그 추가를 참고하세요.

보안 태그와 네트워크 태그의 차이점에 대한 자세한 내용은 보안 태그와 네트워크 태그 비교를 참고하세요.

이 페이지의 다음 섹션에서는 방화벽 정책의 보안 태그를 설명합니다.

사양

보안 태그의 사양은 다음과 같습니다.

  • 상위 리소스: 상위 리소스는 보안 태그 키가 정의된 리소스입니다. 태그 키는 상위 프로젝트 또는 조직에서 만들 수 있습니다. 태그 키 만들기에 대한 자세한 내용은 보안 태그 만들기 및 관리를 참고하세요.

  • 목적 및 목적 데이터: Cloud NGFW에서 보안 태그 키를 사용하려면 태그 키의 purpose 속성을 GCE_FIREWALL로 설정하고 purpose-data 속성을 지정해야 합니다.

    • 태그 키의 purpose-data 속성을 network로 설정한 다음 단일 VPC 네트워크 사양을 지정할 수 있습니다.

      • 상위 프로젝트가 있는 태그 키의 경우 태그 키의 purpose-data 속성을 network로 설정하면 지정된 VPC 네트워크가 태그 키와 동일한 프로젝트에 있어야 합니다.

      • 상위 조직이 있는 태그 키의 경우 태그 키의 purpose-data 속성을 network로 설정하면 지정된 VPC 네트워크가 태그 키와 동일한 조직에 있어야 합니다.

    • 태그 키의 purpose-data 속성을 organization=auto로 설정할 수 있습니다. 조직의 모든 VPC 네트워크를 식별합니다.

    태그 키를 만든 후에는 purpose 또는 purpose-data 속성을 변경할 수 없습니다. 태그 키의 purpose-data 속성에서 네트워크 사양을 포맷하는 방법에 대한 자세한 내용은 Resource Manager API 문서의 용도를 참고하세요.

  • 구조 및 형식: 보안 태그 키는 최대 1,000개의 고유한 태그 값을 참조할 수 있습니다. 태그 관리자 역할(roles/resourcemanager.tagAdmin)이 있는 IAM 주 구성원은 각 태그 키에 대한 태그 키와 태그 값을 만듭니다. 보안 태그 한도에 대한 자세한 내용은 한도를 참고하세요.

  • 조직 간에 프로젝트 이동: 한 조직에서 다른 조직으로 프로젝트를 이동할 수 있습니다. 프로젝트를 이동하기 전에 프로젝트에서 사용되는 조직을 지정하는 purpose-data 속성이 있는 태그 키를 원래 조직에서 분리합니다. 보안 태그를 먼저 분리하지 않으면 이동 중에 오류 메시지가 표시됩니다.

  • 액세스 제어: IAM 정책은 보안 태그를 관리하고 사용할 수 있는 IAM 주 구성원을 결정합니다.

    • 태그 관리자 역할(roles/resourcemanager.tagAdmin)이 있는 IAM 주 구성원은 태그 키를 만들고 태그 값을 관리할 수 있습니다.

      • 조직의 IAM 정책에서 태그 관리자 역할(roles/resourcemanager.tagAdmin)이 부여된 IAM 주 구성원은 조직을 상위로 사용하여 태그 키를 만들 수 있습니다.

      • 조직, 폴더 또는 프로젝트의 IAM 정책에서 태그 관리자 역할(roles/resourcemanager.tagAdmin)이 부여된 IAM 주 구성원은 프로젝트를 상위로 사용하여 태그 키를 만들 수 있습니다.

    • 태그 사용자 역할(roles/resourcemanager.tagUser)이 있는 IAM 보안 주체는 태그 값을 VM 인스턴스에 바인딩하거나 계층식 방화벽 정책, 전역 네트워크 방화벽 정책 또는 리전 네트워크 방화벽 정책의 방화벽 규칙에서 태그 값을 사용할 수 있습니다.

      • 조직의 IAM 정책에서 태그 사용자 역할(roles/resourcemanager.tagUser)이 부여된 IAM 보안 주체는 조직을 상위 요소로 갖는 태그 키의 태그 값을 사용할 수 있습니다.

      • 조직, 폴더 또는 프로젝트의 IAM 정책에서 태그 사용자 역할(roles/resourcemanager.tagUser)이 부여된 IAM 보안 주체는 프로젝트를 상위로 하는 태그 키의 태그 값을 사용할 수 있습니다.

    • 개발자, 데이터베이스 관리자 또는 운영팀인 IAM 보안 주체에게는 Compute 보안 관리자 역할(roles/compute.securityAdmin)을 부여하지 않고도 태그 사용자 역할(roles/resourcemanager.tagUser) 및 기타 적절한 역할을 부여할 수 있습니다. 이렇게 하면 운영팀이 방화벽 규칙을 수정할 수는 없지만 관리하는 VM 인스턴스의 네트워크 인터페이스에 적용되는 방화벽 규칙을 제어할 수 있습니다.

    필요한 권한에 대한 자세한 내용은 IAM 역할을 참고하세요.

  • 방화벽 규칙 지원: 계층식 방화벽 정책, 전역 네트워크 방화벽 정책, 리전 네트워크 방화벽 정책의 규칙은 태그 키를 소스 보안 태그 또는 타겟 보안 태그로 지원합니다. VPC 방화벽 규칙은 보안 태그를 지원하지 않습니다. 자세한 내용은 보안 태그와 네트워크 태그 비교를 참고하세요.

  • VM 바인딩 및 적용 가능한 방화벽 규칙: 보안 태그 값을 VM 인스턴스에 바인딩하면 태그 값을 사용하는 적용 가능한 방화벽 규칙에 VM 네트워크 인터페이스가 소스 또는 타겟으로 포함됩니다.

    • 인스턴스에 바인딩된 보안 태그 값이 purpose-data 속성이 단일 VPC 네트워크를 지정하는 태그 키에서 가져온 경우:

      • 해당 태그 값을 소스 보안 태그로 사용하는 인그레스 방화벽 규칙에는 지정된 VPC 네트워크에 있는 VM의 네트워크 인터페이스가 포함된 소스가 있습니다.

      • 해당 태그 값을 대상 보안 태그로 사용하는 인그레스 및 이그레스 방화벽 규칙에는 지정된 VPC 네트워크에 있는 VM의 네트워크 인터페이스가 포함된 대상이 있습니다.

    • 인스턴스에 바인딩된 보안 태그 값이 purpose-data 속성이 조직을 지정하는 태그 키에서 가져온 경우:

      • 해당 태그 값을 소스 보안 태그로 사용하는 인그레스 방화벽 규칙에는 조직의 모든 VPC 네트워크에 있는 VM의 네트워크 인터페이스가 포함된 소스가 있습니다.

      • 이 태그 값을 대상 보안 태그로 사용하는 인그레스 및 이그레스 방화벽 규칙에는 조직의 VPC 네트워크에 있는 VM의 네트워크 인터페이스가 포함된 대상이 있습니다.

  • 적용 가능한 방화벽 규칙이 패킷을 식별하는 방법: Cloud NGFW는 소스 보안 태그와 대상 보안 태그를 IP 주소가 아닌 네트워크 인터페이스에 매핑합니다.

    • 인그레스 방화벽 규칙의 소스 보안 태그에 VM 네트워크 인터페이스가 소스로 포함된 경우 Google Cloud 해당 네트워크 인터페이스에서 전송된 모든 패킷과 일치합니다.

    • 인그레스 방화벽 규칙의 대상 보안 태그에 VM 네트워크 인터페이스가 대상으로 포함된 경우 Google Cloud 는 해당 네트워크 인터페이스에서 수신하는 모든 패킷과 일치합니다.

    • 이그레스 방화벽 규칙의 대상 보안 태그에 VM 네트워크 인터페이스가 대상으로 포함된 경우 Google Cloud 해당 네트워크 인터페이스에서 전송되는 모든 패킷과 일치합니다.

  • 인스턴스당 태그 값 수: 각 태그 값을 무제한의 VM 인스턴스에 바인딩할 수 있습니다. 각 인스턴스에서 지원하는 태그 값의 수는 가변적입니다. Google Cloud 은 VM의 각 네트워크 인터페이스에 적용되는 태그 값을 10개로 제한합니다. Google Cloud 은 하나 이상의 네트워크 인터페이스에 10개가 넘는 태그 값이 적용되는 경우 VM 인스턴스에 추가 태그 값을 바인딩하지 못하도록 합니다. 자세한 내용은 보안 태그 바인딩을 참고하세요.

  • VPC 네트워크 피어링 지원: 방화벽 정책의 인그레스 규칙에 있는 소스 보안 태그는 피어링된 VPC 네트워크에 있는 소스 VM 네트워크 인터페이스를 식별할 수 있습니다. 이는 비공개 서비스 액세스를 사용하는 게시된 서비스의 소비자에게 유용합니다. 소스 보안 태그가 있는 인그레스 방화벽 규칙을 사용하여 소비자는 어떤 서비스 제작자 VM이 소비자 VM에 패킷을 전송할 수 있는지 제어할 수 있습니다.

  • Google Kubernetes Engine (GKE)으로 태그 보안: purpose-data=organization=auto 구성으로 생성된 보안 태그는 GKE 클러스터 및 노드 풀에서 지원되지 않습니다. 따라서 모든 VPC 네트워크에 대해 보안 태그 키를 만드세요. 자세한 내용은 보안 태그 만들기 및 관리를 참고하세요.

보안 태그 바인딩

Cloud NGFW에서 보안 태그를 사용하려면 태그 값을 VM 인스턴스에 바인딩해야 합니다. 각 보안 태그 키는 여러 태그 값을 지원하지만 각 태그 키에 대해 태그 값 중 하나만 인스턴스에 바인딩할 수 있습니다. IAM 권한 및 보안 태그 바인딩 방법에 대한 자세한 내용은 보안 태그 바인딩을 참고하세요.

이 섹션의 예에서는 바인드된 태그 값이 VM 네트워크 인터페이스에 적용되는 방식을 보여줍니다. 네트워크 인터페이스가 두 개인 instance1 VM 인스턴스를 예로 들어 보겠습니다.

  • nic0network1 VPC 네트워크에 연결되어 있습니다.
  • nic1network2 VPC 네트워크에 연결되어 있습니다.

두 VPC 네트워크가 모두 동일한 조직에 있습니다.

각각 다른 VPC 네트워크에 연결된 두 개의 네트워크 인터페이스가 있는 VM 인스턴스
그림 1. 각각 다른 VPC 네트워크에 연결된 네트워크 인터페이스가 두 개인 VM 인스턴스 (확대하려면 클릭)

해당 태그 키의 purpose-data 속성은 바인딩된 태그 값과 VM 네트워크 인터페이스 간의 관계를 결정합니다.

purpose-data 속성이 VPC 네트워크를 지정하는 태그 키

다음 purpose-data 속성 및 태그 값을 사용하여 두 개의 태그 키를 만든다고 가정해 보겠습니다.

  • tag_key1에는 network1 VPC 네트워크와 두 개의 태그 값 tag_value1tag_value2를 지정하는 purpose-data 속성이 있습니다.

  • tag_key2에는 network2 VPC 네트워크와 태그 값 tag_value3을 지정하는 purpose-data 속성이 있습니다.

각 태그 키의 `purpose-data` 속성은 단일 VPC 네트워크를 지정합니다.
그림 2. 각 태그 키의 purpose-data 속성은 단일 VPC 네트워크를 지정합니다 (확대하려면 클릭).

보안 태그 값 tag_value1tag_value3instance1에 바인딩하는 경우:

  • tag_value1nic0 네트워크 인터페이스에 적용됩니다. 상위 tag_key1network1 VPC 네트워크를 지정하는 purpose-data 속성이 있고 nic0 네트워크 인터페이스가 network1에 있기 때문입니다.

  • tag_value3nic1 네트워크 인터페이스에 적용됩니다. 상위 tag_key2network2 VPC 네트워크를 지정하는 purpose-data 속성이 있고 nic1 네트워크 인터페이스가 network2에 있기 때문입니다.

다음 다이어그램은 purpose-data 속성이 단일 VPC 네트워크를 지정하는 태그 키의 바인딩 태그 값을 보여줍니다.

`purpose-data` 속성이 단일 VPC 네트워크를 지정하는 태그 키의 바인딩된 태그 값입니다.
그림 3. purpose-data 속성이 단일 VPC 네트워크를 지정하는 태그 키의 바인딩된 태그 값(확대하려면 클릭)

purpose-data 속성이 조직을 지정하는 태그 키

다음 purpose-data 속성 및 태그 값을 사용하여 두 개의 태그 키를 만든다고 가정해 보겠습니다.

  • tag_key3에는 상위 조직을 지정하는 purpose-data 속성이 있고 tag_value4tag_value5이라는 두 개의 태그 값이 있습니다.

  • tag_key4에는 상위 조직을 지정하는 purpose-data 속성이 있으며 태그 값 tag_value6이 하나 있습니다.

각 태그 키의 `purpose-data` 속성은 상위 조직을 지정합니다.
그림 4. 각 태그 키의 purpose-data 속성은 상위 조직을 지정합니다 (클릭하여 확대).

태그 값 tag_value4instance1에 바인딩하는 경우:

  • tag_value4nic0 네트워크 인터페이스에 적용됩니다. tag_key3 상위 항목에 network1 VPC 네트워크를 포함하는 상위 조직을 지정하는 purpose-data 속성이 있고 nic0 네트워크 인터페이스가 network1에 있기 때문입니다.

  • tag_value4nic1 네트워크 인터페이스에도 적용됩니다. nic1 네트워크 인터페이스의 상위 tag_key3에는 network2 VPC 네트워크가 포함된 상위 조직을 지정하는 purpose-data 속성이 포함되어 있기 때문입니다. nic1 네트워크 인터페이스는 network2에 있습니다.

다음 다이어그램은 purpose-data 속성이 상위 조직을 지정하는 태그 키에서 태그 값을 바인딩하는 방법을 보여줍니다.

`purpose-data` 속성이 상위 조직을 지정하는 태그 키의 바운드 태그 값입니다.
그림 5. purpose-data 속성이 상위 조직을 지정하는 태그 키의 바인드된 태그 값 (클릭하여 확대)

보안 태그 구성

다음 워크플로는 방화벽 정책에서 보안 태그를 구성하는 데 필요한 단계를 간략하게 설명합니다.

  1. 조직 또는 프로젝트 수준에서 보안 태그를 만들 수 있습니다. 조직 수준에서 태그를 만들려면 먼저 조직 관리자가 IAM 권한을 부여해야 합니다. 자세한 내용은 태그 보안을 위한 권한 부여를 참고하세요.

  2. 보안 태그를 만들려면 먼저 태그 키를 만들어야 합니다. 이 태그 키는 생성할 태그를 설명합니다. 자세한 내용은 보안 태그 키 및 값 만들기를 참고하세요.

  3. 보안 태그 키를 만든 후에는 관련 보안 태그 값을 추가해야 합니다. 자세한 내용은 보안 태그 키 및 값 만들기를 참고하세요. 사용자에게 보안 태그 키를 관리하고 리소스에 태그 값을 연결할 수 있는 특정 액세스 권한을 부여하려면 Google Cloud 콘솔을 사용하세요. 자세한 내용은 태그 액세스 관리를 참고하세요.

  4. 보안 태그를 만든 후 네트워크 방화벽 정책 또는 계층적 방화벽 정책에서 사용할 수 있습니다. 자세한 내용은 계층식 방화벽 정책 만들기네트워크 방화벽 정책 만들기를 참고하세요.

  5. 소스 태그 키와 대상 태그 키가 있는 VM 간에 선택한 트래픽을 허용하려면 특정 소스 태그 값과 대상 태그 값을 사용하여 방화벽 정책 규칙 (네트워크 또는 계층)을 만듭니다. 자세한 내용은 보안 태그를 사용하여 방화벽 정책 규칙 만들기를 참고하세요.

  6. 태그 키가 생성되고 태그 키와 리소스 모두에 적절한 액세스 권한이 부여되면 태그 키를 VM 인스턴스에 바인딩할 수 있습니다. 자세한 내용은 보안 태그 바인딩을 참고하세요.

보안 태그와 네트워크 태그 비교

다음 표에는 보안 태그와 네트워크 태그의 차이점이 요약되어 있습니다. 체크표시는 속성이 지원됨을 나타내고 기호는 속성이 지원되지 않음을 나타냅니다.

속성 VPC 네트워크를 지정하는 purpose-data 속성이 있는 보안 태그 조직을 지정하는 purpose-data 속성으로 태그를 보호합니다. 네트워크 태그
상위 리소스 프로젝트 또는 조직 프로젝트 또는 조직 프로젝트
구조와 형식 최대 1,000개의 값이 있는 태그 키 최대 1,000개의 값이 있는 태그 키 단순 문자열
액세스 제어 IAM 사용 IAM 사용 액세스 제어 없음
적용 가능한 네트워크 인터페이스
  • 소스 보안 태그 값이 있는 인그레스 방화벽 규칙: 소스에는 태그 키의 purpose-data 속성으로 지정된 VPC 네트워크의 VM 네트워크 인터페이스가 포함됩니다.
  • 타겟 보안 태그 값이 있는 인그레스 또는 이그레스 방화벽 규칙: 타겟에는 태그 키의 purpose-data 속성으로 지정된 VPC 네트워크의 VM 네트워크 인터페이스가 포함됩니다.
  • 소스 보안 태그 값이 있는 인그레스 방화벽 규칙: 소스에는 상위 조직의 모든 VPC 네트워크에 있는 VM 네트워크 인터페이스가 포함됩니다.
  • 타겟 보안 태그 값이 있는 인그레스 또는 이그레스 방화벽 규칙: 타겟에는 상위 조직의 모든 VPC 네트워크에 있는 VM 네트워크 인터페이스가 포함됩니다.
  • 소스 네트워크 태그가 있는 인그레스 방화벽 규칙: 소스에는 해당 네트워크에 소스 네트워크 태그를 사용하는 VPC 방화벽 규칙이 있는 경우 VM에서 사용하는 모든 VPC 네트워크의 VM 네트워크 인터페이스가 포함됩니다.
  • 대상 네트워크 태그가 있는 인그레스 또는 이그레스 방화벽 규칙: 대상에는 VM이 사용하는 VPC 네트워크의 VM 네트워크 인터페이스가 포함됩니다(해당 네트워크에 대상 네트워크 태그를 사용하는 VPC 방화벽 규칙이 있는 경우).
계층식 방화벽 정책의 규칙에서 지원
전역 및 리전 네트워크 방화벽 정책의 규칙에서 지원
VPC 방화벽 규칙에서 지원
인그레스 방화벽 규칙에는 VPC 네트워크 피어링을 사용하여 연결된 VPC 네트워크의 소스가 포함될 수 있습니다. 1 1
인그레스 방화벽 규칙은 Network Connectivity Center 허브의 다른 VPC 스포크에 있는 소스를 포함할 수 있습니다.
1다음 두 가지가 모두 참인 경우 소스 보안 태그 값은 다른 VPC 네트워크의 네트워크 인터페이스를 식별할 수 있습니다.
  • 태그 키 purpose-data 속성은 다른 VPC 네트워크 (또는 다른 VPC 네트워크를 포함하는 상위 조직)를 지정합니다.
  • 다른 VPC 네트워크와 방화벽 정책을 사용하는 VPC 네트워크가 VPC 네트워크 피어링을 사용하여 연결됩니다.

IAM 역할

보안 태그를 만들고 관리하는 데 필요한 IAM 역할 및 권한에 대한 자세한 내용은 리소스에서 태그 관리를 참고하세요.

다음 단계