18.13. マッパーの追加

ハードコーディングされたロールの LDAP マッパーの追加

  1. components エンドポイントで create コマンドを実行します。
  2. providerType 属性を org.keycloak.storage.ldap.mappers.LDAPStorageMapper に設定します。
  3. parentId 属性を LDAP プロバイダーインスタンスの ID に設定します。
  4. providerId 属性を hardcoded-ldap-role-mapper に設定します。role 設定パラメーターの値を指定するようにしてください。

    以下に例を示します。

    $ kcadm.sh create components -r demorealm -s name=hardcoded-ldap-role-mapper -s providerId=hardcoded-ldap-role-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config.role=["realm-management.create-client"]'

MS Active Directory マッパーの追加

  1. components エンドポイントで create コマンドを実行します。
  2. providerType 属性を org.keycloak.storage.ldap.mappers.LDAPStorageMapper に設定します。
  3. parentId 属性を LDAP プロバイダーインスタンスの ID に設定します。
  4. providerId 属性を msad-user-account-control-mapper に設定します。

    以下に例を示します。

    $ kcadm.sh create components -r demorealm -s name=msad-user-account-control-mapper -s providerId=msad-user-account-control-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea

ユーザー属性 LDAP マッパーの追加

  1. components エンドポイントで create コマンドを実行します。
  2. providerType 属性を org.keycloak.storage.ldap.mappers.LDAPStorageMapper に設定します。
  3. parentId 属性を LDAP プロバイダーインスタンスの ID に設定します。
  4. providerId 属性を user-attribute-ldap-mapper に設定します。

    以下に例を示します。

    $ kcadm.sh create components -r demorealm -s name=user-attribute-ldap-mapper -s providerId=user-attribute-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."user.model.attribute"=["email"]' -s 'config."ldap.attribute"=["mail"]' -s 'config."read.only"=["false"]' -s 'config."always.read.value.from.ldap"=["false"]' -s 'config."is.mandatory.in.ldap"=["false"]'

グループの LDAP マッパーの追加

  1. components エンドポイントで create コマンドを実行します。
  2. providerType 属性を org.keycloak.storage.ldap.mappers.LDAPStorageMapper に設定します。
  3. parentId 属性を LDAP プロバイダーインスタンスの ID に設定します。
  4. providerId 属性を group-ldap-mapper に設定します。

    以下に例を示します。

    $ kcadm.sh create components -r demorealm -s name=group-ldap-mapper -s providerId=group-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."groups.dn"=[]' -s 'config."group.name.ldap.attribute"=["cn"]' -s 'config."group.object.classes"=["groupOfNames"]' -s 'config."preserve.group.inheritance"=["true"]' -s 'config."membership.ldap.attribute"=["member"]' -s 'config."membership.attribute.type"=["DN"]' -s 'config."groups.ldap.filter"=[]' -s 'config.mode=["LDAP_ONLY"]' -s 'config."user.roles.retrieve.strategy"=["LOAD_GROUPS_BY_MEMBER_ATTRIBUTE"]' -s 'config."mapped.group.attributes"=["admins-group"]' -s 'config."drop.non.existing.groups.during.sync"=["false"]' -s 'config.roles=["admins"]' -s 'config.groups=["admins-group"]' -s 'config.group=[]' -s 'config.preserve=["true"]' -s 'config.membership=["member"]'

フルネームの LDAP マッパーの追加

  1. components エンドポイントで create コマンドを実行します。
  2. providerType 属性を org.keycloak.storage.ldap.mappers.LDAPStorageMapper に設定します。
  3. parentId 属性を LDAP プロバイダーインスタンスの ID に設定します。
  4. providerId 属性を full-name-ldap-mapper に設定します。

    以下に例を示します。

    $ kcadm.sh create components -r demorealm -s name=full-name-ldap-mapper -s providerId=full-name-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."ldap.full.name.attribute"=["cn"]' -s 'config."read.only"=["false"]' -s 'config."write.only"=["true"]'