Mettre à jour vos stratégies d'autorisation

À partir de la version 1.4.5 d'Anthos Service Mesh, Mesh CA (l'autorité de certification d'Anthos Service Mesh) gère l'émission et la rotation des clés et des certificats mTLS pour les pods GKE. Le logiciel Open Source Istio et les versions antérieures d'Anthos Service Mesh utilisent Citadel comme autorité de certification.

Si vous effectuez une mise à niveau à partir d'Istio ou d'une version antérieure d'Anthos Service Mesh et que vous disposez de règles d'autorisation existantes qui utilisent un domaine d'approbation personnalisé, vous devez mettre à jour les règles d'autorisation pour utiliser cluster.local afin de faire référence à votre domaine d'approbation local. Si vos règles d'autorisation existantes utilisent déjà cluster.local, vous n'avez rien à faire.

Pour mettre à jour vos règles d'autorisation, procédez comme suit :

  1. Effectuez une recherche grep sur vos règles d'autorisation afin de détecter toutes les occurrences de votre domaine d'approbation personnalisé. Dans l'exemple suivant, old-td est le nom d'un domaine d'approbation personnalisé.

    apiVersion: security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:
      name: service-httpbin.default.svc.cluster.local
      namespace: default
    spec:
      rules:
      - from:
        - source:
            principals:
            - old-td/ns/sleep-allow/sa/sleep
        to:
        - operation:
            methods:
            - GET
      selector:
        matchLabels:
          app: httpbin
    
  2. Remplacez le domaine d'approbation personnalisé par cluster.local, puis appliquez la règle mise à jour.

    kubectl apply -f - <<EOF
    apiVersion: security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:
      name: service-httpbin.default.svc.cluster.local
      namespace: default
    spec:
      rules:
      - from:
        - source:
            principals:
            - cluster.local/ns/sleep-allow/sa/sleep
        to:
        - operation:
            methods:
            - GET
      selector:
        matchLabels:
          app: httpbin
    ---
    EOF
    

Étapes suivantes