Отображение ролей клиента keycloak на пользователя LDAP

Отображение ролей клиента Keycloak на пользователя LDAP, как назначение ролей управления областью. Можем ли мы назначить роли клиента управления областями для пользователей, импортированных из LDAP в Keycloak. Необходимо внести изменения в файл realm.json, чтобы позволить пользователю LDAP иметь доступ к консоли администратора. (Управление пользователями и просмотр области)

Мы пытаемся настроить федерацию пользователей на основе LDAP, используя импорт realm.json, настроенный с помощью связанной с LDAP конфигурации, но не знаем, какую конфигурацию необходимо выполнить в realm.json для назначения ролей клиента управления областью, таких как view-users., просмотр клиентов и управление-царство

//snippet of realm.json:
{
      "realm": "insight-engine",
      "enabled": true,
      "sslRequired": "external",
      "registrationAllowed": false,
      ...... some more configuration
      "requiredCredentials": [ "password" ],
      "roles" : {
        "realm" : [
        {
          "name": "user",
          "description": "User privileges"
        },
        {
          "name": "admin",
          "description": "Administrator privileges"
        }
        ]
      },
      "scopeMappings": [
      {
        "client": "js-console",
        "roles": ["user"]
      },
      {
        "client": "angular1",
        "roles": ["user"]
      }
      ],
      "clients": [
      {
        "clientId": "js-console",
        "enabled": true,
        "publicClient": true,
        "baseUrl": "/js-console",
        "redirectUris": [
          "/js-console/*"
        ],
        "webOrigins": []
      },
      {
        "clientId": "angular1",
        "enabled": true,
        "publicClient": true,
        "baseUrl": "/",
        "redirectUris": [
          "*"
        ],
        "webOrigins": []
      }
      ],
      "userFederationProviders": [
        {
          "displayName": "ldap",
          "providerName": "ldap",
          "priority": 1,
          "fullSyncPeriod": -1,
          "changedSyncPeriod": -1,
          "config": {
            "pagination" : "true",
            "debug" : "false",
            "searchScope" : "1",
            "connectionPooling" : "true",
            "usersDn" : "ou=People,dc=insight,dc=engine",
            "userObjectClasses" : "inetOrgPerson, organizationalPerson",
            "usernameLDAPAttribute" : "uid",
            "bindDn" : "cn=Administrator,dc=insight,dc=engine",
            "bindCredential" : "Cisco#321",
            "rdnLDAPAttribute" : "uid",
            "vendor" : "other",
            "editMode" : "WRITABLE",
            "uuidLDAPAttribute" : "entryUUID",
            "connectionUrl" : "ldap://ldap-external-service:389",
            "syncRegistrations" : "true",
            "authType" : "simple"
          }
        }
      ],
      "userFederationMappers" : [
        {
          "name" : "username",
          "federationMapperType" : "user-attribute-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "ldap.attribute" : "uid",
            "user.model.attribute" : "username",
            "is.mandatory.in.ldap" : "true",
            "read.only" : "false",
            "always.read.value.from.ldap" : "false"
          }
        },
        {
          "name" : "first name",
          "federationMapperType" : "user-attribute-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "ldap.attribute" : "cn",
            "user.model.attribute" : "firstName",
            "is.mandatory.in.ldap" : "true",
            "read.only" : "false",
            "always.read.value.from.ldap" : "false"
          }
        },
        {
          "name" : "creation date",
          "federationMapperType" : "user-attribute-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "ldap.attribute" : "createTimestamp",
            "user.model.attribute" : "createTimestamp",
            "is.mandatory.in.ldap" : "false",
            "read.only" : "true",
            "always.read.value.from.ldap" : "false"
          }
        },
        {
          "name" : "modify date",
          "federationMapperType" : "user-attribute-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "ldap.attribute" : "modifyTimestamp",
            "user.model.attribute" : "modifyTimestamp",
            "is.mandatory.in.ldap" : "false",
            "read.only" : "true",
            "always.read.value.from.ldap" : "false"
          }
        },
        {
          "name" : "realm roles",
          "federationMapperType" : "role-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "roles.dn" : "ou=RealmRoles,dc=keycloak,dc=org",
            "membership.ldap.attribute" : "member",
            "role.name.ldap.attribute" : "cn",
            "role.object.classes" : "groupOfNames",
            "mode" : "LDAP_ONLY",
            "use.realm.roles.mapping" : "true"
          }
        },
        {
          "name" : "finance roles",
          "federationMapperType" : "role-ldap-mapper",
          "federationProviderDisplayName" : "ldap-apacheds",
          "config" : {
            "roles.dn" : "ou=FinanceRoles,dc=keycloak,dc=org",
            "membership.ldap.attribute" : "member",
            "role.name.ldap.attribute" : "cn",
            "role.object.classes" : "groupOfNames",
            "mode" : "LDAP_ONLY",
            "use.realm.roles.mapping" : "false",
            "client.id" : "finance"
          }
        }
      ],
      "clientScopeMappings": {
        "account": [
        {
          "client": "angular",
          "roles": ["view-profile"]
        }
        ],
        "realm-management": [
        {
          "client": "angular",
          "roles": ["manage-realm", "manage-users", "manage-clients"]
        }
        ]
      }
    }

По сути, требование состоит в том, чтобы при входе в систему клиента с использованием учетных данных LDAP пользователь должен иметь возможность доступа к клиенту управления пользователями и представлениям области (т. Е. К консоли администратора) со стороны клиента.

0 ответов

Другие вопросы по тегам