通过 Keycloak 进行 Orion API 身份验证

问题描述 投票:0回答:4

我想通过我的 Keycloak IdM 在我的 Orion API 上添加身份验证。 我知道可以将 Orion 与 Pep Proxy Wilma 和 Keyrock 一起使用来完成这项任务,并且可能的解决方法是在此 link(7 年前)上将 keyrock 与 keycloak 集成。

你对此有什么消息或建议吗?

提前谢谢你。

fiware fiware-orion fiware-wilma fiware-keyrock
4个回答
4
投票

有一个(相对较新的)解决方案可用。除了 Wilma,您还可以使用 Kong-API-Gateway 作为带有 FIWARE-PEP-Plugin 的 PEP 代理。这样,身份验证(和授权)可以委托给 Keycloak。您可以在这两个演示文稿中找到更多相关信息:


2
投票

kong.yml
文件是:

_format_version: "2.1"
_transform: true

services:
  - host: "orion_ip"
    name: "orion"
    path: "/v2"
    port: 1026
    protocol: http

    routes:
      - name: orion
        paths:
          - /orion
        strip_path: true

    plugins:
      - name: pep-plugin
        config:
          authorizationendpointtype: Keycloak
          authorizationendpointaddress: https://keycloak_ip
          keycloakrealm: myrealm
          keycloakclientid: clientid
          keycloakclientsecret: clientsecret
          keycloackadditionalclaims:
            "http.fiware-servicepath": "fiware-servicepath"
            "http.fiware-service": "fiware-service"

2
投票

我找到了运行 docker 镜像所需的所有参数(在 powershell 中):

docker run -d --name kong-dbless `
  -v "$(pwd):/kong/declarative/" `
  -e "KONG_DATABASE=off" `
  -e "KONG_DECLARATIVE_CONFIG=/kong/declarative/kong.yml" `
  -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" `
  -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" `
  -e "KONG_PROXY_ERROR_LOG=/dev/stderr" `
  -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" `
  -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" `
  -e KONG_LICENSE_DATA `
  -e "KONG_LOG_LEVEL=info" `
  -e "KONG_PLUGINS=bundled,pep-plugin"  `
  -e "KONG_PLUGINSERVER_NAMES=pep-plugin" `
  -e "KONG_PLUGINSERVER_PEP_PLUGIN_QUERY_CMD=/go-plugins/pep-plugin -dump" `
  -e "KONG_PLUGINSERVER_PEP_PLUGIN_START_CMD=/go-plugins/pep-plugin" `
  -p 8000:8000 `
  -p 8001:8001 `
  quay.io/fiware/kong:0.3.3

-4
投票

我还想通过 Kong 和 KeyCloak(在 OpenShift 上)保护和控制对 Orion 的访问(RBAC)。我还没有找到关于此设置的明确文档。您介意分享您用于执行此基础设施的不同步骤/配置文件吗?

提前致谢。

© www.soinside.com 2019 - 2024. All rights reserved.