AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 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 の
gapwalk-application.security.claimGroupNameプロパティを設定する際に必要になります。
-
[領域ロール] を選択し、
SUPER_ADMIN、ADMIN、USERの 3 つのロールを作成します。これらのロールは、後に 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、およびクライアントシークレットに置き換えてください。