Die beiden Beta-APIs PeerAuthentication
und RequestAuthentication
für Sicherheit sind in Anthos Service Mesh 1.5 enthalten. Die Alpha-Authentifizierungsrichtlinie wurde verworfen.
Auf dieser Seite wird beschrieben, wie Sie die Alpha-Authentifizierungsrichtlinie auf die Beta-Sicherheitsrichtlinien aktualisieren.
Vom Dienst ausgewählte Richtlinie zu Arbeitslastauswahl ändern
Alle Beta-Sicherheitsrichtlinien müssen Konfigurationsmodelle verwenden, die auf der Arbeitslastauswahl oder dem Namespace und nicht auf dem Dienst basieren.
Auf RequestAuthentication aktualisieren
Das folgende Beispiel zeigt, wie Sie von der Alpha-Richtlinie (Policy
) auf RequestAuthentication
aktualisieren:
# Alpha policy for authentication to enable Origin Authentication for service foo.
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
name: "jwt-example"
spec:
targets:
- name: httpbin
origins:
- jwt:
issuer: "testing@secure.istio.io"
jwksUri: "https://raw.githubusercontent.com/istio/istio/release-1.5/security/tools/jwt/samples/jwks.json"
Aktualisieren Sie auf die entsprechende Beta-Ressource RequestAuthentication
:
apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
name: "jwt-example"
spec:
selector:
matchLabels:
app: httpbin
jwtRules:
- issuer: "testing@secure.istio.io"
jwksUri: "https://raw.githubusercontent.com/istio/istio/release-1.5/security/tools/jwt/samples/jwks.json"
Auf PeerAuthentication aktualisieren
Sie müssen außerdem die Authentifizierungsrichtlinien für die gegenseitige TLS-Authentifizierung (mTLS) aktualisieren. Die Alpha-MeshPolicy
aktivierte eine das gesamte Mesh-Netzwerk übergreifende PERMISSIVE
oder STRICT
mTLS. Die Beta-PeerAuthentication
-Ressource ersetzt die Alpha-MeshPolicy
. Beispiel, wenn Sie eine MeshPolicy
haben, die in etwa so aussieht:
apiVersion: "authentication.istio.io/v1alpha1"
kind: "MeshPolicy"
metadata:
name: "default"
labels:
release: istio
spec:
peers:
- mtls:
mode: PERMISSIVE
Aktualisieren Sie sie mit der Ressource PeerAuthentication
im Stamm-Namespace:
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
namespace: "istio-system"
spec:
mtls:
mode: PERMISSIVE
Vor Anthos Service Mesh 1.7.8 enthält die Standardinstallation MeshPolicy
mit PERMISSIVE-Modus. Anthos Service Mesh 1.7.8 generiert keine MeshPolicy.
mehr.
- Wir empfehlen die Verwendung der Namespace-basierten
PeerAuthentication
. Anthos Service Mesh unterstützt zwar automatisches mTLS, funktioniert aber nur beiPeerAuthentication
auf Mesh- oder Namespace-Ebene gut. Wenn SiePeerAuthentication
auf Arbeitslastebene verwenden, müssen Sie eine entsprechendeDestinationRule
konfigurieren. - Sie können die Alpha-Authentifizierungsrichtlinie so konfigurieren, dass die Herkunftsauthentifizierung zum Ablehnen von Anfragen verwendet wird. Die neue
RequestAuthentication
hingegen lehnt Anfragen nur dann ab, wenn das Token ungültig ist. Wir empfehlen die Verwendung derAuthorizationPolicy
zur Definition der weiteren Zugriffssteuerung. - Obwohl die Alpha-Authentifizierungsrichtlinie weiterhin in Anthos Service Mesh 1.7.8-asm.10 funktioniert, wird die Alpha-Authentifizierungsrichtlinie im nächsten Release vollständig eingestellt. Wir empfehlen, die Migration so schnell wie möglich abzuschließen.
- Wenn während der Umstellung sowohl Alpha- als auch die Beta-Richtlinien vorhanden sind, werden nur die Beta-Richtlinien wirksam und die Alpha-Richtlinien werden ignoriert.
- Weitere Informationen finden Sie unter Authentifizierungsrichtlinie in der Istio-Dokumentation.