diff --git a/pom.xml b/pom.xml
index 1ba539b41d20ebebf73a96d7fa0109cc845021d3..d06edc1736ab30242ce2091e75b4e9991875d518 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common-parent</artifactId>
 		<version>4.3.2</version>
-		<relativePath />
+		<relativePath/>
 	</parent>
 	<groupId>de.ozgcloud</groupId>
 	<artifactId>administration</artifactId>
@@ -22,7 +22,6 @@
 		<build.number>SET_BY_JENKINS</build.number>
 		<spring-cloud-config-server.version>4.1.2</spring-cloud-config-server.version>
 		<testcontainers-keycloak.version>3.2.0</testcontainers-keycloak.version>
-		<keycloak-admin-client.version>23.0.6</keycloak-admin-client.version>
 		<mongock.version>5.4.0</mongock.version>
 		<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
 		<mapstruct-processor.version>${mapstruct.version}</mapstruct-processor.version>
@@ -72,6 +71,13 @@
 			<artifactId>spring-boot-configuration-processor</artifactId>
 			<optional>true</optional>
 		</dependency>
+
+		<!-- Keycloak -->
+		<dependency>
+			<groupId>org.keycloak</groupId>
+			<artifactId>keycloak-admin-client</artifactId>
+		</dependency>
+
 		<!-- tools -->
 		<dependency>
 			<groupId>org.mapstruct</groupId>
@@ -145,12 +151,6 @@
 			<version>${testcontainers-keycloak.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.keycloak</groupId>
-			<artifactId>keycloak-admin-client</artifactId>
-			<version>${keycloak-admin-client.version}</version>
-			<scope>test</scope>
-		</dependency>
 	</dependencies>
 	<profiles>
 		<profile>
diff --git a/src/main/java/de/ozgcloud/admin/keycloak/Group.java b/src/main/java/de/ozgcloud/admin/keycloak/Group.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c8f960a8312f4d23dad4bd29333a8300fe17dcb
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/keycloak/Group.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.admin.keycloak;
+
+import java.util.List;
+
+import lombok.Builder;
+import lombok.Getter;
+
+@Getter
+@Builder
+public class Group {
+
+	private String name;
+	private String organisationsEinheitId;
+	private List<Group> subgroups;
+}
diff --git a/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java b/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f2862be6c5cc756253d5e20c43d887aa24a001a
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java
@@ -0,0 +1,16 @@
+package de.ozgcloud.admin.keycloak;
+
+import java.util.List;
+
+import org.keycloak.representations.idm.GroupRepresentation;
+import org.mapstruct.Mapper;
+import org.mapstruct.NullValueCheckStrategy;
+
+@Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
+interface GroupMapper {
+
+	List<Group> fromGroupRepresentations(List<GroupRepresentation> groupRepresentations);
+
+
+	Group fromGroupRepresentation(GroupRepresentation groupRepresentation);
+}
diff --git a/src/main/java/de/ozgcloud/admin/keycloak/KeycloakApiProperties.java b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakApiProperties.java
new file mode 100644
index 0000000000000000000000000000000000000000..f3efb742f4ea8fb5c2eb8a9e10a2579417a09db1
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakApiProperties.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
+ * Ministerpräsidenten des Landes Schleswig-Holstein
+ * Staatskanzlei
+ * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+ *
+ * Lizenziert unter der EUPL, Version 1.2 oder - sobald
+ * diese von der Europäischen Kommission genehmigt wurden -
+ * Folgeversionen der EUPL ("Lizenz");
+ * Sie dürfen dieses Werk ausschließlich gemäß
+ * dieser Lizenz nutzen.
+ * Eine Kopie der Lizenz finden Sie hier:
+ *
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Sofern nicht durch anwendbare Rechtsvorschriften
+ * gefordert oder in schriftlicher Form vereinbart, wird
+ * die unter der Lizenz verbreitete Software "so wie sie
+ * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+ * ausdrücklich oder stillschweigend - verbreitet.
+ * Die sprachspezifischen Genehmigungen und Beschränkungen
+ * unter der Lizenz sind dem Lizenztext zu entnehmen.
+ */
+package de.ozgcloud.admin.keycloak;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+@Configuration
+@ConfigurationProperties("ozgcloud.keycloak.api")
+public class KeycloakApiProperties {
+
+	@NotBlank
+	private String url;
+	@NotBlank
+	private String user;
+	@NotBlank
+	private String password;
+	private String realm;
+	private String client;
+	private String organisationsEinheitIdKey;
+	private String ldapIdKey;
+}
\ No newline at end of file
diff --git a/src/main/java/de/ozgcloud/admin/keycloak/KeycloakConfiguration.java b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..3406a5a7799d702c610ff42c6a488794c8c172b2
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakConfiguration.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
+ * Ministerpräsidenten des Landes Schleswig-Holstein
+ * Staatskanzlei
+ * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+ *
+ * Lizenziert unter der EUPL, Version 1.2 oder - sobald
+ * diese von der Europäischen Kommission genehmigt wurden -
+ * Folgeversionen der EUPL ("Lizenz");
+ * Sie dürfen dieses Werk ausschließlich gemäß
+ * dieser Lizenz nutzen.
+ * Eine Kopie der Lizenz finden Sie hier:
+ *
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Sofern nicht durch anwendbare Rechtsvorschriften
+ * gefordert oder in schriftlicher Form vereinbart, wird
+ * die unter der Lizenz verbreitete Software "so wie sie
+ * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+ * ausdrücklich oder stillschweigend - verbreitet.
+ * Die sprachspezifischen Genehmigungen und Beschränkungen
+ * unter der Lizenz sind dem Lizenztext zu entnehmen.
+ */
+package de.ozgcloud.admin.keycloak;
+
+import org.keycloak.admin.client.Keycloak;
+import org.keycloak.admin.client.KeycloakBuilder;
+import org.keycloak.admin.client.resource.RealmResource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import lombok.RequiredArgsConstructor;
+
+@Configuration
+@RequiredArgsConstructor
+public class KeycloakConfiguration {
+
+	private static final String CLIENT = "admin-cli";
+
+	private final KeycloakApiProperties keycloakApiProperties;
+
+	@Bean
+	Keycloak keycloak() {
+		return buildKeycloakInstance();
+	}
+
+	@Bean
+	RealmResource realmResource(Keycloak keycloak) {
+		return keycloak.realm(keycloakApiProperties.getRealm());
+	}
+
+	private Keycloak buildKeycloakInstance() {
+		return KeycloakBuilder.builder()
+				.serverUrl(keycloakApiProperties.getUrl())
+				.realm(keycloakApiProperties.getRealm())
+				.clientId(CLIENT)
+				.username(keycloakApiProperties.getUser())
+				.password(keycloakApiProperties.getPassword())
+				.build();
+	}
+}
diff --git a/src/main/java/de/ozgcloud/admin/keycloak/KeycloakRemoteService.java b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakRemoteService.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1e7db460923dd22c03aabc35d6cfa578261b32f
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/keycloak/KeycloakRemoteService.java
@@ -0,0 +1,20 @@
+package de.ozgcloud.admin.keycloak;
+
+import java.util.stream.Stream;
+
+import org.keycloak.admin.client.resource.RealmResource;
+import org.springframework.stereotype.Service;
+
+import lombok.RequiredArgsConstructor;
+
+@Service
+@RequiredArgsConstructor
+public class KeycloakRemoteService {
+
+	private final RealmResource realmResource;
+
+	public Stream<Group> getGroups() {
+//		 realmResource.groups().groups();
+		return Stream.empty();
+	}
+}