目的
- GKE上のWEBアプリを社内からのアクセスに限定したい。
- Ingressへのアクセスをホワイトリスト方式で、IP制限行いたい。
手順
セキュリティポリシーの作成
GCPコンソールより、「ネットワークセキュリティ」→「Cloud Armor」よりセキュリティポリシーを作成する
以下のように、デフォルトでは、全てIPアドレスにて許可になっている。
設定を一旦全てDenyに変更する。コンソール上からは設定が変えられないようなので、gcloudコマンドで変更する。
gcloud compute security-policies rules update 2147483647 --security-policy ingress-security-policy --action "deny-403"
「ルールの追加」で優先度を0にし、許可したいIPアドレスを追加する。
リンク
リンク
セキュリティポリシーをサービスに紐付ける
BackendConfigを使い、以下のように紐つけて完成。
apiVersion: v1
kind: Service
metadata:
name: app-service
annotations:
cloud.google.com/backend-config: '{"ports": {"80":"backend-config"}}'
spec:
ports:
- port: 80
targetPort: 3000
protocol: TCP
name: http
selector:
app: app
type: NodePort
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: backend-config
spec:
securityPolicy:
name: ingress-security-policy