VK Cloud logo

Keycloak-пен интеграция

Keycloak — бұл сәйкестендіру және қолжетімділікті басқару жүйесі. Сіз Keycloak-ты Cloud Desktop сервисінде SAML куәлік жеткізушісі ретінде пайдалана аласыз.

Төменде Keycloak-ты Cloud Desktop сервисімен жұмысқа қалай дайындау көрсетілген.

Дайындық қадамдары

  1. Ресми құжаттамадағы нұсқауларға сәйкес Keycloak орнатыңыз.

  2. Keycloak әкімші консолінде авторизациялаңыз.

  3. Жаңа рилм (realm) жасаңыз.

    1. Сол жақ бүйірлік мәзірде рилмдер тізімін ашып, Create realm түймесін басыңыз.
    2. Realm name өрісінде жаңа рилмнің атын беріп, Create түймесін басыңыз.

1. LDAP-провайдерді қосып, баптаңыз

  1. Бүйірлік мәзірде User federation бөліміне өтіңіз.

  2. Add Ldap providers түймесін басыңыз.

  3. General options блогында Vendor параметрі үшін Active Directory мәнін таңдаңыз.

  4. Connection and authentication settings блогында келесі баптауларды орындаңыз:

    1. LDAP-серверіңізге қосылу үшін Connection URL көрсетіңіз, мысалы ldap://125.125.125.125:389.
    2. Қосылымды тексеру үшін Test connection түймесін басыңыз.
    3. Bind type параметрі үшін simple мәнін қалдырыңыз.
    4. Bind DN өрісінде AD-ны оқу құқықтары бар есептік жазбаның ерекшеленетін атын (DN) көрсетіңіз, мысалы CN=ServiceUser,CN=Users,DC=test,DC=local. Keycloak осы есептік жазбаны LDAP-серверіңізге қол жеткізу үшін пайдаланады.
    5. Bind credentials өрісінде есептік жазбаның құпиясөзін көрсетіңіз.
    6. LDAP-серверге қолжетімділікті тексеру үшін Test authentication түймесін басыңыз.
  5. LDAP searching and updating блогында параметр мәндерін орнатыңыз:

    • Edit mode: READ_ONLY.
    • Users DN: AD-та пайдаланушылардың есептік жазбаларын іздеу жолын көрсетіңіз, мысалы CN=users,DC=rcad3,DC=local.
    • Username LDAP attribute: sAMAccountName.
    • RDN LDAP attribute: cn.
    • UUID LDAP attribute: objectGUID.
    • User object classes: person, organizationalPerson, user.
    • User LDAP filter: өрісті бос қалдырыңыз.
    • Search scope: Subtree.
    • Read timeout: өрісті бос қалдырыңыз.
    • Pagination: Off.
    • Referral: таңдалмаған.
  6. Synchronization settings блогында параметр мәндерін орнатыңыз:

    • Import users: On.
    • Sync Registrations: On.
    • Batch size: өрісті бос қалдырыңыз.
    • Periodic full sync: On.
    • Periodic changed users sync: On.
  7. Kerberos integration блогында барлық параметр үшін Off мәнін таңдаңыз.

  8. Cache settings блогында Cache policy параметрі үшін DEFAULT мәнін қалдырыңыз.

  9. Advanced settings блогында барлық параметр үшін Off мәнін таңдаңыз.

  10. Баптауларды сақтаңыз.

