solutions/gke/configconnector/gke-cluster-autopilot/app-infra-classification-folder/firewall.yaml (81 lines of code) (raw):

# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ######## # GKE egress Allow GKE nodes to AzDO # TODO: validate if service account can be used instead of primaryIpv4Range # AU-12 - Enable Logging for firewall # SC-7(9) - Exception to allow access to repositories in Github and AZDO and to allow access to docker registry apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeFirewallPolicyRule metadata: name: project-id-cluster-name-egress-allow-azdo # kpt-set: ${project-id}-${cluster-name}-egress-allow-azdo namespace: project-id-tier3 # kpt-set: ${project-id}-tier3 annotations: cnrm.cloud.google.com/project-id: host-project-id # kpt-set: ${host-project-id} spec: action: "allow" description: "GKE allow access to dev.azure.com" direction: "EGRESS" disabled: false # AU-12 enableLogging: true firewallPolicyRef: name: client-name-network-connectivity-profile-app-infra-classification-fwpol # kpt-set: ${client-name}-${network-connectivity-profile}-app-infra-${classification}-fwpol namespace: client-name-networking # kpt-set: ${client-name}-networking match: srcIPRanges: # kpt-set: ${primaryIpv4Range} - primaryIpv4Range layer4Configs: - ipProtocol: "tcp" ports: - "443" # SC-7(9) destFqdns: - "dev.azure.com" priority: 2000 # kpt-set: ${gke-to-azdo-priority} # targetServiceAccounts: # - name: cluster-name-sa # kpt-set: ${cluster-name}-sa --- # GKE egress Allow GKE nodes to Github apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeFirewallPolicyRule metadata: name: project-id-cluster-name-egress-allow-github # kpt-set: ${project-id}-${cluster-name}-egress-allow-github namespace: project-id-tier3 # kpt-set: ${project-id}-tier3 annotations: cnrm.cloud.google.com/project-id: host-project-id # kpt-set: ${host-project-id} spec: action: "allow" description: "GKE allow access to github.com" direction: "EGRESS" disabled: false # AU-12 enableLogging: true firewallPolicyRef: name: client-name-network-connectivity-profile-app-infra-classification-fwpol # kpt-set: ${client-name}-${network-connectivity-profile}-app-infra-${classification}-fwpol namespace: client-name-networking # kpt-set: ${client-name}-networking match: srcIPRanges: # kpt-set: ${primaryIpv4Range} - primaryIpv4Range layer4Configs: - ipProtocol: "tcp" ports: - "443" # SC-7(9) destFqdns: - "github.com" priority: 2001 # kpt-set: ${gke-to-github-priority} # targetServiceAccounts: # - name: cluster-name-sa # kpt-set: ${cluster-name}-sa --- # GKE egress Allow GKE nodes to docker registry apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeFirewallPolicyRule metadata: name: project-id-cluster-name-egress-allow-docker # kpt-set: ${project-id}-${cluster-name}-egress-allow-docker namespace: project-id-tier3 # kpt-set: ${project-id}-tier3 annotations: cnrm.cloud.google.com/project-id: host-project-id # kpt-set: ${host-project-id} spec: action: "allow" description: "GKE allow access to docker.pkg.dev" direction: "EGRESS" disabled: false # AU-12 enableLogging: true firewallPolicyRef: name: client-name-network-connectivity-profile-app-infra-classification-fwpol # kpt-set: ${client-name}-${network-connectivity-profile}-app-infra-${classification}-fwpol namespace: client-name-networking # kpt-set: ${client-name}-networking match: srcIPRanges: # kpt-set: ${primaryIpv4Range} - primaryIpv4Range layer4Configs: - ipProtocol: "tcp" ports: - "443" # SC-7(9) destFqdns: - "northamerica-northeast1-docker.pkg.dev" - "northamerica-northeast2-docker.pkg.dev" priority: 2002 # kpt-set: ${gke-to-docker-priority} # targetServiceAccounts: # - name: cluster-name-sa # kpt-set: ${cluster-name}-sa