2025-10-31 22:36:32 +00:00
|
|
|
---
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | AUDIT | Wait 30 seconds for ldap server to start
|
2025-10-31 22:36:32 +00:00
|
|
|
ansible.builtin.pause:
|
|
|
|
|
seconds: 30
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Create ldap suffix
|
2025-10-31 22:36:32 +00:00
|
|
|
containers.podman.podman_container_exec:
|
|
|
|
|
name: ldap
|
|
|
|
|
argv:
|
|
|
|
|
- dsconf
|
|
|
|
|
- -v
|
|
|
|
|
- localhost
|
|
|
|
|
- backend
|
|
|
|
|
- create
|
|
|
|
|
- --suffix
|
|
|
|
|
- "{{ podman_keycloak_ldap_database_suffix_dn }}"
|
|
|
|
|
- --be-name
|
|
|
|
|
- "{{ podman_keycloak_ldap_database_backend_name }}"
|
|
|
|
|
- --create-suffix
|
|
|
|
|
become: true
|
|
|
|
|
become_user: "{{ podman_keycloak_podman_rootless_user }}"
|
|
|
|
|
register: podman_keycloak_create_suffix
|
|
|
|
|
ignore_errors: true
|
|
|
|
|
changed_when: false
|
|
|
|
|
tags:
|
|
|
|
|
- ldap
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | AUDIT | Create suffix result (only when changed)
|
|
|
|
|
ansible.builtin.debug:
|
2025-10-31 22:36:32 +00:00
|
|
|
msg: "Suffix was created"
|
|
|
|
|
when: not podman_keycloak_create_suffix.failed
|
|
|
|
|
changed_when: not podman_keycloak_create_suffix.failed
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Create OUs
|
2025-10-31 22:36:32 +00:00
|
|
|
community.general.ldap_entry:
|
|
|
|
|
dn: "ou={{ item }},{{ podman_keycloak_ldap_database_suffix_dn }}"
|
|
|
|
|
objectClass:
|
|
|
|
|
- top
|
|
|
|
|
- organizationalUnit
|
|
|
|
|
server_uri: ldaps://{{ inventory_hostname }}/
|
|
|
|
|
bind_dn: "cn=Directory Manager"
|
|
|
|
|
bind_pw: "{{ podman_keycloak_ldap_directory_manager_password }}"
|
|
|
|
|
delegate_to: localhost
|
|
|
|
|
with_items:
|
|
|
|
|
- Administrators
|
|
|
|
|
- People
|
|
|
|
|
- Groups
|
|
|
|
|
environment:
|
2025-11-01 15:07:36 +00:00
|
|
|
LDAPTLS_REQCERT: "{% if podman_keycloak_certbot_testing %}never{% else %}always{% endif %}"
|
2025-10-31 22:36:32 +00:00
|
|
|
tags: ldap
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Enable memberOf plugin
|
2025-10-31 22:36:32 +00:00
|
|
|
containers.podman.podman_container_exec:
|
|
|
|
|
name: ldap
|
|
|
|
|
argv:
|
|
|
|
|
- dsconf
|
|
|
|
|
- -v
|
|
|
|
|
- localhost
|
|
|
|
|
- -D "cn=Directory Manager"
|
|
|
|
|
- plugin
|
|
|
|
|
- memberof
|
|
|
|
|
- enable
|
|
|
|
|
become: true
|
|
|
|
|
become_user: "{{ podman_keycloak_podman_rootless_user }}"
|
|
|
|
|
tags:
|
|
|
|
|
- ldap
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Disable anonymous bind
|
2025-10-31 22:36:32 +00:00
|
|
|
containers.podman.podman_container_exec:
|
|
|
|
|
name: ldap
|
|
|
|
|
argv:
|
|
|
|
|
- dsconf
|
|
|
|
|
- -v
|
|
|
|
|
- localhost
|
|
|
|
|
- -D "cn=Directory Manager"
|
|
|
|
|
- config
|
|
|
|
|
- replace
|
|
|
|
|
- nsslapd-allow-anonymous-access=off
|
|
|
|
|
become: true
|
|
|
|
|
become_user: "{{ podman_keycloak_podman_rootless_user }}"
|
|
|
|
|
tags:
|
|
|
|
|
- ldap
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Create a read-only administrator
|
2025-10-31 22:36:32 +00:00
|
|
|
community.general.ldap_entry:
|
|
|
|
|
dn: "uid=admin,ou=Administrators,{{ podman_keycloak_ldap_database_suffix_dn }}"
|
|
|
|
|
objectClass:
|
|
|
|
|
- top
|
|
|
|
|
- person
|
|
|
|
|
- organizationalPerson
|
|
|
|
|
- inetOrgPerson
|
|
|
|
|
attributes:
|
|
|
|
|
cn: admin
|
|
|
|
|
sn: admin
|
|
|
|
|
userPassword: "{{ podman_keycloak_ldap_administrator_password }}"
|
|
|
|
|
server_uri: ldaps://{{ inventory_hostname }}/
|
|
|
|
|
bind_dn: "cn=Directory Manager"
|
|
|
|
|
bind_pw: "{{ podman_keycloak_ldap_directory_manager_password }}"
|
|
|
|
|
delegate_to: localhost
|
|
|
|
|
environment:
|
2025-11-01 15:07:36 +00:00
|
|
|
LDAPTLS_REQCERT: "{% if podman_keycloak_certbot_testing %}never{% else %}always{% endif %}"
|
2025-10-31 22:36:32 +00:00
|
|
|
tags: ldap
|
|
|
|
|
|
2025-11-01 15:07:36 +00:00
|
|
|
- name: Podman Keycloak | PATCH | Apply LDAP permissions
|
2025-10-31 22:36:32 +00:00
|
|
|
community.general.ldap_attrs:
|
|
|
|
|
dn: "{{ podman_keycloak_ldap_database_suffix_dn }}"
|
|
|
|
|
attributes:
|
|
|
|
|
aci: '(target="ldap:///{{ podman_keycloak_ldap_database_suffix_dn }}")(targetattr="*") (version 3.0; acl "readonly"; allow (search,read,compare) userdn="ldap:///uid=admin,ou=Administrators,{{ podman_keycloak_ldap_database_suffix_dn }}";)'
|
|
|
|
|
server_uri: ldaps://{{ inventory_hostname }}/
|
|
|
|
|
bind_dn: "cn=Directory Manager"
|
|
|
|
|
bind_pw: "{{ podman_keycloak_ldap_directory_manager_password }}"
|
|
|
|
|
delegate_to: localhost
|
|
|
|
|
environment:
|
2025-11-01 15:07:36 +00:00
|
|
|
LDAPTLS_REQCERT: "{% if podman_keycloak_certbot_testing %}never{% else %}always{% endif %}"
|
2025-10-31 22:36:32 +00:00
|
|
|
tags: ldap
|