Skip to content

Commit

Permalink
upload post
Browse files Browse the repository at this point in the history
  • Loading branch information
BlueHorn07 committed Mar 5, 2024
1 parent ec6fe0f commit 56a60b5
Show file tree
Hide file tree
Showing 5 changed files with 246 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Istio: Egress Gateway"
toc: true
toc_sticky: true
categories: ["Kubernetes", "Istio"]
excerpt: Istio둜 Service Meshλ₯Ό λ‚˜κ°€λŠ” νŠΈλž˜ν”½λ„ λͺ¨λ‹ˆν„°λ§ ν•˜κΈ° πŸ’‚ Egress Gateway도 λ„μ›Œλ³΄κ³ , Egress Gateway ν†΅ν•΄μ„œ μ™ΈλΆ€ 호슀트둜 λ‚˜κ°€λŠ” νŠΈλž˜ν”½ μ œμ–΄λ„ ν•΄λ³΄μž!
excerpt: Istio둜 Service Meshλ₯Ό λ‚˜κ°€λŠ” νŠΈλž˜ν”½λ„ λͺ¨λ‹ˆν„°λ§ & μ œμ–΄ ν•˜κΈ° πŸ’‚ λ‚˜κ°€λŠ” νŠΈλž˜ν”½μ„ λͺ¨λ‹ˆν„°λ§ ν•˜λ €λ©΄ `ServiceEntry`둜 μΆ©λΆ„, λ§Œμ•½ νŠΈλž˜ν”½ μ œμ–΄κ°€ ν•„μš”ν•˜λ‹€λ©΄ Egress GatewayκΉŒμ§€ 같이 μ‚¬μš©ν•˜μž!
last_modified_at: 2024-02-29
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
toc_sticky: true
categories: ["Kubernetes", "Istio", "Network"]
excerpt: Istio둜 Network Meshλ₯Ό λ‹€λ£¨λŠ”μž, TLSλ₯Ό μ™„λ²½νžˆ μ•Œκ³  μžˆμ–΄μ•Ό ν•  κ²ƒμ΄λ‹ˆλΌ πŸ§žβ€β™‚
last_modified_at: 2024-02-29
last_modified_at: 2024-03-03
---

## SSL vs. TLS
Expand Down Expand Up @@ -122,7 +122,13 @@ https://istio.io/latest/docs/ops/configuration/traffic-management/tls-configurat
### Double Encryption
# mTLS
# mutual TLS (mTLS)
![](/images/development/istio/toss-slash-23-mTLS.png)
Client-Serverκ°€ 톡신할 λ•Œ, 전톡적인 TLS 톡신은 Server의 μΈμ¦μ„œλ₯Ό Clientμ—μ„œ 검증 ν•˜λŠ” λ°©μ‹μ΄μ—ˆλŠ”λ°, mTLSμ—μ„œλŠ” Client의 μΈμ¦μ„œλ„ Serverμ—μ„œ 검증이 λ˜μ–΄μ•Ό μ„œλ‘œ 톡신이 μˆ˜λ¦½λœλ‹€!!
# 참고자료
Expand Down
237 changes: 237 additions & 0 deletions _posts/development/istio/2024-03-03-istio-security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
---
title: "Istio Security"
toc: true
toc_sticky: true
categories: ["Kubernetes", "Istio", "Security"]
excerpt: "`PeerAuthentication`으둜 Istio μ›Œν¬λ‘œλ“œμ˜ μ ‘κ·Όλ§Œ ν—ˆμš©ν•˜κΈ°, `AuthorizationPolicy`둜 μ—”λ“œν¬μΈνŠΈ μ ‘κ·Ό μ œμ–΄ν•˜κΈ°, `Sidecar`둜 Envoy Sidecar ꡬ성 μ»€μŠ€ν…€ ν•˜κΈ°"
last_modified_at: 2024-03-05
---