2. Мапперлерді (mapper) баптаңыз

  1. User federation бөлімінде жасалған LDAP-провайдердің атауын басып, Mappers қойындысына өтіңіз.

  2. Add mapper түймесін басыңыз.

  3. Жаңа маппердің атын беріп, тізімнен group-ldap-mapper түрін таңдаңыз.

  4. Маппер параметрлерін орнатыңыз:

    • LDAP Groups DN: AD-та топтарды іздеу жолын көрсетіңіз, мысалы CN=Groups,DC=test,DC=local.
    • Group Name LDAP Attribute: samaccountname.
    • Group Object Classes: group.
    • Preserve Group Inheritance: Off.
    • Ignore Missing Groups: Off.
    • Membership LDAP Attribute: member.
    • Membership Attribute Type: DN.
    • Membership User LDAP Attribute: sAMAccountName.
    • Mode: READ_ONLY.
    • User Groups Retrieve Strategy: LOAD_GROUPS_BY_MEMBER_ATTRIBUTE.
    • Member-Of LDAP Attribute: memberOf.
    • Drop non-existing groups during sync: Off.
    • Groups Path: /.
  5. Баптауларды сақтаңыз.

  6. Add mapper түймесін басыңыз.

  7. Жаңа маппердің атын беріп, тізімнен user-attribute-ldap-mapper түрін таңдаңыз.

  8. Маппер параметрлерін орнатыңыз:

    • User Model Attribute: username.
    • LDAP Attribute: cn.
    • Read Only: On.
    • Always Read Value From LDAP: Off.
    • Is Mandatory In LDAP: Off.
    • Force a Default Value: Off.
    • Is Binary Attribute: Off.
  9. Баптауларды сақтаңыз.

  10. Бұрын жасалған group-ldap-mapper түріндегі маппер атауын басыңыз.

  11. Action тізімінен Sync LDAP groups to Keycloak тармағын таңдаңыз.

  12. Бүйірлік мәзірде Groups бөліміне өтіп, топтар жүктелгеніне және пайдаланушыларды қамтитынына көз жеткізіңіз.

3. Keycloak үшін клиент жасаңыз

  1. Бүйірлік мәзірде Clients бөліміне өтіңіз.

  2. Create client түймесін басып, параметрлерді орнатыңыз:

    • Client type: SAML.
    • Client ID: SAML аутентификация сервисіндегі қолданбаңыздың бірегей идентификаторын көрсетіңіз.
    • Name, Description: өрістерді бос қалдырыңыз.
    • Always display in UI: Off.
  3. Next түймесін басыңыз.

  4. Valid redirect URIs параметрі үшін * мәнін көрсетіңіз, қалған өрістерді бос қалдырыңыз.

  5. Баптауларды сақтаңыз.

4. Клиент үшін мапперлерді баптаңыз

  1. Жасалған клиент бетінде Keys қойындысына өтіңіз.

  2. Client signature required параметрі үшін Off мәнін орнатыңыз.

  3. Client scopes қойындысына өтіңіз.

  4. Тізімде атауына -dedicated постфиксі қосылған жасалған клиенттің атын басыңыз.

  5. Configure a new mapper түймесін басыңыз.

  6. Group List түймесін басып, параметрлерді орнатыңыз:

    • Name: жаңа маппердің атын беріңіз.
    • Group attribute name: memberOf.
    • SAML Attribute NameFormat: Basic.
    • Single Group Attribute: On.
    • Full group path: Off.
  7. Баптауларды сақтаңыз.

  8. Тағы бір маппер қосу үшін артқа көрсеткіні басыңыз.

  9. Add mapper тізімінен By configuration тармағын таңдаңыз.

  10. User Attribute түймесін басып, параметрлерді орнатыңыз:

    • Name: жаңа маппердің атын беріңіз.
    • User Attribute: LDAP_ID.
    • SAML Attribute Name: ldapUUID.
    • SAML Attribute NameFormat: Basic.
    • Aggregate attribute values: Off.
  11. Баптауларды сақтаңыз.

5. Keycloak баптауын аяқтаңыз

  1. Бүйірлік мәзірде Realm Settings бөліміне өтіңіз.
  2. Require SSL параметрі үшін None мәнін орнатыңыз.
  3. Endpoints блогында SAML 2.0 Identity Provider Metadata сілтемесін көшіріңіз. SAML сервисі арқылы екі факторлы аутентификацияны баптау кезінде оны URL метаданных параметрінің мәні ретінде көрсету керек.
  4. Бүйірлік мәзірде User Federation бөліміне өтіп, жасалған LDAP-провайдердің атын басыңыз.
  5. Action тізімінен Sync all users тармағын таңдаңыз.

Keycloak баптауы аяқталды.