<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>relam - Inero Software - Rozwiązania IT i Konsulting</title>
	<atom:link href="https://inero-software.com/pl/tag/relam/feed/" rel="self" type="application/rss+xml" />
	<link>https://inero-software.com/pl/tag/relam/</link>
	<description>Tworzymy cyfrowe innowacje</description>
	<lastBuildDate>Wed, 06 Nov 2024 13:38:44 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://inero-software.com/wp-content/uploads/2018/11/inero-logo-favicon.png</url>
	<title>relam - Inero Software - Rozwiązania IT i Konsulting</title>
	<link>https://inero-software.com/pl/tag/relam/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153509928</site>	<item>
		<title>Integracja Keycloak i Lightweight Directory Access Protocol</title>
		<link>https://inero-software.com/pl/integracja-keycloak-i-lightweight-directory-access-protocol/</link>
		
		<dc:creator><![CDATA[Marceli Formela]]></dc:creator>
		<pubDate>Fri, 26 Jul 2024 11:33:09 +0000</pubDate>
				<category><![CDATA[Blog_pl]]></category>
		<category><![CDATA[Firma]]></category>
		<category><![CDATA[keycloak]]></category>
		<category><![CDATA[relam]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=6038</guid>

					<description><![CDATA[<p>Artykuł <a href="https://inero-software.com/pl/integracja-keycloak-i-lightweight-directory-access-protocol/">Integracja Keycloak i Lightweight Directory Access Protocol</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="row"><div class="col-sm-1"></div><div class="col-sm-10">
<h4></h4>
<div class="flex-shrink-0 flex flex-col relative items-end">
<div>
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8"></div>
</div>
</div>
</div>
</div>
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-&#091;20px&#093; text-message flex w-full flex-col items-end gap-2 whitespace-pre-wrap break-words &#091;.text-message+&amp;&#093;:mt-5 overflow-x-auto" dir="auto" data-message-author-role="assistant" data-message-id="479e6f0f-0844-41ad-860f-6ef57b28543c">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-&#091;3px&#093;">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h4>Z poprzednich wpisów wiemy, że Keycloak daje nam przestrzeń do zarządzania tożsamościami użytkowników, zabezpieczania aplikacji i integracji z różnymi dostawcami. Dlatego jedną z jego kluczowych funkcji jest zdolność do integracji z katalogami Lightweight Directory Access Protocol (LDAP). Ten artykuł stanowi krótki przewodnik po eksporcie kont do federowanych realm&#8217;ów poprzez migrację użytkowników z ich poświadczeniami oraz importowanie grup za pomocą niestandardowych mapowań.</h4>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<h3>Zrozumienie usług katalogowych</h3>
<p>Usługa katalogowa jest zbudowana w celu zarządzania i przechowywania danych w formacie par &#8222;klucz-wartość&#8221;. Ta struktura jest zoptymalizowana pod kątem operacji odczytu, co sprawia, że jest szczególnie dobrze dostosowana do informacji, które są często dostępne, ale rzadko aktualizowane. Dane w takim katalogu są często opisowe, służąc do szczegółowego przedstawienia różnych atrybutów jednostek.</p>
<p>Na przykład, wyobraź sobie używanie usługi katalogowej do zarządzania książką adresową. Każdy wpis w tej książce adresowej reprezentuje indywidualną osobę, a pary klucz-wartość przechowują jej dane kontaktowe, miejsce zatrudnienia i inne istotne informacje. Taka metoda organizacji danych jest szczególnie korzystna przy obsłudze informacji jakościowych i opisowych, które muszą być łatwo dostępne.</p>
<p>LDAP działa przy użyciu hierarchicznej struktury katalogowej, co umożliwia efektywne przechowywanie i dostęp do danych. Ten protokół jest powszechnie używany do śledzenia szczegółów organizacyjnych, w tym informacji o użytkownikach, zasobach i różnych jednostkach. Jego model wspiera elastyczne podejście do definiowania i zarządzania tymi jednostkami i ich atrybutami, zapewniając, że usługa katalogowa pozostaje dostosowana do różnych potrzeb organizacyjnych i skalowalna wraz z rosnącą ilością danych.</p>
<h3><b>Kluczowe funkcje LDAP</b></h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="font-weight: 400;" aria-level="1"><strong>Standaryzowany protokół:</strong> LDAP jest szeroko rozpoznawanym protokołem, wspieranym przez liczne usługi katalogowe, w tym Microsoft Active Directory, OpenLDAP i Apache Directory Server.</li>
<li style="font-weight: 400;" aria-level="1"><strong>Struktura hierarchiczna</strong>: Katalogi LDAP są strukturyzowane hierarchicznie, podobnie jak drzewo, co ułatwia efektywną organizację i wyszukiwanie informacji.</li>
<li style="font-weight: 400;" aria-level="1"><strong>Skalowalność</strong>: LDAP jest zoptymalizowany do zarządzania dużą ilością operacji odczytu i wyszukiwania, co czyni go idealnym dla środowisk korporacyjnych na dużą skalę z rozległymi bazami użytkowników.</li>
</ul>
</li>
</ul>
<h3><b>Architektura LDAP </b></h3>
<p>Zrozumienie architektury LDAP jest kluczowe dla maksymalnego wykorzystania jego możliwości. Główne komponenty obejmują:</p>
<p>&nbsp;</p>
<h4>Drzewo informacji katalogowej (DIT)</h4>
<p>Hierarchiczna struktura katalogu składa się z wpisów, z których każdy reprezentuje obiekt, taki jak użytkownik, grupa czy urządzenie, i jest jednoznacznie identyfikowany przez nazwę wyróżniającą (<em>Distinguished Name, DN</em>). DIT jest zorganizowany hierarchicznie, z korzeniem drzewa na szczycie. Poniżej korzenia znajdują się różne poziomy węzłów, z których każdy reprezentuje różne typy jednostek, takie jak organizacje, departamenty i indywidualni użytkownicy. Taka  struktura pozwala na efektywne i logiczne zarządzanie oraz dostęp do danych katalogowych.</p>
<h4>Atrybuty / Wpisy</h4>
<p>Atrybuty są grupowane w jednostki zwane klasami obiektów (<em>objectClasses</em>), które są zbiorami powiązanych atrybutów przydatnych do opisywania określonych jednostek. Tworząc wpis, można wykorzystać atrybuty zdefiniowane przez klasę obiektów, przypisując pożądaną klasę obiektów do wpisu. W rzeczywistości atrybut objectClass jest jedynym atrybutem, który można ustawić bez konieczności specyfikowania dodatkowych klas obiektów.</p>
<p>Na przykład, tworząc wpis reprezentujący osobę, włączenie klasy obiektów—oraz wszelkich pochodnych klas obiektów—umożliwia korzystanie ze wszystkich atrybutów związanych z tą konkretną klasą obiektów. W takim wpisie można ustawić atrybuty takie jak cn (<em>common name)</em> dla nazwy zwyczajowej, <em>description</em> dla krótkiego opisu wpisu oraz <em>sn</em> dla nazwiska.</p>
<h4><b>Schemat </b></h4>
<p>Atrybuty i klasy obiektów są grupowane razem w tzw, schemat. Mechanizm ten dba o spójność i integralność w drzewie katalogowym, którego używamy. W przeciwieństwie do relacyjnych baz danych, te schematy to po prostu zbiory powiązanych obiektów i atrybutów. Pojedyncze drzewo informacji katalogowej (DIT) może wykorzystywać wiele schematów do tworzenia potrzebnych wpisów i atrybutów.</p>
<p>Schematy zazwyczaj zawierają dodatkowe specyfikacje atrybutów i mogą wymagać atrybutów określonych w innych schematach. Na przykład, klasa obiektów <em>person</em> wymaga włączenia atrybutu nazwiska (<em>sn</em>) dla wszelkich powiązanych wpisów. W przypadkach, gdy te atrybuty są nieobecne na serwerze LDAP, schemat zawierający te definicje może zostać zintegrowany ze strukturą drzewa serwera.</p>
<p>&nbsp;</p>
<h3>Odmiany protokołu</h3>
<p>LDAP to w istocie protokół, który definiuje interfejs komunikacyjny do pracy z usługami katalogowymi, często określanymi jako LDAP lub ldap. Istnieje kilka odmian formatu protokołu LDAP, które warto zauważyć:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="font-weight: 400;" aria-level="1">ldaps://: Ta odmiana oznacza LDAP zabezpieczony za pomocą SSL/TLS. Chociaż standardowy ruch LDAP jest nieszyfrowany, większość implementacji LDAP obsługuje szyfrowanie. Jednakże użycie SSL/TLS do szyfrowania LDAP jest przestarzałe, a zalecanym sposobem zabezpieczenia połączeń LDAP jest STARTTLS.</li>
<li style="font-weight: 400;" aria-level="1">ldap://: Jest to standardowy protokół LDAP, który zapewnia strukturalny dostęp do usługi katalogowej.</li>
<li style="font-weight: 400;" aria-level="1">ldapi://: Ta odmiana oznacza LDAP przez IPC (<em>Inter-Process Communication</em>). Zazwyczaj używany do bezpiecznych lokalnych połączeń z systemem LDAP do celów administracyjnych, na przykład przy użyciu wewnętrznych gniazd.</li>
</ul>
</li>
</ul>
<p>Chociaż wszystkie trzy formaty korzystają z protokołu LDAP, dwa z nich rozszerzają możliwości tej komunikacji.</p>
<p>&nbsp;</p>
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-&#091;20px&#093; text-message flex w-full flex-col items-end gap-2 whitespace-pre-wrap break-words &#091;.text-message+&amp;&#093;:mt-5 overflow-x-auto" dir="auto" data-message-author-role="assistant" data-message-id="46eca452-56fc-4b2d-bf59-273e564c9e47">
<div class="flex w-full flex-col gap-1 empty:hidden first:pt-&#091;3px&#093;">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h3>Powrót do realm i konfiguracja LDAP</h3>
</div>
</div>
</div>
</div>
</div>
</div>
<p>Po zapoznaniu się z teorią działania LDAP, możemy wrócić do realm, o którego konfiguracji wspominaliśmy w poprzednim poście (<a href="https://inero-software.com/pl/zarzadzanie-tozsamosciami-dzieki-federacjom-uzytkownikow-w-keycloak/">znajdziesz go tu</a>), i przejść do zakładki <em>User Federation</em>, w której możemy wprowadzić niezbędne dane, aby połączyć się z serwerem LDAP dostarczonym przez przykładowego dostawcę.</p>
<p><img fetchpriority="high" decoding="async" class="wp-image-6023 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/07/4.jpg" alt="" width="714" height="402" srcset="https://inero-software.com/wp-content/uploads/2024/07/4.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/4-300x169.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/4-1030x579.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/4-768x432.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/4-1536x864.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/4-533x300.jpg 533w" sizes="(max-width: 714px) 100vw, 714px" /></p>
<p>Niezbędne informacje, których potrzebujemy, obejmują adres URL połączenia, nazwę wyróżniającą administratora LDAP (<em>bind DN</em>) oraz nazwę wyróżniającą użytkowników (<em>users DN</em>), która jest nadrzędna dla wszystkich użytkowników w drzewie LDAP. Większość atrybutów, takich jak nazwa użytkownika LDAP, UUID LDAP lub klasy obiektów użytkowników, można pozostawić na domyślnych wartościach, ponieważ są one zgodne z wymaganiami naszego dostawcy serwera LDAP.</p>
<p><img decoding="async" class="wp-image-6024 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/07/7.jpg" alt="" width="715" height="264" srcset="https://inero-software.com/wp-content/uploads/2024/07/7.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/7-300x111.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/7-1030x381.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/7-768x284.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/7-1536x568.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/7-811x300.jpg 811w" sizes="(max-width: 715px) 100vw, 715px" /></p>
<p>Po zsynchronizowaniu użytkowników widzimy, że w zakładce <em>Users</em> pojawiły się dwa nowe wpisy. Synchronizacja z LDAP oferuje więcej możliwości niż tylko prosty import kont użytkowników. Sprawdźmy, jak działają mapery (<em>mappers</em>).</p>
<h4>Przykład 1: hardcoded-attribute-mapper</h4>
<p>Możemy oznaczyć importowanych użytkowników, przypisując im niestandardowy atrybut. Można to zrobić za pomocą<em> hardcoded-attribute-mapper</em>, który przypisuje nowy atrybut, <em>authenticationMethod</em>, każdemu nowemu użytkownikowi i nadaje mu wartość &#8222;<em>ldap</em>&#8222;.</p>
<p><img decoding="async" class="wp-image-6025 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/07/6.jpg" alt="" width="597" height="336" srcset="https://inero-software.com/wp-content/uploads/2024/07/6.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/6-300x169.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/6-1030x579.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/6-768x432.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/6-1536x864.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/6-533x300.jpg 533w" sizes="(max-width: 597px) 100vw, 597px" /></p>
<p>W oknie Użytkownicy (Users) -&gt; Szczegóły użytkownika (User Details) -&gt; zakładka Atrybuty (Attributes), możemy zobaczyć, że użytkownicy pochodzący z LDAP rzeczywiście mają ten atrybut. Może on na przykład zostać uwzględniony w tokenach dostępu.</p>
<p><img loading="lazy" decoding="async" class="wp-image-6026 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/07/3.jpg" alt="" width="608" height="342" srcset="https://inero-software.com/wp-content/uploads/2024/07/3.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/3-300x169.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/3-1030x579.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/3-768x432.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/3-1536x864.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/3-533x300.jpg 533w" sizes="(max-width: 608px) 100vw, 608px" /></p>
<h4>Przykład 2: group-ldap-mapper</h4>
<p>Często w LDAP zdefiniowany jest system ról lub grup, do których należą importowani użytkownicy. Keycloak może również importować grupy i automatycznie przypisywać do nich wspomnianych użytkowników. Aby to zrobić, możemy skonfigurować kolejny <em>mapper</em>, tym razem typu g<em>roup-ldap-mapper,</em> jak pokazano na poniższym obrazku:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-6027 size-full" src="https://inero-software.com/wp-content/uploads/2024/07/5.jpg" alt="" width="1920" height="1080" srcset="https://inero-software.com/wp-content/uploads/2024/07/5.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/5-300x169.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/5-1030x579.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/5-768x432.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/5-1536x864.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/5-533x300.jpg 533w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<p>W tym przypadku nazwa wyróżniająca dla grup będzie taka sama jak DN dla wszystkich użytkowników, czyli:</p>
<p style="padding-left: 80px;"><span style="font-weight: 400; color: #0000ff;">ou=Users,o=66a20b93d2f2fc6db2e89ff3,dc=jumpcloud,dc=com</span></p>
<p>Grupy przechowywane w LDAP są zdefiniowane przez klasę obiektów o nazwie <em>groupOfNames</em>, co oznacza, że atrybutem reprezentującym członkostwo po stronie LDAP będzie zazwyczaj<em> member</em>.</p>
<p><img loading="lazy" decoding="async" class="wp-image-6028 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/07/image_15-300x41.jpg" alt="" width="622" height="85" srcset="https://inero-software.com/wp-content/uploads/2024/07/image_15-300x41.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/image_15.jpg 595w" sizes="(max-width: 622px) 100vw, 622px" /></p>
<p>Jak widzimy, trzy grupy zostały poprawnie zaimportowane, wraz z relacjami między grupą a jej użytkownikami. Dzięki temu administratorzy LDAP mogą łatwo uzyskać odpowiednie uprawnienia po naszej stronie realm. Następnie możemy powiązać określone role z daną grupą, aby jeszcze wygodniej zarządzać dostępem do zasobów.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-6031 size-full" src="https://inero-software.com/wp-content/uploads/2024/07/2.jpg" alt="" width="1920" height="959" srcset="https://inero-software.com/wp-content/uploads/2024/07/2.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/2-300x150.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/2-1030x514.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/2-768x384.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/2-1536x767.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/2-601x300.jpg 601w" sizes="(max-width: 1920px) 100vw, 1920px" /><img loading="lazy" decoding="async" class="alignnone wp-image-6030 size-full" src="https://inero-software.com/wp-content/uploads/2024/07/1.jpg" alt="" width="1920" height="881" srcset="https://inero-software.com/wp-content/uploads/2024/07/1.jpg 1920w, https://inero-software.com/wp-content/uploads/2024/07/1-300x138.jpg 300w, https://inero-software.com/wp-content/uploads/2024/07/1-1030x473.jpg 1030w, https://inero-software.com/wp-content/uploads/2024/07/1-768x352.jpg 768w, https://inero-software.com/wp-content/uploads/2024/07/1-1536x705.jpg 1536w, https://inero-software.com/wp-content/uploads/2024/07/1-654x300.jpg 654w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<h3>Podsumowanie</h3>
<p>Integracja Keycloak z LDAP to potężne narzędzie do zarządzania tożsamościami i bezpieczeństwem w organizacji. Ta integracja pozwala na efektywną synchronizację użytkowników i grup z LDAP, umożliwiając centralne zarządzanie uprawnieniami i dostępem do zasobów. Kluczowe kroki obejmują skonfigurowanie połączenia LDAP, synchronizację danych oraz użycie mapperów do dostosowania importowanych informacji, takich jak atrybuty i grupy użytkowników. Ważne jest, aby zrozumieć architekturę i działanie LDAP, aby w pełni wykorzystać jego możliwości. Implementacja LDAP z Keycloak nie tylko usprawnia zarządzanie kontami, ale także zwiększa bezpieczeństwo i upraszcza integrację z istniejącymi systemami. Korzystając z mapperów, możemy dodatkowo dostosować sposób importowania i wykorzystywania informacji w naszym systemie, co prowadzi do lepszej organizacji i kontroli dostępu w organizacji.</p>
<p><a href="https://inero-software.com/pl/keycloak/"><img loading="lazy" decoding="async" data-attachment-id="5997" data-permalink="https://inero-software.com/pl/integracja-keycloak-zgodnosc-z-dyrektywa-nis-2/banery-16072024-inero/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero.png" data-orig-size="1200,100" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="banery 16072024 inero" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero-300x25.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero-1030x86.png" tabindex="0" role="button" class="alignnone wp-image-5997 size-full" src="https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero.png" alt="" width="1200" height="100" srcset="https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero.png 1200w, https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero-300x25.png 300w, https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero-1030x86.png 1030w, https://inero-software.com/wp-content/uploads/2024/07/banery-16072024-inero-768x64.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p></p></div><div class="col-sm-1"></div></div>
<p>Artykuł <a href="https://inero-software.com/pl/integracja-keycloak-i-lightweight-directory-access-protocol/">Integracja Keycloak i Lightweight Directory Access Protocol</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6038</post-id>	</item>
		<item>
		<title>Przewodnik krok po kroku- Uwierzytelnianie wieloskładnikowe (MFA) w Keycloak</title>
		<link>https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/</link>
		
		<dc:creator><![CDATA[Marceli Formela]]></dc:creator>
		<pubDate>Wed, 05 Jun 2024 13:03:04 +0000</pubDate>
				<category><![CDATA[Blog_pl]]></category>
		<category><![CDATA[Firma]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[keycloak]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[OTP]]></category>
		<category><![CDATA[relam]]></category>
		<category><![CDATA[sms]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=5812</guid>

					<description><![CDATA[<p>&#160;</p>
<p>Artykuł <a href="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/">Przewodnik krok po kroku- Uwierzytelnianie wieloskładnikowe (MFA) w Keycloak</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>&nbsp;</p>
<div class="row"><div class="col-sm-1"></div><div class="col-sm-10">
<p>Wzrost liczby ataków i zagrożeń cyfrowych sprawił, że zabezpieczanie danych stało się koniecznością. Oszuści wciąż udoskonalają swoje narzędzia, dlatego  tradycyjna metoda polegająca na hasłach okazuje się niewystarczająca do ochrony wrażliwych informacji. Ta eskalacja cyberzagrożeń podkreśliła konieczność wprowadzenia bardziej zaawansowanych środków bezpieczeństwa, co doprowadziło upowszechnienia uwierzytelniania wieloskładnikowego (MFA). W tym wpisie omówimy pojawiające się zagrożenia online i to jak MFA może stać się skutecznym mechanizmem obronnym dla naszych aplikacji.</p>
<p>&nbsp;</p>
<h3>Czym jest MFA?</h3>
<p>Uwierzytelnianie wieloskładnikowe (MFA) zwiększa bezpieczeństwo Twoich aplikacji, wymagając od użytkowników podania wielu form identyfikacji przed przyznaniem dostępu. Oczywiście, narzędzia takie jak Keycloak wspierają MFA i pozwalają administratorom na łatwe skonfigurowanie tego rozwiązania. Ten przewodnik opisuje krok po kroku procedurę włączania MFA w Keycloak, zapewniając, że procesy uwierzytelniania użytkowników staną się bezpieczniejsze,</p>
<p>MFA zostało zaprojektowane, aby chronić użytkowników przed zagrożeniami związanymi z uwierzytelnianiem jednoskładnikowym, gdzie użytkownik musi podać tylko jedną formę uwierzytelnienia, zazwyczaj hasło. MFA dodaje warstwy bezpieczeństwa, wymagając od użytkowników przedstawienia wielu dowodów (czynników) potwierdzających ich tożsamość.</p>
<p>Czynniki uwierzytelniania użytkownika w MFA są zazwyczaj klasyfikowane w trzy typy:</p>
<p style="padding-left: 40px;"><strong>1. Czynniki wiedzy (coś, co wiesz)</strong><br />
&#8211; Hasła<br />
&#8211; PIN-y<br />
&#8211; Pytania bezpieczeństwa<br />
<strong>2. Czynniki posiadania (coś, co masz)</strong><br />
&#8211; Jednorazowe hasło (OTP) generowane przez aplikację uwierzytelniającą<br />
&#8211; Kody SMS<br />
&#8211; Kody e-mail<br />
&#8211; Tokeny sprzętowe<br />
<strong>3. Czynniki inherentne (coś, czym jesteś)</strong><br />
&#8211; Weryfikacja biometryczna (rozpoznawanie twarzy, odcisk palca itp.)</p>
<p><a href="https://inero-software.com/pl/kontakt/"><img loading="lazy" decoding="async" data-attachment-id="5827" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/1-5/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/1-2.png" data-orig-size="1200,100" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="1" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/1-2-300x25.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/1-2-1030x86.png" tabindex="0" role="button" class="alignleft wp-image-5827 size-full" src="https://inero-software.com/wp-content/uploads/2024/06/1-2.png" alt="" width="1200" height="100" srcset="https://inero-software.com/wp-content/uploads/2024/06/1-2.png 1200w, https://inero-software.com/wp-content/uploads/2024/06/1-2-300x25.png 300w, https://inero-software.com/wp-content/uploads/2024/06/1-2-1030x86.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/1-2-768x64.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p>Pierwszym krokiem jest zawsze początkowe uwierzytelnienie, kiedy użytkownik wprowadza swoją nazwę i hasło (tak zwany czynnik wiedzy). Po początkowym uwierzytelnieniu proszony jest o podanie drugiej formy uwierzytelnienia, która może być jednorazowym hasłem (OTP) wysłanym na telefon, skanem biometrycznym lub inną formą czynnika posiadania/inherentnego. Jeśli oba czynniki zostaną pomyślnie zweryfikowane, użytkownik uzyskuje dostęp do aplikacji. Teraz przyjrzyjmy się kilku przykładowym typom uwierzytelniania oraz ich zaletom i wadom.</p>
<h4 style="padding-left: 40px;"><strong>OTP wysyłane na e-mail</strong></h4>
<p style="padding-left: 80px;">W tej metodzie tymczasowy kod jest wysyłany na zarejestrowany adres e-mail użytkownika, który musi go wprowadzić, aby zakończyć proces logowania. Użytkownicy otrzymują OTP bezpośrednio na e-mail, co nie wymaga instalacji ani konfiguracji dodatkowych aplikacji. Należy jednak pamiętać, że konta e-mail mogą zostać skompromitowane, a przechwycone e-maile mogą stanowić znaczące zagrożenie dla bezpieczeństwa.</p>
<h4 style="padding-left: 40px;">OTP wysyłane SMS-em</h4>
<p style="padding-left: 80px;">Otrzymywanie OTP za pomocą SMS-a jest proste i znane większości użytkowników oraz także nie wymaga instalacji dodatkowych aplikacji. Powinno działać na każdym telefonie komórkowym, co czyni go dostępnym dla szerszej grupy użytkowników. Jednakże, i one mogą być podatne na przechwycenie i ataki polegające na zamianie kart SIM, co sprawia, że są mniej bezpieczne w porównaniu do innych metod. Dostarczanie SMS-ów może być również opóźnione lub nawet zawieść z powodu problemów z siecią. Przyjrzymy się bliżej jego zaletom i wadom w kolejnym poście, który obejmuje rozwój niestandardowych narzędzi uwierzytelniających.</p>
<h4 style="padding-left: 40px;">Powiadomienia push</h4>
<p style="padding-left: 80px;">Powiadomienia push polegają na wysyłaniu w czasie rzeczywistym alertu na zarejestrowane urządzenie mobilne użytkownika, prosząc go o zatwierdzenie lub odrzucenie próby uwierzytelnienia. Użytkownicy są natychmiast powiadamiani o wszelkich próbach logowania, co pozwala im szybko reagować na wszelkie nieautoryzowane próby dostępu. Nie muszą także wprowadzać jednorazowego hasła (OTP), co upraszcza proces uwierzytelniania. Ta metoda oczywiście wymaga aktywnego połączenia internetowego. Należy jednak pamiętać, że zainfekowane urządzenia mogą potencjalnie zagrozić bezpieczeństwu tej funkcji, a użytkownicy muszą być edukowani w zakresie rozpoznawania autentycznych powiadomień push, aby uniknąć przypadkowego zatwierdzenia prób ataku.</p>
<h4 style="padding-left: 40px;"><strong>OTP za pomocą aplikacji uwierzytelniających</strong></h4>
<p style="padding-left: 80px;">OTP generowane przez aplikacje uwierzytelniające, takie jak Google Authenticator, są bardzo bezpieczne, ponieważ są oparte na czasie i trudne do przewidzenia. Mogą generować OTP bez połączenia z internetem, co czyni je niezawodnymi nawet wtedy, gdy użytkownicy są offline. W tym przypadku użytkownicy muszą mieć dostęp do swojego urządzenia mobilnego, aby wygenerować OTP, a początkowa konfiguracja często wymaga zeskanowania kodu QR i skonfigurowania aplikacji uwierzytelniającej, co może być trudne dla użytkowników nietechnicznych.</p>
<p><a href="https://inero-software.com/pl/najlepsze-praktyki-w-keycloak-zadbaj-o-bezpieczenstwo-w-5-krokach/"><img loading="lazy" decoding="async" data-attachment-id="5828" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/3-4/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/3-2.png" data-orig-size="1200,100" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="3" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/3-2-300x25.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/3-2-1030x86.png" tabindex="0" role="button" class="alignnone wp-image-5828 size-full" src="https://inero-software.com/wp-content/uploads/2024/06/3-2.png" alt="" width="1200" height="100" srcset="https://inero-software.com/wp-content/uploads/2024/06/3-2.png 1200w, https://inero-software.com/wp-content/uploads/2024/06/3-2-300x25.png 300w, https://inero-software.com/wp-content/uploads/2024/06/3-2-1030x86.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/3-2-768x64.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<h3>Jak skonfigurować OTP (przez mobilną aplikację uwierzytelniającą) w Keycloak</h3>
<p>Teraz możemy przejść do konsoli Keycloak i spróbować skonfigurować podstawowe OTP w naszym realm. <a href="https://inero-software.com/pl/zabezpieczanie-punktow-koncowych-java-spring-za-pomoca-keycloak/">Przed próbą włączenia MFA w Keycloak upewnij się, że masz działającą instancję Keycloak, dostęp administracyjny do serwera oraz podstawową znajomość koncepcji realm, klienta i zarządzania użytkownikami z poprzednich postów.</a></p>
<p><strong>Krok 1: Polityka OTP</strong><br />
Z menu bocznego wybierz realm, w którym chcesz włączyć MFA. W ustawieniach przejdź do sekcji Uwierzytelnianie i wybierz kartę Polityka OTP. Skonfiguruj ustawienia zgodnie z wymaganiami bezpieczeństwa. Możesz wybrać wartości domyślne, które są dostarczane przez serwer.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="5815" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/2-5/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/2-1.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="2" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/2-1-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/2-1-1030x579.png" tabindex="0" role="button" class="wp-image-5815 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/2-1-300x169.png" alt="" width="705" height="397" srcset="https://inero-software.com/wp-content/uploads/2024/06/2-1-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/2-1-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/2-1-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/2-1-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/2-1-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/2-1.png 1920w" sizes="(max-width: 705px) 100vw, 705px" /></p>
<p><strong>Krok 2: Wymagane działania</strong><br />
W ustawieniach uwierzytelniania przejdź do karty Wymagane działania. Teraz możesz aktywować OTP jako domyślne działanie dla każdego nowego użytkownika.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="5814" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/1-4/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/1-1.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="1" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/1-1-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/1-1-1030x579.png" tabindex="0" role="button" class="wp-image-5814 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/1-1-300x169.png" alt="" width="701" height="395" srcset="https://inero-software.com/wp-content/uploads/2024/06/1-1-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/1-1-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/1-1-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/1-1-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/1-1-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/1-1.png 1920w" sizes="(max-width: 701px) 100vw, 701px" /></p>
<p><img loading="lazy" decoding="async" data-attachment-id="5816" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/3-3/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/3-1.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="3" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/3-1-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/3-1-1030x579.png" tabindex="0" role="button" class="wp-image-5816 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/3-1-300x169.png" alt="" width="702" height="395" srcset="https://inero-software.com/wp-content/uploads/2024/06/3-1-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/3-1-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/3-1-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/3-1-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/3-1-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/3-1.png 1920w" sizes="(max-width: 702px) 100vw, 702px" /></p>
<p>&nbsp;</p>
<p>Skonfigurowaliśmy już MFA i każdy nowo zarejestrowany użytkownik będzie musiał z niego korzystać. Oczywiście, tę konfigurację można zmodyfikować w ustawieniach konta aplikacji, aby użytkownicy korzystali z MFA tylko wtedy, gdy specjalnie o to poproszą.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="5817" data-permalink="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/4-3/" data-orig-file="https://inero-software.com/wp-content/uploads/2024/06/4-1.png" data-orig-size="1920,1080" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="4" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2024/06/4-1-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2024/06/4-1-1030x579.png" tabindex="0" role="button" class="wp-image-5817 aligncenter" src="https://inero-software.com/wp-content/uploads/2024/06/4-1-300x169.png" alt="" width="705" height="397" srcset="https://inero-software.com/wp-content/uploads/2024/06/4-1-300x169.png 300w, https://inero-software.com/wp-content/uploads/2024/06/4-1-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2024/06/4-1-768x432.png 768w, https://inero-software.com/wp-content/uploads/2024/06/4-1-1536x864.png 1536w, https://inero-software.com/wp-content/uploads/2024/06/4-1-533x300.png 533w, https://inero-software.com/wp-content/uploads/2024/06/4-1.png 1920w" sizes="(max-width: 705px) 100vw, 705px" /></p>
<p>Jak widzimy, MFA to potężne narzędzie do ochrony wrażliwych informacji i zwiększania bezpieczeństwa aplikacji internetowych. Wymagając wielu form weryfikacji, znacznie utrudnia dostęp nieautoryzowanym użytkownikom do kont i systemów, zmniejszając ryzyko związane z uwierzytelnianiem opartym wyłącznie na hasłach. Wdrożenie tego mechanizmu z pewnością pomaga organizacjom w spełnianiu wymogów regulacyjnych i ochronie przed ciągle ewoluującymi zagrożeniami w sieci.</p>
<p>W następnym artykule przyjrzymy się bliżej niestandardowemu uwierzytelnianiu za pomocą SMS dla Keycloak, omawiając jego zalety i wady.</p>
<p></p></div><div class="col-sm-1"></div></div>
<p>Artykuł <a href="https://inero-software.com/pl/przewodnik-krok-po-kroku-uwierzytelnianie-wieloskladnikowe-mfa-w-keycloak/">Przewodnik krok po kroku- Uwierzytelnianie wieloskładnikowe (MFA) w Keycloak</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5812</post-id>	</item>
	</channel>
</rss>
