Bezpieczeństwo

Domena bezpieczeństwa - konfiguracja uwierzytelniania, autoryzacji oraz innych elementów związanych z bezpieczeństwem. Implementuje Java Authentication and Authorization Service (JAAS) declarative security.

Domyślnie zdefiniowane są następujące Security Realm.

  • ManagementRealm - umożliwia bezpieczny dostęp do interfejsów administracyjnych - CLI i Web Console
  • ApplicationRealm - związany z bezpieczeństwem wdrożonych aplikacji

W obu przypadkach dodawanie nowych użytkowników odbywa się z pomocą skryptu add-user.sh.

ManagementRealm

Domyślnie opiera się o prosty mechanizm uwierzytelniania i autoryzacji zakładający konfigurację opartą o pliki mgmt-users.properties i mgmt-groups.properties znajdujące się w katalogu z konfiguracją.

<security-realm name="ManagementRealm">
    <authentication>
        <local default-user="$local" />
        <properties path="mgmt-users.properties" relative-to="jboss.server.conKg.dir" />  
    </authentication>
    <authorization map-groups-to-roles="false">
        <properties path="mgmt-groups.properties" relative-to="jboss.server.conKg.dir" /> 
    </authorization>
</security-realm>

W przypadku CLI uwierzytelnianie zachodzi automatycznie jeśli próba dostępu jest realizowana z lokalnej maszyny.

ApplicationRealm

Wykorzystywany do zabezpieczania aplikacji na poziomie webowym jak i komponentów EJB.

<security-realm name="ApplicationRealm">
    <authentication>
        <local default-user="$local" allowed-users="*" />
        <properties path="application-users.properties" relative-to="jboss.server.conKg.dir" />
        </authentication>
    <authorization>
    <properties path="application-roles.properties" relative-to="jboss.server.conKg.dir" />
    </authorization>
</security-realm>

Proces uwierzytelniania zachodzi tak samo jak w poprzednim przypadku, z tą różnicą że dane uwierzytelniające znajdują się w pliku application-user.properties. Proces autoryzacji przeprowadzany jest na podstawie pliku application-roles.properties.

Security Domains

Konfiguracja modułów logowania oraz mechanizmów mapowania ról. Znajduje się w podpakiecie security.

<subsystem xmlns="urn:jboss:domain:security:1.2">
    <security-domains>
        <security-domain name="other" cache-type="default">
            <authentication>
                <login-module code="Remoting" flag="optional">
                    <module-option name="password-stacking" value="useFirstPass" />
                </login-module>
                <login-module code="RealmDirect" flag="required">
                    <module-option name="password-stacking" value="useFirstPass" />
                </login-module>
            </authentication>
        </security-domain>
    </security-domains>
</subsystem>

Domyślnie skonfigurowana i zarazem podstawowa konfiguracja domeny nazywa się other. Definiuje ona moduły Remoting i RealmDirect. Pierwszy używany jest wewnętrznie podczas gdy potrzebne jest uwierzytelnianie na poziomie zdalnych połączeń (zwykle wywołania EJB). Drugi używany jest kiedy np. logujemy się z poziomu konsoli webowej.

Domyślnie dostępne moduły bezpieczeństwa

  • RealmDirect - oparty o pliki tekstowe
  • Database - oparty o bazę relacyjną
  • LDAP - oparty o bazę LDAP

results matching ""

    No results matching ""