备考ICA----Istio实验16---HTTP流量授权

备考ICA----Istio实验16—HTTP流量授权

1. 环境准备

kubectl apply -f istio/samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f istio/samples/bookinfo/networking/bookinfo-gateway.yaml

访问测试

curl -I http://192.168.126.220/productpage

在这里插入图片描述

2. 开启mtls

mtls/mtls-default.yaml

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

部署生效

kubectl apply -f mtls/mtls-default.yaml

3. 拒绝请求

default名称空间,拒绝所有请求

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: denial-all
  namespace: default

配置生效

kubectl apply -f mtls/allow-nothing.yaml

访问测试

curl -I http://192.168.126.220/productpage

在这里插入图片描述

此时访问被拒绝.返回码403

4. 允许请求

4.1 productpage允许请求

允许以get方式访问productpage
auth/productpage-viewer.yaml

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: productpage-viewer
  namespace: default
spec:
  selector:
    matchLabels:
      app: productpage
  action: ALLOW
  rules:
  - to:
    - operation:
        methods: ["GET"]

部署生效

kubectl apply -f auth/productpage-viewer.yaml 

访问测试
在这里插入图片描述

4.2 details允许请求

创建details-viewer允许从productpage访问到details
auth/details-viewer.yaml

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: details-viewer
  namespace: default
spec:
  selector:
    matchLabels:
      app: details
  action: ALLOW
  rules:
  - from:
    - source:
        principals: ["cluster.local/ns/default/sa/bookinfo-productpage"]
    to:
    - operation:
        methods: ["GET"]

部署生效

kubectl apply  -f auth/details-viewer.yaml

浏览器再次访问
在这里插入图片描述

4.3 reviews允许请求

创建reviews-viewer允许从productpage访问到reviews
auth/reviews-viewer.yaml

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: reviews-viewer
  namespace: default
spec:
  selector:
    matchLabels:
      app: reviews
  action: ALLOW
  rules:
  - from:
    - source:
        principals: ["cluster.local/ns/default/sa/bookinfo-productpage"]
    to:
    - operation:
        methods: ["GET"]

部署生效

kubectl apply -f auth/reviews-viewer.yaml

此时reviews已经可以正常显示,但ratings还是有问题.
在这里插入图片描述

4.4 ratings允许请求

创建ratings-viewer允许从productpage访问到ratings
auth/ratings-viewer.yaml

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: ratings-viewer
  namespace: default
spec:
  selector:
    matchLabels:
      app: ratings
  action: ALLOW
  rules:
  - from:
    - source:
        principals: ["cluster.local/ns/default/sa/bookinfo-reviews"]
    to:
    - operation:
        methods: ["GET"]

部署生效

kubectl apply -f auth/ratings-viewer.yaml

再次访问,现在所有页面都能正常展示了
在这里插入图片描述
至此备考ICA----Istio实验16—HTTP流量授权实验完成

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 05:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 05:42:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 05:42:02       82 阅读
  4. Python语言-面向对象

    2024-04-03 05:42:02       91 阅读

热门阅读

  1. 常见docker使用命令

    2024-04-03 05:42:02       31 阅读
  2. 软件设计原则:依赖倒置

    2024-04-03 05:42:02       36 阅读
  3. 【前端推荐】node.js有哪些命令

    2024-04-03 05:42:02       29 阅读
  4. 谈谈SSH整合--一起学习吧之系统架构

    2024-04-03 05:42:02       39 阅读
  5. C++11:非常完美的完美转发以及新的类功能

    2024-04-03 05:42:02       35 阅读
  6. 计算机网络-文件读写——沐雨先生

    2024-04-03 05:42:02       32 阅读
  7. docker 安装elasticsearch密码配置

    2024-04-03 05:42:02       31 阅读
  8. HTTP/2 牛逼在哪?(计算机网络)

    2024-04-03 05:42:02       40 阅读
  9. 【element】常用 El-Form 自定义表单校验规则实战

    2024-04-03 05:42:02       36 阅读
  10. 洛谷 P2658 汽车拉力比赛

    2024-04-03 05:42:02       36 阅读
  11. 解释Python中的HTTP请求和响应

    2024-04-03 05:42:02       40 阅读
  12. 【C语言数据库】Sqlite3基础介绍

    2024-04-03 05:42:02       37 阅读