![](https://www.asylas.com/wp-content/uploads/2020/12/9-Awareness-Training.jpg){: .align-center }

λΆ„μ‚° μ‹œμŠ€ν…œ μœ„μ—μ„œ "μ™„λ²½ν•œ" μ„œλΉ„μŠ€ 메쉬λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄μ„œ IstioλŠ” "λ³΄μ•ˆ" κ΄€λ ¨λœ μ—¬λŸ¬ κΈ°λŠ₯듀을 μ œκ³΅ν•œλ‹€!!


# `PeerAuthentication`

μš”κ±΄ istio μ›Œν¬λ‘œλ“œμ— `mTLS`의 νŠΈλž˜ν”½λ§Œ μ ‘κ·Όλ§Œ ν—ˆμš©ν•  것인지(`STRICT`) μ•„λ‹ˆλ©΄ mTLSκ°€ μ μš©λ˜μ§€ μ•Šμ€ νŠΈλž˜ν”½ 접근도 ν—ˆμš©ν•  것인지(`PERMISSIVE`) κ²°μ •ν•˜λŠ” 정책이닀.

```yaml
$ kubectl apply -f - <<EOF
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
name: only-mtls-allow
namespace: default
spec:
mtls:
mode: STRICT
EOF
```

μ΄λ ‡κ²Œ μ„€μ •ν•  경우, `default` λ„€μž„μŠ€νŽ˜μ΄μŠ€λ‘œ ν–₯ν•˜λŠ” νŠΈλž˜ν”½μ€ λͺ¨λ‘ mTLS둜 μ•”ν˜Έν™” λ˜μ–΄μ•Ό ν•œλ‹€. 그런데, mTLS μ•”ν˜Έν™”κ°€ λ˜μ—ˆλ‹€λŠ” 말이 곧 κ·Έ μ›Œν¬λ‘œλ“œκ°€ Istio μ„œλΉ„μŠ€ 메쉬 μœ„μ— μžˆλ‹€λŠ” 말이기 λ•Œλ¬Έμ— κ²°κ΅­ Istio μ„œλΉ„μŠ€ λ©”μ‰¬μ˜ μ›Œν¬λ‘œλ“œμ˜ μ ‘κ·Όλ§Œ ν—ˆμš©ν•˜κ² λ‹€λŠ” 것이닀.

```bash
$ kubectl exec ... -n non-istio -- sh
~# curl helloworld.default:5000/hello
curl: (56) Recv failure: Connection reset by peer
```

λ§Œμ•½ istio μ›Œν¬λ‘œλ“œκ°€ μ•„λ‹Œ κ³³μ—μ„œ μš”μ²­μ„ 보낸닀면 μ΄λ ‡κ²Œ 접근이 λΆˆκ°€λŠ₯ν•˜λ‹€.

# `AuthorizationPolicy`

νŠΉμ • Namespace와 λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ Call ν˜ΈμΆœμ„ μ œν•œ(Deny) ν•˜κ±°λ‚˜ ν—ˆμš©(Allow) 할도둝 지정할 수 μžˆλŠ” λ¦¬μ†ŒμŠ€μ΄λ‹€.

κ°€μž₯ κ°„λ‹¨νžˆ `default` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ›Œν¬λ‘œλ“œλ₯Ό `test` λ„€μž„μŠ€νŽ˜μ΄μŠ€λ‘œλΆ€ν„° λ³΄ν˜Έν•˜λŠ” `AuthorizationPolicy`λΆ€ν„° μ‚΄νŽ΄λ³΄μž.

```yaml
$ kubectl apply -f - <<EOF
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: protect-from-test
namespace: default
spec:
action: DENY
rules:
- from:
- source:
namespaces: ["test"]
EOF
```

μœ„μ™€ 같은 AuthPolicyκ°€ μƒμ„±λ˜μ—ˆλ‹€λ©΄, `test` λ„€μž„μŠ€νŽ˜μ΄μŠ€λŠ” μ›Œν¬λ‘œλ“œμ— μ ‘κ·Όν•˜λ €κ³  ν•  λ•Œ, 이런 μ—λŸ¬λ₯Ό λ°›λŠ”λ‹€.

```bash
$ kubectl exec -n test ... -- sh
~# curl helloworld.default:5000/hello
RBAC: access denied
```

그런데 μœ„μ˜ AuthPolicyλŠ” `test` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ 접근을 λ§‰μ•˜μ„ 뿐 λ‹€λ₯Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ—μ„œμ˜ 접근은 잘 이뀄진닀!

λ§Œμ•½, λ°˜λŒ€λ‘œ νŠΉμ • λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ ‘κ·Όλ§Œμ„ ν—ˆμš©ν•˜κ³  μ‹Άλ‹€λ©΄ λ¦¬μ†ŒμŠ€λ₯Ό μ΄λ ‡κ²Œ λ§Œλ“€μ–΄λ³΄μž.

```bash
$ kubectl delete authorizationpolicy -n default protect-from-test
```

```yaml
$ kubectl apply -f - <<EOF
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: only-allow-from-test
namespace: default
spec:
action: ALLOW
rules:
- from:
- source:
namespaces: ["test"]
EOF
```

μ΄λ ‡κ²Œ ν•˜λ©΄, λ°˜λŒ€λ‘œ `test` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ 접근은 ν—ˆμš©ν•˜μ§€λ§Œ, λ‹€λ₯Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€λ‘œλΆ€ν„°μ˜ 접근은 κ±°λΆ€ λœλ‹€.

단, 같은 λ„€μž„μŠ€νŽ˜μ΄μŠ€μΈ `default` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ λ¦¬μ†ŒμŠ€λ“€ κ°„μ˜ 톡신도 κ±°λΆ€λ˜κΈ° λ•Œλ¬Έμ— μ£Όμ˜ν•  것!!

λ„€μž„μŠ€νŽ˜μ΄μŠ€ 외에도 λ‹€λ₯Έ λͺ‡κ°€μ§€ μ‘°κ±΄λ“€λ‘œ 접근을 μ œμ–΄ν•  수 μžˆλ‹€.

νŠΈλž˜ν”½μ˜ μΆœλ°œμ§€λ₯Ό κΈ°μ€€μœΌλ‘œ

- `namespace`
- `ipBlocks`
- `remoteIpBlocks`

νŠΈλž˜ν”½μ΄ 도착 지점을 κΈ°μ€€μœΌλ‘œ

- `hosts`
- `ports`
- `methods`
- `paths`

등을 κΈ°μ€€μœΌλ‘œ μ ‘κ·Ό μ œμ–΄λ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€.

# `Sidecar`

Istio μ„œλΉ„μŠ€λ©”μ‰¬μ—μ„œ Envoy SideCar에 λŒ€ν•œ λ„€νŠΈμ›Œν¬ ꡬ성을 λͺ…μ‹œν•˜λŠ” λ¦¬μ†ŒμŠ€μ΄λ‹€.

## Egress Listener

예λ₯Ό λ“€μ–΄, μ•„λž˜μ˜ `Sidecar` λ¦¬μ†ŒμŠ€λ₯Ό λ§Œλ“€λ©΄, `default` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ—μ„œ `default`와 `test`의 μ›Œν¬λ‘œλ“œλ‘œλ§Œ μ ‘κ·Όν•  수 μžˆλ‹€.

```yaml
$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
name: default-egress
namespace: default
spec:
egress:
- hosts:
- "default/*"
- "test/*"
EOF
```

λ§Œμ•½ λͺ…μ‹œλ˜μ§€ μ•Šμ€ μ›Œν¬λ‘œλ“œμ— `curl` λͺ…령을 날리면 아무 response도 받지 λͺ» ν•˜κ³  필터링 λœλ‹€.

μš”λ ‡κ²Œ `Sidecar`의 `egress` κ·œμΉ™μ„ ν™œμš©ν•˜λ©΄, ν•΄λ‹Ή λ„€μž„μŠ€νŽ˜μ΄μŠ€λ‚˜ μ›Œν¬λ‘œλ“œμ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•œ K8s λ˜λŠ” Istio μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό μ œν•œν•  수 μžˆλ‹€. **즉, μ΅œμ†Œν•œμ˜ ν•„μš”λ‘œ ν•˜λŠ” λ³΄μ•ˆ μ ‘κ·Όλ§Œμ„ ν—ˆμš©ν•˜λŠ” 것이닀.** (Zero-Trust Network의 쑰건을 μΆ©μ‘±!)

μ•„ 그리고 λ§Œμ•½ 같은 λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ›Œν¬λ‘œλ“œλ‘œλ§Œ egress hostλ₯Ό ν—ˆμš©ν•˜λ €λ©΄ μ•„λž˜μ™€ 같이 μž‘μ„±ν•  μˆ˜λ„ μžˆλ‹€.

```yaml
...
spec:
egress:
- hosts:
- "./*"
- "./helloworld"
```
μ΄λ ‡κ²Œ μƒλŒ€κ²½λ‘œ ν‘œν˜„μ‹ 처럼 `./`λ₯Ό μ‚¬μš©ν•˜λ©΄ 같은 λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ›Œν¬λ‘œλ“œλ§Œ ν—ˆμš©ν•˜κ²Œ λœλ‹€.

## Ingress Listener

μ΄λ²ˆμ—λŠ” λ°˜λŒ€λ‘œ μš” μ›Œν¬λ‘œλ“œμ— μ ‘κ·Ό κ°€λŠ₯ν•œ portλ₯Ό μ œν•œν•΄λ³΄μž.

```yaml
$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
name: default-ingress
namespace: default
spec:
ingress:
- port: 5000
EOF
```

μ΄λ ‡κ²Œ ν•˜λ©΄, `default` λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ λͺ¨λ“  μ›Œν¬λ‘œλ“œμ— λŒ€ν•΄μ„œ `5000` 포트만 μ—΄λ €μžˆκ²Œ λœλ‹€.

μ™œ ingressλŠ” portλ₯Ό μ œν•œν• κΉŒ 생각을 μ’€ ν•΄λ΄€λŠ”λ°...

보톡 K8s의 μ›Œν¬λ‘œλ“œμ— μ ‘κ·Όν•˜λ €κ³  ν•˜λ©΄ K8s Service λ¦¬μ†ŒμŠ€μ˜ CoreDNS μ£Όμ†Œλ‘œ μ ‘κ·Ό ν•œλ‹€. 그런데, 이건 편의λ₯Ό μœ„ν•΄ μ“°λ˜ 것이고 사싀은 각 Pod이 λΆ€μ—¬ 받은 Private IPλ‘œλ„ μ›Œν¬λ‘œλ“œμ— μ ‘κ·Όν•  수 μžˆλ‹€.

K8s Serviceλ₯Ό μ ‘κ·Όν•  λ•ŒλŠ” K8s Serviceλ₯Ό μ •μ˜ν•˜λ©΄μ„œ μ›Œν¬λ‘œλ“œμ˜ μ–΄λ–€ 포트λ₯Ό λ…ΈμΆœν• μ§€ 결정을 ν•˜κ²Œ λ˜μ§€λ§Œ, μ–΄λ–€ ν¬νŠΈλŠ” K8s Svc둜 λ…ΈμΆœν•˜κ³  싢지 μ•Šμ„ μˆ˜λ„ μžˆλ‹€.

Istio `Sidecar`λŠ” μ΄λ ‡κ²Œ Native K8sκ°€ κ°–λŠ” μ›μΉ˜ μ•ŠλŠ” μ›Œν¬λ‘œλ“œμ˜ ν¬νŠΈκ°€ λ…ΈμΆœλ˜μ§€ μ•Šλ„λ‘ Envoy Sidecar μˆ˜μ€€μ—μ„œ ingress portλ₯Ό μ œν•œν•˜λŠ” 것 κ°™λ‹€. μ–΄λ–»κ²Œ 보면, AWS SG의 Ingress Rule처럼 Inbound 포트λ₯Ό μ œν•œν•˜λŠ” κ²ƒμœΌλ‘œ 보이기도 ν•œλ‹€.

## Workload Selector

μœ„μ˜ `Sidecar` μ˜ˆμ‹œλ“€μ€ `metadata.namespace`의 λͺ¨λ“  Envoy Sidecar에 μ μš©λ˜λŠ” κ·œμΉ™μ΄μ—ˆλ‹€. λ§Œμ•½ νŠΉμ • μ›Œν¬λ‘œλ“œμ˜ Envoy Sidecarμ—λ§Œ μ μš©ν•˜κ³  μ‹Άλ‹€λ©΄, μ•„λž˜μ™€ 같이 `workflowSelector`λ₯Ό ν¬ν•¨ν•˜λ©΄ λœλ‹€.

```yaml
$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
name: default-egress
namespace: default
spec:
workloadSelector:
labels:
app: helloworld
egress:
- hosts:
- "./*"
EOF
```

μ™€μš°! μœ„μ™€ 같이 `Sidecar`λ₯Ό κ΅¬μ„±ν•˜λ©΄ helloworld μ›Œν¬λ‘œλ“œλŠ” 였직 같은 λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ›Œν¬λ‘œλ“œλ‘œλ§Œ μ ‘κ·Όν•  수 μžˆλ‹€!!

# Istio와 Zero-trust Network

Istioλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ "Zero-trust Network"(μ΄ν•˜ ZTN)λΌλŠ” μš©μ–΄λ₯Ό 처음 보게 λ˜μ—ˆλ‹€. 본인이 λ³΄μ•ˆ μ „λ¬Έκ°€λŠ” μ•„λ‹ˆλΌμ„œ μ‰½κ²Œ 이해 λ˜μ§€λŠ” μ•Šμ•˜λŠ”λ°...

[ν† μŠ€γ…£SLASH 23 - 고객 λΆˆμ•ˆμ„ 0으둜 λ§Œλ“œλŠ” ν† μŠ€μ˜ Istio Zero Trust](https://youtu.be/4sJd6PIkP_s?si=FUrtUOR3u_x9jEMK)의 μ˜μƒμ΄ Istio ZTNλ₯Ό μ΄ν•΄ν•˜λŠ”λ° 큰 도움이 λ˜μ—ˆλ‹€.

ν† μŠ€λŠ” μ•„λ¬΄λž˜λ„ 금용 κΈ°μ—…μ΄λ‹ˆ μ›Œν¬λ‘œλ“œλ₯Ό μš΄μ˜ν•  λ•Œ 높은 μˆ˜μ€€μ˜ λ³΄μ•ˆμ„ μš”κ΅¬ν•  것 κ°™λ‹€. IstioλŠ” ν† μŠ€μ˜ K8s ν΄λŸ¬μŠ€ν„°μ— ZTNλ₯Ό μ œκ³΅ν•˜λŠ” μ†”λ£¨μ…˜μœΌλ‘œ 잘 κΈ°λŠ₯ν•˜λŠ” 것 κ°™λ‹€.

μ§€κΈˆλΆ€ν„°λŠ” μœ„μ˜ μ˜μƒμ˜ λ‚΄μš© μš”μ•½μ΄λ‹€!

- ν† μŠ€λŠ” λͺ¨λ“  μ›Œν¬λ‘œλ“œμ— mTLS `STRICT` λͺ¨λ“œμ΄λ‹€. 즉, Istio μ„œλΉ„μŠ€ 메쉬 λ°–μ—μ„œλŠ” μ„œλΉ„μŠ€ λ©”μ‰¬λ‘œ μ ‘κ·Όν•  수 μ—†λ‹€.
- ν† μŠ€λŠ” Istio의 `Sidecar` λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•΄μ„œ μ›Œν¬λ‘œλ“œκ°€ μ ‘κ·Όν•  수 μžˆλŠ” egress hostλ₯Ό μ œν•œν•œλ‹€. λ”°λ‘œ 섀정해주지 μ•ŠμœΌλ©΄ μ–΄λ–€ μ›Œν¬λ‘œλ“œμ—λ„ μ ‘κ·Όν•  수 μ—†λ‹€. (Least Privilliage 사둀)
- ν† μŠ€λŠ” Istio의 `AuthorizationPolicy` λ¦¬μ†ŒμŠ€λ₯Ό μ„€μ •ν•˜μ—¬ μ˜ˆμƒμΉ˜ λͺ»ν•œ μ›Œν¬λ‘œλ“œμ˜ 접근을 막고, μ›Œν¬λ‘œλ“œμ˜ 접근은 Endpoint λ ˆλ²¨κΉŒμ§€ μ œν•œν•œλ‹€.

즉, μ›Œν¬λ‘œλ“œ Aκ°€ μ›Œν¬λ‘œλ“œ B에 μ ‘κ·Όν•˜κ³ μž ν•œλ‹€λ©΄, (1) λ‘˜λ‹€ Istio μ„œλΉ„μŠ€ 메쉬 μ•ˆμ— μžˆμ–΄μ•Ό ν•˜κ³ , (2) μ›Œν¬λ‘œλ“œ A의 `Sidecar`λ₯Ό μ„€μ •ν•΄μ„œ μ›Œν¬λ‘œλ“œ B에 egress ν•  수 있게 ν—ˆμš©ν•΄μ•Ό ν•˜κ³ , (3) μ›Œλ₯΄μ½”λ“œ B에 `AuthorizationPolicy`λ₯Ό μ„€μ •ν•΄ μ›Œν¬λ‘œλ“œ A의 ingress νŠΈλž˜ν”½μ„ ν—ˆμš©ν•΄μ€˜μ•Ό ν•œλ‹€.

![](/images/development/istio/toss-sidecar-monitoring.png)

ν† μŠ€μ˜ 경우, `Sidecar`의 egress host λͺ©λ‘μ΄ λ³€κ²½ λœλ‹€κ±°λ‚˜, μ•„λ‹˜ λ“±λ‘λ˜μ§€ μ•Šμ€ egress host둜 μš”μ²­μ΄ λ°œμƒν•œλ‹€λ©΄ Slack λ©”μ‹œμ§€λ„ μ˜€λŠ” λ“± Istioλ₯Ό μ„Έλ°€ν•˜κ²Œ λͺ¨λ‹ˆν„°λ§ ν•˜κ³  μžˆλ‹€. (졜근 μ½”λ“œ 컀미터 λ³΄μ—¬μ£ΌλŠ” 것도 μ‹ κΈ°ν•˜λ„€... πŸ‘€)

μ²˜μŒμ—λŠ” Istioλ₯Ό μ„œλΉ„μŠ€ 메쉬? λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ λͺ¨λ‹ˆν„°λ§ ν•˜κ³ , 또 μΉ΄λ‚˜λ¦¬ 배포λ₯Ό ν•  수 μžˆλŠ” κ±°κ΅¬λ‚˜~~ 라고만 μƒκ°ν–ˆλŠ”λ°, λΆ„μ‚°μ²˜λ¦¬ μ‹œμŠ€ν…œκ³Ό κ·Έκ²ƒμ˜ λ³΄μ•ˆμ„ μœ„ν•΄ 잘 κ³ μ•ˆλœ μ„œλΉ„μŠ€ λ©”μ‰¬λΌλŠ” 생각이 λ“ λ‹€. (μ—­μ‹œ CNCF!)

# 참고자료

- Istio 곡식 λ¬Έμ„œλ“€
- [`PeerAuthentication`](https://istio.io/latest/docs/reference/config/security/peer_authentication/)
- [`AuthroizationPolicy`](https://istio.io/latest/docs/reference/config/security/authorization-policy/)
- [`Sidecar`](https://istio.io/latest/docs/reference/config/networking/sidecar/)
- Toss Slash 23
- [ν† μŠ€γ…£SLASH 23 - 고객 λΆˆμ•ˆμ„ 0으둜 λ§Œλ“œλŠ” ν† μŠ€μ˜ Istio Zero Trust](https://youtu.be/4sJd6PIkP_s?si=FUrtUOR3u_x9jEMK)
- 그외에도 ν† μŠ€μ—μ„œ Istio κ΄€λ ¨ν•΄μ„œ λ§Žμ€ 사둀 μΌ€μ΄μŠ€λ₯Ό μ œμ‹œν•˜κ³  μžˆλ‹€!! (λ‚˜μ€‘μ— μ­‰ 봐야지...)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/development/istio/toss-slash-23-mTLS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 56a60b5

Please sign in to comment.