시작하기 가이드
Red Hat Single Sign-On 7.6과 함께 사용하는 경우
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. Red Hat Single Sign-On의 샘플 인스턴스 설치
이 섹션에서는 독립 실행형 모드에서 Red Hat Single Sign-On 서버를 설치 및 시작하고 초기 admin 사용자를 설정한 다음 Red Hat Single Sign-On Admin Console에 로그인하는 방법을 설명합니다.
추가 리소스
이 설치는 Red Hat Single Sign-On을 실제로 사용하기 위한 것입니다. 프로덕션 환경의 설치에 대한 지침과 모든 제품 기능에 대한 자세한 내용은 Red Hat Single Sign-On 설명서의 다른 가이드를 참조하십시오.
1.1. Red Hat Single Sign-On 서버 설치
Red Hat Single Sign-On의 이 샘플 인스턴스의 경우 이 절차를 독립 실행형 모드로 설치해야 합니다. 서버 다운로드 ZIP 파일에는 Red Hat Single Sign-On 서버를 실행하는 스크립트와 바이너리가 포함되어 있습니다. 서버를 Linux 또는 Windows에 설치할 수 있습니다.
절차
- Red Hat 고객 포털 로 이동하십시오.
- Red Hat Single Sign-On Server 다운로드: rh-sso-7.6.zip
- 파일을 선택한 디렉터리에 배치합니다.
unzip, tar 또는 Expand-Archive와 같은 적절한
unzip
유틸리티를 사용하여 ZIP 파일의 압축을 풉니다.Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow unzip rhsso-7.6.zip tar -xvzf rh-sso-7.6.tar.gz
$ unzip rhsso-7.6.zip or $ tar -xvzf rh-sso-7.6.tar.gz
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > Expand-Archive -Path 'C:Downloads\rhsso-7.6.zip' -DestinationPath 'C:\Downloads'
> Expand-Archive -Path 'C:Downloads\rhsso-7.6.zip' -DestinationPath 'C:\Downloads'
- Red Hat 고객 포털 로 돌아가기
-
패치
탭을 클릭합니다. Red Hat Single Sign-On 7.6.11 서버 패치를 다운로드합니다.
다운로드한 ZIP 파일을 선택한 디렉터리에 배치합니다.
- Red Hat Single Sign-On 서버의 루트 디렉터리로 이동합니다.
JBoss EAP 명령줄 인터페이스를 시작합니다.
Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./bin/jboss-cli.sh
$ ./bin/jboss-cli.sh
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > .\bin\jboss-cli.bat
> .\bin\jboss-cli.bat
패치를 적용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow patch apply <path-to-zip>/rh-sso-7.6.11-patch.zip
$ patch apply <path-to-zip>/rh-sso-7.6.11-patch.zip
1.2. Red Hat Single Sign-On의 Java 17 활성화
Java SE 17을 사용하여 Red Hat Single Sign-On을 실행하려면 추가 단계가 필요합니다. 서버를 준비하려면 번들 enable-elytron-se17.cli
스크립트 파일을 실행해야 합니다. 이전 버전의 Java를 사용하는 경우 이 단계는 필요하지 않습니다.
사전 요구 사항
- Red Hat Single Sign-On 서버를 설치하는 동안 오류가 발생하지 않았습니다.
절차
- Red Hat Single Sign-On 서버의 루트 디렉터리로 이동합니다.
jboss-cli
명령을 실행하여enable-elytron-se17.cli
스크립트를 전달합니다.Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./bin/jboss-cli.sh --file=docs/examples/enable-elytron-se17.cli
$ ./bin/jboss-cli.sh --file=docs/examples/enable-elytron-se17.cli
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > .\bin\jboss-cli.bat --file=docs\examples\enable-elytron-se17.cli
> .\bin\jboss-cli.bat --file=docs\examples\enable-elytron-se17.cli
1.3. Red Hat Single Sign-On 서버 시작
시스템을 설치한 시스템에서 서버를 시작합니다.
사전 요구 사항
- Red Hat Single Sign-On 서버를 설치하는 동안 오류가 발생하지 않았습니다.
절차
-
서버 배포의
bin
디렉터리로 이동합니다. 독립 실행형
부팅 스크립트를 실행합니다.Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd bin ./standalone.sh
$ cd bin $ ./standalone.sh
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > ...\bin\standalone.bat
> ...\bin\standalone.bat
1.4. 관리자 계정 생성
Red Hat Single Sign-On을 사용하려면 Red Hat Single Sign-On 관리 콘솔에 로그인하는 데 사용하는 관리자 계정을 만들어야 합니다.
사전 요구 사항
- Red Hat Single Sign-On 서버를 시작한 경우 오류가 발생하지 않았습니다.
절차
웹 브라우저에서 http://localhost:8080/auth 을 엽니다.
시작 페이지가 열리고 서버가 실행 중인지 확인합니다.
시작 페이지
- 사용자 이름과 암호를 입력하여 초기 admin 사용자를 만듭니다.
1.5. 관리 콘솔에 로그인
초기 admin 계정을 생성한 후 관리 콘솔에 로그인할 수 있습니다. 이 콘솔에서는 Red Hat Single Sign-On에서 보호할 사용자를 추가하고 애플리케이션을 등록합니다.
사전 요구 사항
- 관리자 콘솔에 대한 관리자 계정이 있습니다.
절차
welcome 페이지에서 Administration Console (관리 콘솔) 링크를 클릭하거나 http://localhost:8080/auth/admin/ ( 콘솔 URL)으로 직접 이동합니다.
참고관리 콘솔은 일반적으로 Red Hat Single Sign-On 설명서에서 간단한 관리 콘솔이라고 합니다.
admin 콘솔 을 열기 위해 welcome 페이지에서 만든 사용자 이름과 암호를 입력합니다.
관리자 콘솔 로그인 화면
관리 콘솔의 초기 화면이 표시됩니다.
관리자 콘솔
다음 단계
이제 관리자 콘솔에 로그인할 수 있으므로 관리자가 사용자를 생성하고 애플리케이션에 대한 액세스 권한을 부여할 수 있는 영역 생성을 시작할 수 있습니다. 자세한 내용은 영역 및 사용자 생성을 참조하십시오.
2장. 영역 및 사용자 생성
Red Hat Single Sign-On 관리 콘솔을 처음 사용하는 것은 영역을 생성하고 해당 영역에 사용자를 만드는 것입니다. 해당 사용자를 사용하여 새 영역에 로그인하고 기본 제공 계정 콘솔을 방문하여 모든 사용자가 액세스할 수 있습니다.
2.1. 영역 및 사용자
관리 콘솔에 로그인하면 오브젝트를 관리하는 공간인 영역에서 작업합니다. 두 가지 유형의 영역이 있습니다.
-
마스터 영역
- 이 영역은 Red Hat Single Sign-On을 처음 시작할 때 생성되었습니다. 첫 번째 로그인 시 생성한 관리자 계정이 포함되어 있습니다. 이 영역을 사용하여 다른 영역을 생성합니다. -
기타 영역
- 이러한 영역은 마스터 영역의 관리자가 만듭니다. 이러한 영역에서 관리자는 사용자와 애플리케이션을 생성합니다. 애플리케이션은 사용자가 소유합니다.
2.2. 영역 생성
마스터 영역의 관리자는 관리자가 사용자 및 애플리케이션을 생성하는 영역을 생성합니다.
사전 요구 사항
- Red Hat Single Sign-On이 설치되어 있어야 합니다.
- 관리자 콘솔의 초기 admin 계정이 있어야 합니다.
절차
- http://localhost:8080/auth/admin/ 으로 이동하여 admin 계정을 사용하여 Red Hat Single Sign-On 관리 콘솔에 로그인합니다.
- 마스터 메뉴에서 Add CloudEvent를 클릭합니다. 마스터 영역에 로그인하면 이 메뉴에 다른 모든 영역이 나열됩니다.
Name 필드에
demo
를 입력합니다.새 영역
참고영역 이름은 대소문자를 구분하지 않으므로 사용하는 사례를 기록해 두십시오.
생성을 클릭합니다.
기본 admin console 페이지가 와 realm이
demo
로 설정된 상태로 열립니다.데모 영역
-
Select realm 드롭다운 목록에서
마스터
영역과 방금 만든 영역을 관리하는 사이를 전환합니다.
2.3. 사용자 생성
데모
영역에서 해당 새 사용자에 대한 새 사용자와 임시 암호를 만듭니다.
절차
- 메뉴에서 Users 를 클릭하여 사용자 목록 페이지를 엽니다.
- 빈 사용자 목록 오른쪽에 있는 사용자 추가를 클릭하여 사용자 추가 페이지를 엽니다.
Username
필드에 이름을 입력합니다.이 필드는 유일한 필수 항목입니다.
사용자 페이지 추가
확인 이메일 의 On 으로 전환한 후 저장 을 클릭합니다.
새 사용자의 관리 페이지가 열립니다.
- 인증 정보 탭을 클릭하여 새 사용자의 임시 암호를 설정합니다.
- 새 암호를 입력하고 확인합니다.
Set Password 를 클릭하여 사용자 암호를 사용자가 지정한 새 암호로 설정합니다.
인증 정보 페이지 관리
참고이 암호는 임시이며 사용자가 처음 로그인할 때 변경해야 합니다. 영속적인 암호를 만들려면 Temporary 스위치를 Off 로 바꾸고 Set Password 를 클릭합니다.
2.4. 계정 콘솔에 로그인
영역의 모든 사용자는 계정 콘솔에 액세스할 수 있습니다. 이 콘솔을 사용하여 프로필 정보를 업데이트하고 인증 정보를 변경합니다. 이제 생성한 영역에서 해당 사용자로 로그인을 테스트할 수 있습니다.
절차
- 사용자 메뉴를 열고 Sign Out 을 선택하여 관리 콘솔에서 로그아웃합니다.
-
http://localhost:8080/auth/realms/demo/account 으로 이동하여 방금 생성한 사용자로
데모
영역에 로그인합니다. 새 암호를 입력하라는 메시지가 표시되면 기억할 수 있는 암호를 입력합니다.
암호 업데이트
이 사용자에 대한 계정 콘솔이 열립니다.
계정 콘솔
- 이 페이지를 사용하여 테스트할 값을 사용하여 필수 필드를 작성합니다.
다음 단계
이제 JBoss EAP에서 실행되는 샘플 애플리케이션을 보호할 수 있는 최종 절차를 수행할 준비가 되었습니다. 샘플 애플리케이션 보안을 참조하십시오.
3장. 샘플 애플리케이션 보안
이제 관리자 계정, 영역, 사용자가 있으므로 Red Hat Single Sign-On을 사용하여 샘플 JBoss EAP 서블릿 애플리케이션을 보호할 수 있습니다. JBoss EAP 클라이언트 어댑터를 설치하고, 관리 콘솔에 애플리케이션을 등록하고, Red Hat Single Sign-On과 함께 작동하도록 JBoss EAP 인스턴스를 수정하고, 일부 샘플 코드와 함께 Red Hat Single Sign-On을 사용하여 애플리케이션을 보호합니다.
사전 요구 사항
- JBoss EAP와의 포트 충돌을 방지하려면 Red Hat Single Sign-On에서 사용하는 포트를 조정해야 합니다.
3.1. Red Hat Single Sign-On에서 사용하는 포트 조정
이 가이드의 지침은 Red Hat Single Sign-On 서버와 동일한 시스템에서 JBoss EAP를 실행하는 데 적용됩니다. 이 경우 JBoss EAP가 Red Hat Single Sign-On과 함께 제공되는 경우에도 JBoss EAP를 애플리케이션 컨테이너로 사용할 수 없습니다. 서블릿 애플리케이션에 대해 별도의 JBoss EAP 인스턴스를 실행해야 합니다.
포트 충돌을 방지하려면 Red Hat Single Sign-On 및 JBoss EAP를 실행하려면 다른 포트가 필요합니다.
사전 요구 사항
- 관리자 콘솔에 대한 관리자 계정이 있습니다.
- 데모 영역을 생성하셨습니다.
- 데모 영역에 사용자를 생성하셨습니다.
절차
- Red Hat 고객 포털에서 JBoss EAP 7.3을 다운로드합니다.
다운로드한 JBoss EAP의 압축을 풉니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow unzip <filename>.zip
$ unzip <filename>.zip
- Red Hat Single Sign-On 루트 디렉터리로 변경합니다.
jboss.socket.binding.port-offset
시스템 속성의 값을 제공하여 Red Hat Single Sign-On 서버를 시작합니다. 이 값은 Red Hat Single Sign-On 서버에서 연 모든 포트의 기본 값에 추가됩니다. 이 예에서 100 은 값입니다.Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd bin ./standalone.sh -Djboss.socket.binding.port-offset=100
$ cd bin $ ./standalone.sh -Djboss.socket.binding.port-offset=100
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > ...\bin\standalone.bat -Djboss.socket.binding.port-offset=100
> ...\bin\standalone.bat -Djboss.socket.binding.port-offset=100
Windows Powershell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > ...\bin\standalone.bat -D"jboss.socket.binding.port-offset=100"
> ...\bin\standalone.bat -D"jboss.socket.binding.port-offset=100"
Red Hat Single Sign-On 서버가 실행 중인지 확인합니다. http://localhost:8180/auth/admin/ 으로 이동합니다.
관리 콘솔이 열리면 JBoss EAP가 Red Hat Single Sign-On과 함께 작동할 수 있는 클라이언트 어댑터를 설치할 준비가 된 것입니다.
3.2. JBoss EAP 클라이언트 어댑터 설치
JBoss EAP와 Red Hat Single Sign-On이 동일한 시스템에 설치된 경우 JBoss EAP를 수정해야 합니다. 이러한 수정을 위해 Red Hat Single Sign-On 클라이언트 어댑터를 설치합니다.
사전 요구 사항
- JBoss EAP가 설치되어 있어야 합니다.
-
이 파일을 사용자 지정한 경우
../standalone/configuration/standalone.xml
파일의 백업이 있습니다.
절차
- Red Hat 고객 포털에서 EAP 7용 클라이언트 어댑터 를 다운로드합니다.
- JBoss EAP의 루트 디렉터리로 변경합니다.
이 디렉터리에서 다운로드한 클라이언트 어댑터의 압축을 풉니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow unzip <filename>.zip
$ unzip <filename>.zip
bin 디렉토리로 변경합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd bin
$ cd bin
플랫폼에 적합한 스크립트를 실행합니다.
참고파일을 찾을
수 없는 경우 이전 단계에서unzip
을 사용했는지 확인합니다. 이 추출 방법을 사용하면 파일을 올바른 위치에 설치합니다.Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./jboss-cli.sh --file=adapter-elytron-install-offline.cli
$ ./jboss-cli.sh --file=adapter-elytron-install-offline.cli
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > jboss-cli.bat --file=adapter-elytron-install-offline.cli
> jboss-cli.bat --file=adapter-elytron-install-offline.cli
참고이 스크립트는 필요한
…/standalone/configuration/standalone.xml
파일을 편집합니다.애플리케이션 서버를 시작합니다.
Linux/Unix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./standalone.sh
$ ./standalone.sh
Windows
Copy to Clipboard Copied! Toggle word wrap Toggle overflow > ...\standalone.bat
> ...\standalone.bat
3.3. JBoss EAP 애플리케이션 등록
이제 Red Hat Single Sign-On 관리 콘솔에서 클라이언트를 정의하고 등록할 수 있습니다.
사전 요구 사항
- JBoss EAP에서 작동하도록 클라이언트 어댑터를 설치했습니다.
절차
- 관리자 계정으로 관리자 콘솔에 로그인합니다. http://localhost:8180/auth/admin/
-
왼쪽 상단 드롭다운 목록에서demo 영역을
선택합니다
. 왼쪽 메뉴에서
Clients
를 클릭하여 클라이언트 페이지를 엽니다.클라이언트
- 오른쪽에서 Create 를 클릭합니다.
Add Client 대화 상자에서 아래와 같이 필드 를 완료하여 vanora라는 클라이언트를 생성합니다.
클라이언트 추가
- 저장을 클릭합니다.
- 표시되는 Van ill client 페이지에서 Installation 탭을 클릭합니다.
Keycloak OIDC JSON 을 선택하여 이후 프로세스에서 필요한 파일을 생성합니다.
keycloak.json 파일
- 나중에 찾을 수 있는 위치에 Keycloak.json 을 저장하려면 다운로드를 클릭합니다.
Keycloak OIDC JBossECDHE XML 을 선택하여 XML 템플릿을 생성합니다.
템플릿 XML
- 다운로드를 클릭하여 JBoss EAP 구성과 관련된 다음 절차에서 사용할 사본을 저장합니다.
3.4. JBoss EAP 인스턴스 수정
JBoss EAP 서블릿 애플리케이션은 Red Hat Single Sign-On에서 보호되기 전에 추가 구성이 필요합니다.
사전 요구 사항
- 데모 영역에 vanille l 이라는 클라이언트를 생성하셨습니다.
- 이 클라이언트의 템플릿 XML 파일을 저장했습니다.
절차
-
JBoss EAP 루트 디렉터리의
독립 실행형/구성
디렉터리로 이동합니다. standalone.xml
파일을 열고 다음 텍스트를 검색합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
다음과 같이 XML 항목을 self-closing에서 한 쌍의 열기 및 닫기 태그로 변경합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <subsystem xmlns="urn:jboss:domain:keycloak:1.1"> </subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> </subsystem>
다음 예제와 같이 <
subsystem>
요소 내에 XML 템플릿의 내용을 붙여넣습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="WAR MODULE NAME.war"> <realm>demo</realm> <auth-server-url>http://localhost:8180/auth</auth-server-url> <public-client>true</public-client> <ssl-required>EXTERNAL</ssl-required> <resource>vanilla</resource> </secure-deployment> </subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="WAR MODULE NAME.war"> <realm>demo</realm> <auth-server-url>http://localhost:8180/auth</auth-server-url> <public-client>true</public-client> <ssl-required>EXTERNAL</ssl-required> <resource>vanilla</resource> </secure-deployment> </subsystem>
WAR MODULE NAME.war
를 vanill.war
로 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="vanilla.war"> ... </subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="vanilla.war"> ... </subsystem>
- 애플리케이션 서버를 재부팅합니다.
3.5. 애플리케이션 보안을 위해 샘플 코드 설치
최종 절차는 https://github.com/redhat-developer/redhat-sso-quickstarts 리포지토리에서 일부 샘플 코드를 설치하여 이 애플리케이션을 보호하는 것입니다. 빠른 시작은 최신 Red Hat Single Sign-On 릴리스와 함께 작동합니다.
샘플 코드는 app-profile-jee-vananchor 빠른 시작입니다. WAR를 변경하지 않고 기본 인증으로 보호되는 자karta EE 애플리케이션을 변경하는 방법을 보여줍니다. Red Hat Single Sign-On 클라이언트 어댑터 하위 시스템은 인증 방법을 변경하고 구성을 삽입합니다.
사전 요구 사항
다음을 시스템에 설치하고 PATH에서 사용할 수 있습니다.
- Java JDK 8
- Apache Maven 3.1.1 이상
- Git
keycloak.json 파일이 있습니다.
절차
- JBoss EAP 애플리케이션 서버가 시작되었는지 확인합니다.
다음 명령을 사용하여 코드를 다운로드하고 디렉토리를 변경합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow git clone https://github.com/redhat-developer/redhat-sso-quickstarts cd redhat-sso-quickstarts/app-profile-jee-vanilla/config
$ git clone https://github.com/redhat-developer/redhat-sso-quickstarts $ cd redhat-sso-quickstarts/app-profile-jee-vanilla/config
-
keycloak.json
파일을 현재 디렉터리에 복사합니다. -
한 레벨을
app-profile-jee-vancatalog 디렉토리로
이동합니다. 다음 명령을 사용하여 코드를 설치합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn clean wildfly:deploy
$ mvn clean wildfly:deploy
애플리케이션 설치에 성공했는지 확인합니다. 로그인 페이지가 표시되는 http://localhost:8080/vanilla 로 이동합니다.
성공 확인 로그인 페이지
데모 영역에서 만든 계정을 사용하여 로그인합니다.
데모 영역으로 로그인 페이지
샘플 JBoss EAP 애플리케이션을 보호하기 위해 Red Hat Single Sign-On 사용을 성공적으로 완료했음을 나타내는 메시지가 표시됩니다. 축하합니다!
완료 성공