เดเตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด.:
เดเดเตเดเตพ เดเดฐเต เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเตเด เดเดธเตเดคเดฟเดฏเตเดฏเตเดเต เดเดดเดฟเดตเตเดเตพ เดชเตเดฐเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเดฐเต เดเดฆเดพเดนเดฐเดฃ เดฎเตเดเตเดฐเตเดธเตผเดตเตเดธเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดพเดฏ เดธเตเดจเตเดฑเดฟเดฎเตเดจเตเดฑเต เด เดจเดพเดฒเดฟเดธเดฟเดธเตเด เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเต.
Retries, Timeouts, Circuit Breakers, Tracing, Monitoring เดคเตเดเดเตเดเดฟเดฏ เดฒเตเดฏเดฑเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ Istio เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดธเตเดตเดจเดเตเดเตพ เดเตเดฑเตเดคเดพเดเตเดเดฟ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเตป เดเดเตเดเตพเดเตเดเต เดเดดเดฟเดเตเดเต. เดเตเดเดพเดคเต, เดเดเตเดเตพ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดเตเดธเตเดฑเตเดฑเดฟเดเดเตเด เดตเดฟเดจเตเดฏเดพเดธ เดธเดพเดเตเดเตเดคเดฟเดเดคเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเต: เด/เดฌเดฟ เดเตเดธเตเดฑเตเดฑเดฟเดเดเต, เดฎเดฟเดฑเดฑเดฟเดเดเต, เดเดพเดจเดฑเดฟ เดฑเตเตพเดเดเตเดเตเดเตพ.
เดชเตเดคเดฟเดฏ เดฎเตเดฑเตเดฑเตเดฐเดฟเดฏเดฒเดฟเตฝ, เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดฎเตเดฒเตเดฏเดคเตเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเดพเดคเดฏเดฟเดฒเต เด
เดตเดธเดพเดจ เดชเดพเดณเดฟเดเตพ เดเดเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเด: เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดตเตเด เด
เดเดเตเดเดพเดฐเดตเตเด - เดเตเดเดพเดคเต เดเดธเตเดฑเตเดฑเดฟเดฏเตเดฏเดฟเตฝ เดเดคเต เดเดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดธเดจเตเดคเตเดทเดฎเดพเดฃเต!
เดเดธเตเดคเดฟเดฏเตเดฏเดฟเดฒเต เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดตเตเด เด เดเดเตเดเดพเดฐเดตเตเด
เดเดงเดฟเดเดพเดฐเดฟเดเดคเดฏเดฟเดฒเตเด เด เดเดเตเดเดพเดฐเดคเตเดคเดฟเดฒเตเด เดเดจเดฟเดเตเดเต เดชเตเดฐเดเตเดฆเดจเด เดฒเดญเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดเดพเตป เดเดฐเดฟเดเตเดเดฒเตเด เดตเดฟเดถเตเดตเดธเดฟเดเตเดเตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เด เดตเดฟเดทเดฏเดเตเดเตพ เดฐเดธเดเดฐเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เด เดคเดฟเดฒเตเดชเดฐเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดชเตเดฐเดเตเดฆเดจเด เดจเตฝเดเตเดจเตเดจเดคเดฟเดจเตเด เดเดฐเต เดธเดพเดเตเดเตเดคเดฟเด เดตเตเดเตเดทเดฃเดเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดธเตเดคเดฟเดฏเตเดฏเตเดเตเดเต เดเดจเตเดคเดพเดฃเต เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด?
เดเดคเตเดคเดฐเด เดฒเดณเดฟเดคเดฎเดพเดฃเต: เด เดเดดเดฟเดตเตเดเดณเตเดเต เดเดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตปเดตเตเดฏเต เดชเตเดฐเตเดเตเดธเดฟเดฏเดฟเดฒเตเดเตเดเต เดเดธเตเดคเดฟเดฏเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต. เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดธเตเดตเดจเดเตเดเดณเดฟเตฝ เดเดคเตเดคเตเดฎเตเดชเตเดดเตเดเตเดเตเด, เด เดต เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เด เดเดเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต, เด เดคเดฟเดจเดพเตฝ เดจเดฟเดเตเดเตพ เดเตเดฏเตเดฏเตเดฃเตเดเดคเต เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดเตเดกเต เดเดดเตเดคเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต.
เดจเดฒเตเดฒเดคเตเดจเตเดจเต เดคเตเดพเดจเตเดจเตเดจเตเดจเต? เดจเดฎเตเดเตเดเต เด เดเดคเตเดคเตเดเตเดเต เดจเตเดเตเดเดพเด!
Auth0 เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเด
เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟเดเตเดเตเด เดเดเตเดธเดธเต เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเดฟเดจเตเดฎเตเดณเตเดณ เดเดฐเต เดธเตเตผเดตเตผ เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดเดเตเดเตพ Auth0 เดเดชเดฏเตเดเดฟเดเตเดเตเด, เด
เดคเดฟเดจเต เดเตเดฐเดฏเตฝ เดชเดคเดฟเดชเตเดชเต เดเดฃเตเดเต, เด
เดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เด
เดตเดฌเตเดงเดเดจเตเดฏเดฎเดพเดฃเต, เดเดจเดฟเดเตเดเต เด
เดคเต เดเดทเตเดเดฎเดพเดฃเต. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เด
เดคเต เดคเดคเตเดคเตเดตเดเตเดเตพ เดฎเดฑเตเดฑเตเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดชเตเดฐเดฏเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด
เดเดฆเตเดฏเด, เดชเตเดเตเด
เดซเดฏเดฒเดฟเตฝ เด เดกเตเดฎเตเดฏเตเตป เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเด resource-manifests/istio/security/auth-policy.yaml
(
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
name: auth-policy
spec:
targets:
- name: sa-web-app
- name: sa-feedback
origins:
- jwt:
issuer: "https://{YOUR_DOMAIN}/"
jwksUri: "https://{YOUR_DOMAIN}/.well-known/jwks.json"
principalBinding: USE_ORIGIN
เด
เดคเตเดคเดฐเดฎเตเดฐเต เดฑเดฟเดธเตเดดเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต, เดชเตเดฒเดฑเตเดฑเต (เดเดธเตเดฑเตเดฑเดฟเดฏเตเดฏเดฟเดฒเต เดฎเตเดจเตเดจเต เด
เดเดฟเดธเตเดฅเดพเดจ เดเตบเดเตเดฐเตเตพ เดชเตเดฒเตเดฏเดฟเตป เดเดเดเดเตเดเดณเดฟเตฝ เดเดจเตเดจเต - เดเดเดฆเตเดถเด. เดตเดฟเดตเตผเดคเตเดคเดจเด.) เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเตเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฆเตเดคเดจเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเต: sa-web-app
ะธ sa-feedback
. เด
เดคเต เดธเดฎเดฏเด, เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดธเตเดตเดจ เดฆเตเดคเดจเตเดฎเดพเตผเดเตเดเต เดฌเดพเดงเดเดฎเดฒเตเดฒ sa-frontend
, เดเดงเดฟเดเดพเดฐเดฟเดเดคเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดฎเตเตปเดญเดพเดเด เดตเดฟเดเดพเตป เดเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดจเดฏเด เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด:
$ kubectl apply -f resource-manifests/istio/security/auth-policy.yaml
policy.authentication.istio.io โauth-policyโ created
เดชเตเดเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเดฟ เดเดฐเต เด เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดเดคเตเดคเตเด - เด เดคเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเดเต เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดฟเดเตเดเตพ เดเดพเดฃเตเด XXX เด เดเดเตเดเดพเดฐเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดพเดฃเต. Auth0 เดเดชเดฏเตเดเดฟเดเตเดเต เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเดพเตป เดเดจเดฟ เดซเตเดฐเดฃเตเดเตโเดเตปเดกเต เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเดพเด.
Auth0 เดเดชเดฏเตเดเดฟเดเตเดเต เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต
เด เดจเตเดคเดฟเดฎ เดเดชเดฏเตเดเตเดคเต เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเดพเตป, เดจเดฟเดเตเดเตพ เดเดงเดฟเดเดพเดฐเดฟเด เดธเตเดตเดจเดเตเดเดณเต (เด เดตเดฒเตเดเดจเดเตเดเตพ, เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ, เดฑเตเดฑเตเดฑเดฟเดเดเตเดเตพ) เดชเตเดฐเดคเดฟเดจเดฟเดงเตเดเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต API Auth0-เตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดฐเต API เดธเตเดทเตโเดเดฟเดเตเดเดพเตป, เดเดคเดฟเดฒเตเดเตเดเต เดชเตเดเตเด Auth0 เดชเตเตผเดเตเดเตฝ > APIเดเตพ > API เดธเตเดทเตเดเดฟเดเตเดเตเด เดเตเดเดพเดคเต เดซเตเด เดชเตเดฐเดฟเดชเตเดชเดฟเดเตเดเตเด:
เดเดตเดฟเดเตเดฏเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดตเดฟเดตเดฐเดเตเดเตพ เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตเด, เด
เดคเต เดเดเตเดเตพ เดชเดฟเดจเตเดจเตเดเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเด. เดจเดฎเตเดเตเดเต เดเดคเต เดเดเตเดเดจเต เดเดดเตเดคเดพเด:
- เดชเตเดฐเตเดเตเดทเดเตผ: {YOUR_AUDIENCE}
เดเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดถเตเดทเดฟเดเตเดเตเดจเตเดจ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดตเดฟเดญเดพเดเดคเตเดคเดฟเดฒเต Auth0 เดชเตเตผเดเตเดเดฒเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเดจเตเดจเต เด เดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ - เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด เดเตเดธเตเดฑเตเดฑเต เด เดชเตเดเตเดท (API-เดฏเตโเดเตเดเตเดชเตเดชเด เดธเตเดตเดฏเดฎเตเดต เดธเตเดทเตโเดเดฟเดเตเดเดคเต).
เดเดตเดฟเดเต เดเดเตเดเตพ เดเดดเตเดคเดพเด:
- เดกเตเดพเดฎเตเดฏเตเตป: {YOUR_DOMAIN}
- เดเตเดฒเดฏเดจเตเดฑเต เดเดกเดฟ: {YOUR_CLIENT_ID}
เดเดคเดฟเดฒเตเดเตเดเต เดธเตเดเตเดฐเตเตพ เดเตเดฏเตเดฏเตเด เดเตเดธเตเดฑเตเดฑเต เด เดชเตเดเตเดท เดเตเดเตเดธเตเดฑเตเดฑเต เดซเตเตฝเดกเดฟเดฒเตเดเตเดเต เด เดจเตเดตเดฆเดจเตเดฏเดฎเดพเดฏ เดเตเตพเดฌเดพเดเตเดเต URL-เดเตพ (เดเตเตพเดฌเดพเดเตเดเดฟเดจเดพเดฏเตเดณเตเดณ เดชเดฐเดฟเดนเดฐเดฟเดเตเด URL), เด เดคเดฟเตฝ เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดฟเดฏ เดถเตเดทเด เดเตเตพ เด เดฏเดฏเตโเดเตเดเตเดฃเตเด URL เดเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดจเตเดจเต. เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดคเต:
http://{EXTERNAL_IP}/callback
เดชเดฟเดจเตเดจเต เด เดจเตเดตเดฆเดจเตเดฏเดฎเดพเดฏ เดฒเตเดเตเดเดเตเดเต URL-เดเตพ (เดฒเตเดเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด เดจเตเดตเดฆเดจเตเดฏเดฎเดพเดฏ URL-เดเตพ) เดเตเตผเดเตเดเตเด:
http://{EXTERNAL_IP}/logout
เดจเดฎเตเดเตเดเต เดฎเตเดจเตเดจเดฃเดฟเดฏเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด.
เดฎเตเตปเดตเดถเด เด เดชเตเดกเตเดฑเตเดฑเต
เดฌเตเดฐเดพเดเตเดเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเด auth0
เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเตเดฑเดฟเดฏ [istio-mastery]
. เด เดฌเตเดฐเดพเดเตเดเดฟเตฝ, เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต Auth0-เดฒเตเดเตเดเต เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดฎเดฑเตเดฑเต เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเดฟเตฝ JWT เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดซเตเดฐเดฃเตเดเตโเดเตปเดกเต เดเตเดกเต เดฎเดพเดฑเตเดฑเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต. เดฐเดฃเตเดเดพเดฎเดคเตเดคเตเดคเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต (
analyzeSentence() {
fetch('/sentiment', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${auth.getAccessToken()}` // Access Token
},
body: JSON.stringify({ sentence: this.textField.getValue() })
})
.then(response => response.json())
.then(data => this.setState(data));
}
Auth0-เตฝ เดตเดพเดเดเดเตเดเดพเดฐเดจเตเดฑเต เดกเดพเดฑเตเดฑ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเตปเดญเดพเดเด เดฎเดพเดฑเตเดฑเดพเตป, เดคเตเดฑเดเตเดเตเด sa-frontend/src/services/Auth.js
เดเดเตเดเตพ เดฎเตเดเดณเดฟเตฝ เดเดดเตเดคเดฟเดฏ เดฎเตเดฒเตเดฏเดเตเดเตพ เด
เดคเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด (
const Config = {
clientID: '{YOUR_CLIENT_ID}',
domain:'{YOUR_DOMAIN}',
audience: '{YOUR_AUDIENCE}',
ingressIP: '{EXTERNAL_IP}' // ะัะฟะพะปัะทัะตััั ะดะปั ัะตะดะธัะตะบัะฐ ะฟะพัะปะต ะฐััะตะฝัะธัะธะบะฐัะธะธ
}
เด เดชเตเดเตเดท เดคเดฏเตเดฏเดพเดฑเดพเดฃเต. เดตเดฐเตเดคเตเดคเดฟเดฏ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดเดฏเตเด เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดเตเดตเดเตเดฏเตเดณเตเดณ เดเดฎเดพเตปเดกเตเดเดณเดฟเตฝ เดจเดฟเดเตเดเดณเตเดเต เดกเตเดเตเดเตผ เดเดกเดฟ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเด:
$ docker build -f sa-frontend/Dockerfile
-t $DOCKER_USER_ID/sentiment-analysis-frontend:istio-auth0
sa-frontend
$ docker push $DOCKER_USER_ID/sentiment-analysis-frontend:istio-auth0
$ kubectl set image deployment/sa-frontend
sa-frontend=$DOCKER_USER_ID/sentiment-analysis-frontend:istio-auth0
เดเดชเตเดชเต เดชเดฐเตเดเตเดทเดฟเดเตเดเตเด! เดจเดฟเดเตเดเดณเต Auth0-เดฒเตเดเตเดเต เดฑเตเดกเดฏเดฑเดเตโเดเตเดเตเดฏเตเดฏเตเด, เด เดตเดฟเดเต เดจเดฟเดเตเดเตพ เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเด), เด เดคเดฟเดจเตเดถเตเดทเด เดเดคเดฟเดจเดเด เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดฏ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดจเดเดคเตเดคเตเดจเตเดจ เดชเตเดเดฟเดฒเตเดเตเดเต เดจเดฟเดเตเดเดณเต เดคเดฟเดฐเดฟเดเต เด เดฏเดฏเตโเดเตเดเตเด. เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดเดฆเตเดฏ เดญเดพเดเดเตเดเดณเดฟเตฝ เดชเดฑเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเตพ curl เดเดชเดฏเตเดเดฟเดเตเดเต เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดกเต เดฒเดญเดฟเดเตเดเตเด 401 เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดเตเดกเต, เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเตเดเต เด เดเดเตเดเดพเดฐเดฎเดฟเดฒเตเดฒเตเดจเตเดจเต เดธเตเดเดจ เดจเตฝเดเตเดจเตเดจเต.
เดจเดฎเตเดเตเดเต เด เดเตเดคเตเดค เดเดเตเดเด เดเดเตเดเตเดเดพเด - เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เด เดเดเตเดเดฐเดฟเดเตเดเตเด.
Auth0 เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เด เดเดเตเดเดพเดฐเด
เดเดฐเต เดเดชเดฏเตเดเตเดคเดพเดตเต เดเดฐเดพเดฃเตเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเตป เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเด เดเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เด เดตเตผเดเตเดเต เดเดเตเดธเดธเต เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เด เดฑเดฟเดฏเดพเตป เด เดเดเตเดเดพเดฐเด เดเดตเดถเตเดฏเดฎเดพเดฃเต. เดเดคเดฟเดจเตเดณเตเดณ เดเตเดณเตเดเดณเตเด เดเดธเตเดคเดฟเดฏเต เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ, เดจเดฎเตเดเตเดเต เดฐเดฃเตเดเต เดเดชเดฏเตเดเตเดคเต เดเตเดฐเตเดชเตเดชเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเดพเด (เดเตเดตเดเตเดฏเตเดณเตเดณ เดกเดฏเดเตเดฐเด เดเดพเดฃเตเด):
- เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ (เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ) - SA-WebApp, SA-Frontend เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดฎเดพเดคเตเดฐเด เดเดเตโเดธเดธเตเดธเต;
- เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผ (เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผ) - เดฎเตเดจเตเดจเต เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดชเตเดฐเดตเตเดถเดจเด.
เด
เดเดเตเดเดพเดฐ เดเดถเดฏเด
เด เดเตเดฐเตเดชเตเดชเตเดเตพ เดธเตเดทเตโเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ Auth0 เดเดคเดฑเตเดธเตเดทเตป เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เด เดตเตผเดเตเดเต เดตเดฟเดตเดฟเดง เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเดเตโเดธเดธเต เดจเตฝเดเตเดจเตเดจเดคเดฟเดจเต เดเดธเตเดคเดฟเดฏเต เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
Auth0 เดเดคเดฑเตเดธเตเดทเดจเตเดฑเต เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเดจเตเด เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเด
Auth0 เดชเตเตผเดเตเดเดฒเดฟเตฝ, เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดเตเดเดณเดฟเดฒเตเดเตเดเต เดชเตเดเตเด (เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดเตเดเตพ) เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด Auth0 เด เดเดเตเดเดพเดฐเด. เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเดจเต เดถเตเดทเด, เดชเตเดเตเด เด เดเดเตเดเดพเดฐ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด, เด เดตเดฟเดเต - เดฎเตเดเดณเดฟเตฝ เดตเดฒเดคเตเดญเดพเดเดคเตเดคเต เดเตเดฒเดฟเดเตเดเตเดเตเดฏเตโเดคเต เดเดเดฟเดคเดฎเดพเดฏ เดฎเตเดจเต เดเดชเตเดทเตป เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดคเต เดตเดพเดเดเดเตเดเดพเดฐเดจเตเดฑเต เดเตเตบเดซเดฟเดเดฑเตเดทเดจเดฟเดฒเตเดเตเดเต (เดเตเดพเตบเดซเดฟเดเดฑเตเดทเตป). เดเตเดฐเตเดชเตเดชเตเดเตพ เดธเดเตเดตเดฎเดพเดเตเดเตเด (เดเตเดฐเตเดชเตเดชเตเดเตพ) เดเตเดเดพเดคเต เดชเดฌเตเดฒเดฟเดทเต เดฑเตเตพ เดฌเดเตเดเดฃเดฟเตฝ เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเด (เดจเดฟเดฏเดฎเด เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเตเด).
เดเตเดฐเตเดชเตเดชเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดเดคเดฑเตเดธเตเดทเตป เดเดเตเดธเตเดฑเตเดฑเตปเดทเดจเดฟเตฝ เดชเตเดเตเด เดเตเดฐเตเดชเตเดชเตเดเตพ เดเดชเตเดชเด เดเดฐเต เดเตเดฐเตเดชเตเดชเต เดเดฃเตเดเดพเดเตเดเตเด เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผ. เดเดฒเตเดฒเดพ เดเดงเดฟเดเดพเดฐเดฟเด เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเดฏเตเด เดเดเตเดเตพ เดธเดพเดงเดพเดฐเดฃ เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเดพเดฏเดฟ เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เด เดตเตผเดเตเดเดพเดฏเดฟ เดเดฐเต เด เดงเดฟเด เดเตเดฐเตเดชเตเดชเต เดธเตเดทเตเดเดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.
เดเดฐเต เดเตเดฐเตเดชเตเดชเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผ, เด เดฎเตผเดคเตเดคเตเด เด เดเดเดเตเดเดณเต เดเตเตผเดเตเดเตเด, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเดงเดพเดจ เด เดเตเดเตเดฃเตเดเต เดเตเตผเดเตเดเตเด. เดเดฟเดฒ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดเดเตโเดธเดธเตเดธเต เดจเดฟเดทเตเดงเดฟเดเตเดเดชเตเดชเตเดเตเดเตเดตเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเดพเตป เดเดฐเต เดเตเดฐเตเดชเตเดชเตเด เดเดฒเตเดฒเดพเดคเต เด เดตเดฐเต เดตเดฟเดเตเด. (เดชเตเดคเดฟเดฏ เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต เดเดคเตเดตเดดเดฟ เดธเตเดตเดฎเตเดงเดฏเดพ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด Auth0 เดชเตเตผเดเตเดเตฝ > เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ > เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดธเตเดทเตเดเดฟเดเตเดเตเด.)
เดเดเตโเดธเดธเต เดเตเดเตเดเดฃเดฟเดฒเตเดเตเดเต เดเตเดฐเตเดชเตเดชเต เดเตเดฒเตเดฏเดฟเด เดเตเตผเดเตเดเตเด
เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต เดเตเดฐเตเดชเตเดชเตเดเดณเดฟเดฒเตเดเตเดเต เดเตเตผเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เด เดตเดฟเดตเดฐเดเตเดเตพ เดเดเตเดธเดธเต เดเตเดเตเดเดฃเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดคเดฟเดซเดฒเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดฃเด. OpenID Connect เด
เดจเตเดธเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เด
เดคเต เดธเดฎเดฏเด เดเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดเตเดฐเตเดชเตเดชเตเดเตพ เดคเดฟเดฐเดฟเดเต เดจเตฝเดเตเดจเตเดจเดคเดฟเดจเตเด, เดเตเดเตเดเตบ เด
เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต
เดเดฐเต เดจเดฟเดฏเดฎเด เดธเตเดทเตเดเดฟเดเตเดเดพเตป, Auth0 เดชเตเตผเดเตเดเดฒเดฟเดฒเตเดเตเดเต เดชเตเดเตเด เดจเดฟเดฏเดฎเดเตเดเตพ, เด เดฎเตผเดคเตเดคเตเด เดจเดฟเดฏเดฎเด เดธเตเดทเตเดเดฟเดเตเดเตเด เดเตเดเดพเดคเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดถเตเดจเตเดฏเดฎเดพเดฏ เดจเดฟเดฏเดฎเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด.
เดเตเดตเดเตเดฏเตเดณเตเดณ เดเตเดกเต เดชเดเตผเดคเตเดคเดฟ เดเดฐเต เดชเตเดคเดฟเดฏ เดจเดฟเดฏเดฎเดฎเดพเดฏเดฟ เดธเดเดฐเดเตเดทเดฟเดเตเดเตเด เดเตเดฐเตเดชเตเดชเต เดเตเดฒเตเดฏเดฟเด เดเตเตผเดเตเดเตเด (
function (user, context, callback) {
context.accessToken['https://sa.io/group'] = user.groups[0];
return callback(null, user, context);
}
เด เดญเดฟเดชเดพเดฏเดชเตเดชเตเดเตเด: เด เดเตเดกเต เดเดคเดฑเตเดธเตเดทเตป เดเดเตเดธเตเดฑเตเดฑเตปเดทเดจเดฟเตฝ เดจเดฟเตผเดตเดเดฟเดเตเดเดฟเดเตเดเตเดณเตเดณ เดเดฆเตเดฏเดคเตเดคเต เดเดชเดฏเตเดเตเดคเต เดเตเดฐเตเดชเตเดชเดฟเดจเต เดเดเตเดเตเดเตเดเดฏเตเด เดเดฐเต เดเดทเตโเดเดพเดจเตเดธเตเดค เดเตเดฒเตเดฏเดฟเด เดเดฏเดฟ เดเดเตโเดธเดธเต เดเตเดเตเดเดฃเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต (เด เดคเดฟเดจเตเดฑเต เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเดฟเดจเต เดเตเดดเดฟเตฝ, Auth0 เดเดตเดถเตเดฏเดชเตเดชเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต).
เดชเตเดเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเด เดจเดฟเดฏเดฎเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเดฐเดฎเดคเตเดคเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดฐเดฃเตเดเต เดจเดฟเดฏเดฎเดเตเดเตพ เดเดดเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
- auth0-authorization-extension
- เดเตเดฐเตเดชเตเดชเต เดเตเดฒเตเดฏเดฟเด เดเตเตผเดเตเดเตเด
เดเตเดฐเตเดชเตเดชเต เดซเตเตฝเดกเดฟเดจเต เดฑเตเตพ เด เดธเดฎเดจเตเดตเดฟเดคเดฎเดพเดฏเดฟ เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ เดเตผเดกเตผ เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต auth0-authorization-extension เด เดคเดฟเดจเต เดถเตเดทเด เด เดคเต เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดจเดฟเดฏเดฎเด เดตเดดเดฟ เดเดฐเต เดเตเดฒเตเดฏเดฟเด เดเดฏเดฟ เดเตเตผเดเตเดเตเดจเตเดจเต. เดซเดฒเด เดเดคเตเดชเตเดฒเตเดณเตเดณ เดเดฐเต เดเดเตเดธเดธเต เดเตเดเตเดเตบ เดเดฃเต:
{
"https://sa.io/group": "Moderators",
"iss": "https://sentiment-analysis.eu.auth0.com/",
"sub": "google-oauth2|196405271625531691872"
// [ัะพะบัะฐัะตะฝะพ ะดะปั ะฝะฐะณะปัะดะฝะพััะธ]
}
เดเดชเตเดชเตเตพ เดจเดฟเดเตเดเตพ เดเดชเดฏเตเดเตเดคเต เดเดเตโเดธเดธเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเตป เดเตปเดตเตเดฏเต เดชเตเดฐเตเดเตโเดธเดฟ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต, เด
เดคเดฟเดจเดพเดฏเดฟ เดเตเดฐเตเดชเตเดชเดฟเดจเต เดเตเดฒเตเดฏเดฟเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟเตปเดตเดฒเดฟเดเตเดเตเด (https://sa.io/group
) เดคเดฟเดฐเดฟเดเตเดเตเดคเตเดคเดฟเดฏ เดเดเตเดธเดธเต เดเตเดเตเดเดฃเดฟเตฝ. เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เด
เดเตเดคเตเดค เดญเดพเดเดคเตเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดทเดฏเด เดเดคเดพเดฃเต.
เดเดธเตเดคเดฟเดฏเตเดฏเดฟเดฒเต เดเดคเดฑเตเดธเตเดทเตป เดเตเตบเดซเดฟเดเดฑเตเดทเตป
เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเดจเตเดณเตเดณ เด เดเดเตเดเดพเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดจเดฟเดเตเดเตพ เดเดธเตเดฑเตเดฑเดฟเดฏเตเดฏเตโเดเตเดเดพเดฏเดฟ RBAC เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดฃเด. เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด:
apiVersion: "rbac.istio.io/v1alpha1"
kind: RbacConfig
metadata:
name: default
spec:
mode: 'ON_WITH_INCLUSION' # 1
inclusion:
services: # 2
- "sa-frontend.default.svc.cluster.local"
- "sa-web-app.default.svc.cluster.local"
- "sa-feedback.default.svc.cluster.local"
เดตเดฟเดถเดฆเตเดเดฐเดฃเด:
- 1 โ เดซเตเตฝเดกเดฟเตฝ เดฒเดฟเดธเตโเดฑเตเดฑเต เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดธเตเดตเดจเดเตเดเตพเดเตเดเตเด เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเตเดเตพเดเตเดเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเด RBAC เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเตเด
Inclusion
; - 2 - เดเดเตเดเดณเตเดเต เดธเตเดตเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเตเดเตพ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฎเตเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดชเตเดฐเดฏเตเดเดฟเดเตเดเดพเด:
$ kubectl apply -f resource-manifests/istio/security/enable-rbac.yaml
rbacconfig.rbac.istio.io/default created
เดเดฒเตเดฒเดพ เดธเตเดตเดจเดเตเดเตพเดเตเดเตเด เดเดชเตเดชเตเตพ เดฑเตเตพ-เดฌเตเดธเตเดกเต เดเดเตโเดธเดธเต เดเตบเดเตเดฐเตเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต. เดฎเดฑเตเดฑเตเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดเตเดเดพเตฝ, เดเดฒเตเดฒเดพ เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดชเตเดฐเดตเตเดถเดจเด เดจเดฟเดฐเตเดงเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเต เดชเตเดฐเดคเดฟเดเดฐเดฃเดคเตเดคเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดเตเด RBAC: access denied
. เดเดจเดฟ เด
เดเดเตเดเตเดค เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดเดเตเดธเดธเต เด
เดจเตเดตเดฆเดฟเดเตเดเดพเด.
เดธเดพเดงเดพเดฐเดฃ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเตเดณเตเดณ เดเดเตเดธเดธเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป
เดเดฒเตเดฒเดพ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเตเด SA-Frontend, SA-WebApp เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเตเดธเดธเต เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด. เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดธเตเดฑเตเดฑเดฟเดฏเต เดเดฑเดตเดฟเดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟ:
- เดธเตผเดตเตเดธเต เดฑเตเตพ - เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดเดณเตเดณ เด เดตเดเดพเดถเดเตเดเตพ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต;
- เดธเตผเดตเตเดธเต เดฑเตเตพ เดฌเตเตปเดกเดฟเดเดเต - เด เดธเตผเดตเตเดธเต เดฑเตเตพ เดเดฐเตเดเตเดคเดพเดฃเตเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต.
เดธเดพเดงเดพเดฐเดฃ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดเดเตเดเตพ เดเดฟเดฒ เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเตเดธเดธเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเด (
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRole
metadata:
name: regular-user
namespace: default
spec:
rules:
- services:
- "sa-frontend.default.svc.cluster.local"
- "sa-web-app.default.svc.cluster.local"
paths: ["*"]
methods: ["*"]
เดชเดฟเดจเตเดจเต regular-user-binding
เดเดฒเตเดฒเดพ เดชเตเดเต เดธเดจเตเดฆเตผเดถเดเตผเดเตเดเตเด ServiceRole เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเด (
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRoleBinding
metadata:
name: regular-user-binding
namespace: default
spec:
subjects:
- user: "*"
roleRef:
kind: ServiceRole
name: "regular-user"
"เดเดฒเตเดฒเดพ เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเด" เดเดจเตเดจเดคเดฟเดจเตผเดคเตเดฅเด, เดเดงเดฟเดเดพเดฐเดฟเดเดคเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเตเด SA WebApp-เดฒเตเดเตเดเต เดเดเตโเดธเดธเต เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเดพเดฃเต? เดเดฒเตเดฒ, JWT เดเตเดเตเดเดฃเดฟเดจเตเดฑเต เดธเดพเดงเตเดค เดชเตเดณเดฟเดธเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด.
เดจเดฎเตเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเตพ เดชเตเดฐเดฏเตเดเดฟเดเตเดเดพเด:
$ kubectl apply -f resource-manifests/istio/security/user-role.yaml
servicerole.rbac.istio.io/regular-user created
servicerolebinding.rbac.istio.io/regular-user-binding created
เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผเดเตเดเตเดณเตเดณ เดเดเตโเดธเดธเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป
เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผเดเตเดเดพเดฏเดฟ, เดเดฒเตเดฒเดพ เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดเดเตโเดธเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต (
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRole
metadata:
name: mod-user
namespace: default
spec:
rules:
- services: ["*"]
paths: ["*"]
methods: ["*"]
เดเดจเตเดจเดพเตฝ เดเดเตโเดธเดธเต เดเตเดเตเดเดฃเดฟเตฝ เดเตเดฒเตเดฏเดฟเด เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดฎเดพเดคเตเดฐเดฎเต เดเดเตเดเตพเดเตเดเต เด
เดคเตเดคเดฐเด เด
เดตเดเดพเดถเดเตเดเตพ เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต https://sa.io/group
เด
เตผเดคเตเดฅเด เดเตเดฃเตเดเต Moderators
(
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRoleBinding
metadata:
name: mod-user-binding
namespace: default
spec:
subjects:
- properties:
request.auth.claims[https://sa.io/group]: "Moderators"
roleRef:
kind: ServiceRole
name: "mod-user"
เดจเดฎเตเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเตพ เดชเตเดฐเดฏเตเดเดฟเดเตเดเดพเด:
$ kubectl apply -f resource-manifests/istio/security/mod-role.yaml
servicerole.rbac.istio.io/mod-user created
servicerolebinding.rbac.istio.io/mod-user-binding created
เดฆเตเดคเดจเตเดฎเดพเดฐเดฟเตฝ เดเดพเดทเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เด เดเดเตเดเดพเดฐ เดจเดฟเดฏเดฎเดเตเดเตพ เดชเตเดฐเดพเดฌเดฒเตเดฏเดคเตเดคเดฟเตฝ เดตเดฐเดพเตป เดเตเดฑเดเตเดเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดเดเตเดคเตเดคเตเดเตเดเดพเด. เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเตเด เดฎเตเดกเดฑเตเดฑเตเดฑเตผเดฎเดพเตผเดเตเดเตเด เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเดเตโเดธเดธเต เดเดฃเตเดเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฑเดชเตเดชเดพเดเตเดเดพเดจเดพเดเตเด.
เด เดญเดพเดเดคเตเดคเต เดจเดฟเดเดฎเดจเด
เดเตเดฐเดตเดฎเดพเดฏเดฟ เดชเดฑเดเตเดเดพเดฒเตเด, เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเด เด เดเดเตเดเดพเดฐเดคเตเดคเดฟเดจเตเดฎเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด เด เดจเดพเดฏเดพเดธเดตเตเด เด เดณเดเตเดเดพเดตเตเดจเตเดจเดคเตเด เดธเตเดฐเดเตเดทเดฟเดคเดตเตเดฎเดพเดฏ เดเดฐเต เดธเดฎเตเดชเดจเด เดจเดฟเดเตเดเตพ เดเดชเตเดชเตเดดเตเดเตเดเดฟเดฒเตเด เดเดฃเตเดเดฟเดเตเดเตเดฃเตเดเต?
เดธเตเดตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เด เดจเตเดคเดฟเดฎ เดเดชเดฏเตเดเตเดคเต เดเดเตโเดธเดธเตเดธเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเด เด เดเดเตเดเดพเดฐเดคเตเดคเดฟเดจเตเด เดฎเตเตฝ เดธเตเดเตเดทเตเดฎเดฎเดพเดฏ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด เดจเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดจเตเดจเต เดเดธเตเดฑเตเดฑเดฟเดฏเต เดเดฑเดตเดฟเดเดเตเดเตพ (RbacConfig, ServiceRole, เดเตเดเดพเดคเต ServiceRoleBinding) เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต.
เดเตเดเดพเดคเต, เดเดเตเดเดณเตเดเต เดฆเตเดคเตป เดธเตเดตเดจเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด เดชเตเดฐเดถเตโเดจเดเตเดเตพ เดเดเตเดเตพ เดถเตเดฐเดฆเตเดงเดฟเดเตเดเต, เดจเตเดเดฟเดฏเดคเต:
- เดธเตเดฐเดเตเดทเดพ เดชเตเดฐเดถเตโเดจเดเตเดเดณเตเด เดฌเดเตเดเดณเตเด เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดจเดฑเดฟเดเต เดเตเดกเดฟเดจเตเดฑเต เด เดณเดตเต เดเตเดฑเดฏเตเดเตเดเตเด;
- เดเดฐเต เดเตปเดกเตโเดชเตเดฏเดฟเดจเตเดฑเต เดชเตเดฑเดคเตเดคเต เดจเดฟเดจเตเดจเต เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเดตเตเดจเตเดจเดคเตเด เด เดคเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดฎเดฑเดจเตเดจเดคเตเดฎเดพเดฏ เดฎเดฃเตเดเดคเตเดคเดฐเดฎเดพเดฏ เดธเดพเดนเดเดฐเตเดฏเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเตเดฑเดฏเตเดเตเดเตเดจเตเดจเต;
- เดเดฐเต เดคเดตเดฃเดฏเตเด เดเดฐเต เดชเตเดคเดฟเดฏ เดฑเตเตพ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด เดตเดเดพเดถเด เดเตเตผเดเตเดเตเดฎเตเดชเตเตพ เดเดฒเตเดฒเดพ เดธเตเดตเดจเดเตเดเดณเตเด เด เดชเตเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเดฟเดจเตเดฑเต เดเดตเดถเตเดฏเดเดค เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต;
- เดชเตเดคเดฟเดฏ เดธเตเดตเดจเดเตเดเตพ เดฒเดณเดฟเดคเดตเตเด เดธเตเดฐเดเตเดทเดฟเดคเดตเตเด เดตเตเดเดคเดฏเตเดฎเตเดณเตเดณเดคเดพเดฏเดฟ เดคเตเดเดฐเตเดจเตเดจเต.
เดคเตเดฐเตเดฎเดพเดจเด
เดธเตเดตเดจเดเตเดเตพเดเตเดเต เดเดตเตผเดนเตเดกเต เดเตเตผเดเตเดเดพเดคเต, เดฎเตเดเตเดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเดฟเดฒเตเดเตเดเต เดชเตเดจเดเดธเตเดฅเดพเดชเดฟเดเตเดเดพเดคเต, เดฌเดฟเดธเดฟเดจเดธเต-เดจเดฟเตผเดฃเตเดฃเดพเดฏเดเดฎเดพเดฏ เดเตเดฒเดฟเดเดณเดฟเตฝ เดคเดเตเดเดณเตเดเต เดตเดฟเดญเดตเดเตเดเตพ เดเตเดจเตเดฆเตเดฐเตเดเดฐเดฟเดเตเดเดพเตป เดเตเดฎเตเดเดณเต เดเดธเตเดคเดฟเดฏเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดฒเตเดเดจเด (เดฎเตเดจเตเดจเต เดญเดพเดเดเตเดเดณเดพเดฏเดฟ) เดฏเดฅเดพเตผเดคเตเดฅ เดชเดฆเตเดงเดคเดฟเดเดณเดฟเตฝ เดเดธเตเดคเดฟเดฏเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด เดเดฟเดธเตเดฅเดพเดจ เด เดฑเดฟเดตเตเด เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดชเตเดฐเดพเดฏเตเดเดฟเด เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเดณเตเด เดจเตฝเดเดฟ.
เดตเดฟเดตเตผเดคเตเดคเดเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟ.เดเดธเต
เดเดเตเดเดณเตเดเต เดฌเตเดฒเตเดเดฟเดฒเตเด เดตเดพเดฏเดฟเดเตเดเตเด:
- "เดเดธเตเดฑเตเดฑเดฟเดฏเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเตเดเตเดฐเตเดธเตผเดตเตเดธเตเดเดณเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเด":
เดญเดพเดเด 1 (เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเตเดทเดคเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฎเตเดเด) ,เดญเดพเดเด 2 (เดฑเตเดเตเดเดฟเดเดเต, เดเตเดฐเดพเดซเดฟเดเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด) ; - ยซ
เดเดพเดฒเดเด - เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เดฒเตเดฑเตเดฑเตเดตเตเดฏเตเดฑเตเดฑเต เดธเตผเดตเตเดธเต เดฎเตเดทเต "; - ยซ
เดเดจเตเดคเดพเดฃเต เดเดฐเต เดธเตผเดตเตเดธเต เดฎเตเดทเต, เดเดจเตเดคเตเดเตเดฃเตเดเต เดเดจเดฟเดเตเดเต เดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต [เดฎเตเดเตเดฐเต เดธเตผเดตเตเดธเตเดเดณเตเดณเตเดณ เดเดฐเต เดเตเดฒเตเดกเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต]? ".
เด เดตเดฒเดเดฌเด: www.habr.com