auth
無料Authentication and authorization patterns for Rossoctl services
日本語の概要は準備中です。原文の説明を表示しています。
Configure L7 AuthorizationPolicy in Istio Ambient mode using waypoint proxies
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Configure L7 AuthorizationPolicy in Istio Ambient mode using waypoint proxies.
In Istio Ambient mode:
To enforce path-based authorization, you need a waypoint proxy.
Client -> ztunnel (L4 mTLS) -> Waypoint (L7 HTTP) -> Service
|
AuthorizationPolicy
(evaluates path, method)
Create a waypoint for the service that needs L7 authorization:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: mlflow-waypoint
namespace: rossoctl-system
labels:
istio.io/waypoint-for: service
spec:
gatewayClassName: istio-waypoint
listeners:
- name: mesh
port: 15008
protocol: HBONE
Key points:
istio.io/waypoint-for: service - This waypoint handles service trafficgatewayClassName: istio-waypoint - Uses the Istio waypoint classLabel the service to use the waypoint:
apiVersion: v1
kind: Service
metadata:
name: mlflow
namespace: rossoctl-system
labels:
istio.io/use-waypoint: mlflow-waypoint
spec:
ports:
- port: 5000
selector:
app: mlflow
In Ambient mode, use targetRefs instead of selector:
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: mlflow-traces-from-otel
namespace: rossoctl-system
spec:
targetRefs:
- kind: Service
group: ""
name: mlflow
action: ALLOW
rules:
- from:
- source:
principals:
- "cluster.local/ns/rossoctl-system/sa/otel-collector"
to:
- operation:
methods: ["POST"]
paths: ["/v1/traces"]
Key points:
targetRefs points to the Service, not a selectorgroup: "" is required for core Kubernetes resourcesprincipals uses SPIFFE ID formatAllow different sources for different paths:
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: mlflow-api-access
namespace: rossoctl-system
spec:
targetRefs:
- kind: Service
group: ""
name: mlflow
action: ALLOW
rules:
# OTEL collector can POST traces
- from:
- source:
principals:
- "cluster.local/ns/rossoctl-system/sa/otel-collector"
to:
- operation:
methods: ["POST"]
paths: ["/v1/traces"]
# UI can access all endpoints
- from:
- source:
principals:
- "cluster.local/ns/rossoctl-system/sa/rossoctl-ui"
to:
- operation:
methods: ["GET", "POST"]
paths: ["/*"]
Full configuration for MLflow with OAuth2 and Istio authorization:
---
# Waypoint Gateway
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: mlflow-waypoint
namespace: rossoctl-system
labels:
istio.io/waypoint-for: service
spec:
gatewayClassName: istio-waypoint
listeners:
- name: mesh
port: 15008
protocol: HBONE
---
# Service with waypoint label
apiVersion: v1
kind: Service
metadata:
name: mlflow
namespace: rossoctl-system
labels:
istio.io/use-waypoint: mlflow-waypoint
spec:
ports:
- port: 5000
selector:
app: mlflow
---
# Authorization Policy
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: mlflow-traces-from-otel
namespace: rossoctl-system
spec:
targetRefs:
- kind: Service
group: ""
name: mlflow
action: ALLOW
rules:
- from:
- source:
principals:
- "cluster.local/ns/rossoctl-system/sa/otel-collector"
to:
- operation:
methods: ["POST"]
paths: ["/v1/traces"]
kubectl get pods -n rossoctl-system -l gateway.networking.k8s.io/gateway-name=mlflow-waypoint
kubectl get svc mlflow -n rossoctl-system -o yaml | grep waypoint
istioctl proxy-config secret <pod> -n rossoctl-system
kubectl get namespace rossoctl-system -o yaml | grep ambient
kubectl logs -n istio-system -l app=ztunnel
targetRefs is used (not selector)group: "" for core resources| Feature | Sidecar Mode | Ambient Mode |
|---|---|---|
| AuthorizationPolicy target | selector | targetRefs |
| L7 processing | Automatic | Requires waypoint |
| Resource overhead | Per-pod sidecar | Shared waypoint |
auth:keycloak-confidential-clientauth:otel-oauth2-exporterまだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Authentication and authorization patterns for Rossoctl services
日本語の概要は準備中です。原文の説明を表示しています。
Create confidential OAuth2 clients in Keycloak for server-to-service authentication
日本語の概要は準備中です。原文の説明を表示しています。
Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication
日本語の概要は準備中です。原文の説明を表示しています。
Configure OpenTelemetry Collector with OAuth2 authentication for trace export
日本語の概要は準備中です。原文の説明を表示しています。
CI pipeline monitoring, status checks, and PR validation workflows
日本語の概要は準備中です。原文の説明を表示しています。
Monitor running CI jobs, wait for completion, create tasks for results
日本語の概要は準備中です。原文の説明を表示しています。