Как обезопасить весенний облачный сервер потоков данных с помощью keycloak? - PullRequest
0 голосов
/ 24 октября 2018

Я хочу использовать keycloak в качестве сервера аутентификации и авторизации для защиты сервера потока данных Spring Cloud и управления доступом к его конечным точкам.

Я настроил yml сервера scdf, как описано в документации Spring: http://docs.spring.io/spring-cloud-dataflow/docs/1.7.0.RC1/reference/htmlsingle/#configuration-security-oauth2

В результате аутентификация пользователей, зарегистрированных в keycloak, работает.Но правила авторизации, определенные в keycloak, не применяются.Причина, по-видимому, та, что описана в весенней документации: http://docs.spring.io/spring-cloud-dataflow/docs/1.7.0.RC1/reference/htmlsingle/#configuration-security-oauth2-authorization

У меня есть трудности с "настройкой поведения", упомянутой там.Что именно должно быть сделано?Как мне предоставить другой необходимый боб?Есть ли другое решение для использования keycloak в качестве сервера авторизации для весеннего облачного потока данных?Влияет ли недавний весенний выпуск безопасности 5.1 на эту проблему?

Я борюсь с этим уже некоторое время и буду признателен за любую помощь или обратную связь.Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Если вы хотите настроить глобальные роли безопасности, вам нужно переопределить spring.cloud.dataflow.security.authorization.rules, как определено здесь .

Если вы хотите настроить назначенные роли для каждого вошедшего в систему пользователя,вам нужно будет предоставить свой собственный AuthoritiesExtractor.

. Например: В Cloud Foundry реализации Spring Cloud Data Flow мы выполняем некоторые настройки в отношениидо AuthoritiesExtractor.Пожалуйста, посмотрите на CloudFoundryOAuthSecurityConfiguration .В этой конфигурации настраивается пользовательский CloudFoundryDataflowAuthoritiesExtractor .

0 голосов
/ 16 июля 2019

Я пытаюсь настроить scdf2 с помощью keycloak, но я не знаю, как заставить работать.

Процесс

Как пользователь, я пытаюсь войти в панель управления scdf.

Требуется авторизация, и имеется перенаправление на keycloak.

Я пробовал с разными значениями для redirect-uri: xxxxxx

scdf keycloak login

но, когда я ввел свой логин и пароль в порядке, браузеры запускаются в цикле поиска "/ login"

Где настроить для изменения значений << >> относится клогин:

http://127.0.0.1:8080/auth/realms/scdf/protocol/openid-connect/auth?client_id=scdf_cli&<<http://localhost:9393/login>>> & response_type = code & state = mdsNHe

Я не могу изменить его.нужно ли мне внести некоторые изменения в?

безопасность: авторизация: включено: true loginUrl: "/"

Конфигурация безопасности (Oauth 2):

        security:
          oauth2:
            client:
              client-id: scdf_cli
              client-secret: 271f58e7-a263-408f-aa91-9f6cdc8e78d4
              access-token-uri: http://127.0.0.1:8080/auth/realms/scdf/protocol/openid-connect/token
              user-authorization-uri: http://127.0.0.1:8080/auth/realms/scdf/protocol/openid-connect/auth
              redirect-uri-template: http://localhost:9393/
              redirect-uri: http://localhost:9393/dashboard
            resource:
              user-info-uri: http://127.0.0.1:8080/auth/realms/scdf/protocol/openid-connect/userinfo
              token-info-uri: http://127.0.0.1:8080/oauth/check_token

        spring:
          cloud:
            dataflow:
              security:
                authorization:
                  enabled: true
                  map-oauth-scopes: true
                  loginUrl: "http://localhost:9393/dashboard/#/login"      

      role-mappings:
        ROLE_CREATE: dataflow.create                            
        ROLE_DEPLOY: dataflow.deploy
        ROLE_DESTROY: dataflow.destoy
        ROLE_MANAGE: dataflow.manage
        ROLE_MODIFY: dataflow.modify
        ROLE_SCHEDULE: dataflow.schedule
        ROLE_VIEW: dataflow.view

        logging:
          level:
            root: DEBUG
0 голосов
/ 24 октября 2018

Авторизация Spring Cloud Data Flow обеспечивается конфигурацией, установленной в Свойства авторизации с префиксом spring.cloud.dataflow.security.authorization, как определено в SCDF .

Конфигурация OAuthполучает эту конфигурацию авторизации для применения правил.Я не знаком с правилами Keycloak.Но SCDF допускает только те правила метода на основе HTTP, которые были проверены здесь

Пока в этом заданы действительные правила, они будут применяться в конфигурации авторизации OAuth.

...