1

我正在尝试使用 ibm 应用程序身份和访问适配器设置第一个 oidc 和 jwt 令牌,并且在安装完所有内容后它错过了一些东西,我不明白是什么。

版本

Istio 1.5

Kubernetes 1.17

ibm 应用程序 ID:稳定的 helm 存储库

掌舵:3.2

第一步:使用入门部分安装 Istio。

我按照以下步骤操作:https ://istio.io/docs/setup/getting-started/

第二步:ibm app身份和访问适配器

我按照自述文件中的说明进行安装。我只需要更改命令以使用 helm3,就像在 kubernetes 1.17 上一样。

第三步:

添加配置:

# socio-jwt.yaml
apiVersion: "security.cloud.ibm.com/v1"
kind: JwtConfig
metadata:
  name: socio-jwt
  # namespace: default 
  namespace: istio-system # tried with both default and istio-system
spec:
  jwksUrl: https://sso.staging.infra-socotec.net/auth/realms/socotec-user/protocol/openid-connect/certs
# socio-keycloak-oidc.yaml
apiVersion: "security.cloud.ibm.com/v1"
kind: OidcConfig
metadata:
  name: socio-keycloak-oidc
  # namespace: default 
  namespace: istio-system # tried with both default and istio-system
spec:
  discoveryUrl: https://sso.staging.infra-socotec.net/auth/realms/socotec-user/.well-known/openid-configuration
  clientId: 1234-abcd-efgh-4567
  clientSecret: <name-of-my-kube-secret> # I use a real one here of course
  # clientSecretRef:
  #     name: <name-of-my-kube-secret>
  #     key: <key-in-my-kube-secret>
# socio-oidc-policy.yaml
apiVersion: "security.cloud.ibm.com/v1"
kind: Policy
metadata:
  name: socio-oidc-policy
  # namespace: default 
  namespace: istio-system # tried with both default and istio-system
spec:
  targets:
    - serviceName: productpage # internal service name
      paths:
        - prefix: /productpage
          method: ALL
          policies:
            - policyType: oidc
              config: socio-keycloak-oidc

        - prefix: /api/v1
          method: ALL
          policies:
            - policyType: jwt
              config: socio-jwt
    - serviceName: bookinfo # external virtual service name see https://raw.githubusercontent.com/istio/istio/release-1.5/samples/bookinfo/networking/bookinfo-gateway.yaml
      paths:
        - prefix: /productpage
          method: ALL
          policies:
            - policyType: oidc
              config: socio-keycloak-oidc

        - prefix: /api/v1
          method: ALL
          policies:
            - policyType: jwt
              config: socio-jwt

我使用这个命令来添加配置(如果命名空间是 istio-system 我添加了 -n istio-system 选项):

kubectl apply -f istio-yaml/socio-jwt.yaml

kubectl apply -f istio-yaml/socio-keycloak-oidc.yaml

kubectl apply -f istio-yaml/socio-oidc-policy.yaml

全球 Kubernetes 信息:

Kubernetes 全局信息

ibm 应用程序 ID 日志:

日志

我现在有点卡住了。一切似乎都很好,但是当我导航到http://in51aonvlo.lb.c1.gra.k8s.ovh.net/productpagehttp://in51aonvlo.lb.c1.gra.k8s.ovh.net/api/v1/产品没有认证。

我当然想念一些东西,但我需要一些帮助来弄清楚是什么。

4

0 回答 0