ピア認証

ピア認証

PeerAuthentication は、着信接続に対する相互 TLS (mTLS) 要件を定義します。

サイドカーモードでは、PeerAuthentication は Envoy プロキシサイドカーへの接続で mTLS が許可されるか、または必須かを決定します。

アンビエントモードでは、ztunnel ノードエージェントによって Pod のセキュリティが透過的に有効になります。 (プロキシ間のトラフィックは、mTLS での暗号化を含む HBONE プロトコルを使用します。) このため、`DISABLE` モードはサポートされていません。 `STRICT` モードは、メッシュをバイパスする接続が不可能であることを保証するのに役立ちます。

名前空間 `foo` 下のすべてのワークロードに対して mTLS トラフィックを要求するポリシー

apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: default
  namespace: foo
spec:
  mtls:
    mode: STRICT

メッシュレベルの場合は、Istio のインストールに従ってルート名前空間にポリシーを配置します。

名前空間 `foo` 下のすべてのワークロードに対して mTLS とプレーンテキストトラフィックの両方を許可するが、ワークロード `finance` に対しては mTLS を要求するポリシー。

apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: default
  namespace: foo
spec:
  mtls:
    mode: PERMISSIVE
---
apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: finance
  namespace: foo
spec:
  selector:
    matchLabels:
      app: finance
  mtls:
    mode: STRICT

すべての `finance` ワークロードに対して厳密な mTLS を有効にするが、ポート `8080` はプレーンテキストのままにするポリシー。 `portLevelMtls` フィールドのポート値は、Kubernetes サービスのポートではなく、ワークロードのポートを参照することに注意してください。

apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: default
  namespace: foo
spec:
  selector:
    matchLabels:
      app: finance
  mtls:
    mode: STRICT
  portLevelMtls:
    8080:
      mode: DISABLE

名前空間 (またはメッシュ) 設定から mTLS モードを継承し、ワークロードポート `8080` に対して mTLS を無効にするポリシー。

apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: default
  namespace: foo
spec:
  selector:
    matchLabels:
      app: finance
  mtls:
    mode: UNSET
  portLevelMtls:
    8080:
      mode: DISABLE
フィールドタイプ説明必須
セレクタWorkloadSelector

セレクターは、PeerAuthenticationを適用するワークロードを決定します。セレクターは、ポリシーと同じ名前空間にあるワークロードと一致します。ポリシーがルート名前空間にある場合、セレクターはさらにすべての名前空間にあるワークロードと一致します。

設定されていない場合、ポリシーはポリシーと同じ名前空間にあるすべてのワークロードに適用されます。ルート名前空間にある場合は、メッシュ内のすべてのワークロードに適用されます。

いいえ
mtlsMutualTLS

ワークロードの相互TLS設定。定義されていない場合は、親から継承します。

いいえ
portLevelMtlsmap<uint32, MutualTLS>

ポート固有の相互TLS設定。これらは、ワークロードセレクターが指定されている場合にのみ適用されます。ポートは、Kubernetesサービスのポートではなく、ワークロードのポートを指します。

いいえ

PeerAuthentication.MutualTLS

相互TLS設定。

フィールドタイプ説明必須
modeモード

ピア認証に使用されるmTLSモードを定義します。

いいえ

PeerAuthentication.MutualTLS.Mode

名前説明
未設定

親がある場合は、親から継承します。それ以外の場合は、PERMISSIVEとして扱われます。

無効

接続はトンネリングされません。

許可

接続は、プレーンテキストまたはmTLSトンネルのいずれかになります。

厳格

接続はmTLSトンネルです(クライアント証明書付きのTLSを提示する必要があります)。

この情報は役に立ちましたか?
改善のための提案はありますか?

フィードバックありがとうございます!