AWS Mainframe Modernization Service(관리형 런타임 환경 환경 환경)는 2025년 11월 7일부터 신규 고객에게 더 이상 공개되지 않습니다. 서비스를 사용하려면 2025년 11월 7일 이전에 가입하세요. AWS Mainframe Modernization Service(관리형 런타임 환경 환경)와 유사한 기능의 경우 AWS Mainframe Modernization Service(자체 관리형 환경)를 살펴보세요. 기존 고객은 평소처럼 서비스를 계속 사용할 수 있습니다. 자세한 내용은 AWS Mainframe Modernization 가용성 변경을 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Keycloak을 사용하여 Gapwalk OAuth2 인증 구성
이 주제에서는 Keycloak을 ID 제공업체(IdP)로 사용하여 Gapwalk 애플리케이션에 대한 OAuth2 인증을 구성하는 방법에 대해 설명합니다. 이 자습서에서는 Keycloak 24.0.0을 사용합니다.
사전 조건
-
Gapwalk 애플리케이션
Keycloak 설정
-
웹 브라우저에서 Keycloak 대시보드로 이동합니다. 기본 자격 증명은 admin/admin입니다. 왼쪽 상단 탐색 모음으로 이동하여 다음 이미지와 같이
demo이름으로 영역을 생성합니다.
-
app-demo라는 폴더를 생성합니다.
localhost:8080을 Gapwalk 애플리케이션의 주소로 바꿉니다.
-
클라이언트 보안 암호를 가져오려면 클라이언트, app-demo, 자격 증명을 차례로 선택합니다.
-
클라이언트, 클라이언트 범위, 사전 정의된 매퍼 추가를 차례로 선택합니다. 영역 역할을 선택합니다.
-
다음 이미지에 표시된 구성으로 영역 역할을 편집합니다.
-
정의된 토큰 클레임 이름을 기억하세요.
gapwalk-application.security.claimGroupName속성에 대한 Gapwalk 설정 정의에 이 값이 필요합니다.
-
영역 역할을 선택하고,
SUPER_ADMIN,ADMIN및USER의 세 가지 역할을 생성합니다. 이러한 역할은 나중에 Gapwalk 애플리케이션에 의해ROLE_SUPER_ADMIN,ROLE_ADMIN및ROLE_USER에 매핑되어 일부 제한된 API REST 직접 호출에 액세스할 수 있습니다.
Keycloak을 Gapwalk 애플리케이션에 통합
다음과 같이 application-main.yml을 편집합니다.
gapwalk-application.security: enabled gapwalk-application.security.identity: oauth gapwalk-application.security.issuerUri: http://<KEYCLOAK_SERVER_HOSTNAME>/realms/<YOUR_REALM_NAME> gapwalk-application.security.claimGroupName: "keycloak:groups" gapwalk-application.security.userAttributeName: "preferred_username" # Use "username" for cognito, # "preferred_username" for keycloak # or any other string gapwalk-application.security.localhostWhitelistingEnabled: false spring: security: oauth2: client: registration: demo: client-id: <YOUR_CLIENT_ID> client-name: Demo App client-secret: <YOUR_CLIENT_SECRET> provider: keycloak authorization-grant-type: authorization_code scope: openid redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" provider: keycloak: issuer-uri: ${gapwalk-application.security.issuerUri} authorization-uri: ${gapwalk-application.security.issuerUri}/protocol/openid-connect/auth jwk-set-uri: ${gapwalk-application.security.issuerUri}/protocol/openid-connect/certs token-uri: ${gapwalk-application.security.issuerUri}/protocol/openid-connect/token user-name-attribute: ${gapwalk-application.security.userAttributeName} resourceserver: jwt: jwk-set-uri: ${gapwalk-application.security.issuerUri}/protocol/openid-connect/certs
<KEYCLOAK_SERVER_HOSTNAME>, <YOUR_REALM_NAME>, <YOUR_CLIENT_ID> 및 <YOUR_CLIENT_SECRET>을 Keycloak 서버 호스트 이름, 영역 이름, 클라이언트 ID 및 클라이언트 보안 암호로 바꿉니다.