スタートガイド
Red Hat Single Sign-On 7.5 向け
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat Single Sign-On のサンプルインスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、スタンドアロンモードで Red Hat Single Sign-On サーバーをインストールして起動し、初期管理ユーザーを設定し、Red Hat Single Sign-On 管理コンソールにログインする方法を説明します。
関連情報
このインストールは、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 サーバー (rh-sso-7.5.zip) をダウンロードします。
- 選択したディレクトリーにファイルを配置します。
unzip、tar、Expand-Archive などの適切な
unzipユーティリティーを使用して ZIP ファイルを展開します。Linux/Unix
unzip rhsso-7.5.zip or tar -xvzf rh-sso-7.5.tar.gz
$ unzip rhsso-7.5.zip or $ tar -xvzf rh-sso-7.5.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows
> Expand-Archive -Path 'C:Downloads\rhsso-7.5.zip' -DestinationPath 'C:\Downloads'
> Expand-Archive -Path 'C:Downloads\rhsso-7.5.zip' -DestinationPath 'C:\Downloads'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2. Red Hat Single Sign-On サーバーの起動 リンクのコピーリンクがクリップボードにコピーされました!
インストールしたシステムでサーバーを起動します。
前提条件
- Red Hat Single Sign-On サーバーのインストール時にエラーはありません。
手順
-
サーバーディストリビューションの
binディレクトリーに移動します。 ブートスクリプト
standaloneを実行します。Linux/Unix
cd bin ./standalone.sh
$ cd bin $ ./standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows
> ...\bin\standalone.bat
> ...\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. 管理アカウントの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On を使用する前に、Red Hat Single Sign-On 管理コンソールにログインするのに使用する管理者アカウントを作成する必要があります。
前提条件
- Red Hat Single Sign-On サーバーを起動した場合、エラーはありません。
手順
Web ブラウザーで http://localhost:8080/auth を開きます。
Welcome ページが開き、サーバーが実行していることを確認します。
Welcome ページ
- ユーザー名とパスワードを入力して、最初の管理ユーザーを作成します。
1.4. 管理コンソールへのログイン リンクのコピーリンクがクリップボードにコピーされました!
初期管理者アカウントを作成したら、管理コンソールにログインすることができます。このコンソールで、Red Hat Single Sign-On が保護されるようにユーザーを追加し、アプリケーションを登録します。
前提条件
- 管理コンソールの管理者アカウントがある。
手順
Welcome ページの Administration Console リンクをクリックします。または、http://localhost:8080/auth/admin/ (コンソール URL) に直接アクセスします。
注記管理コンソールは通常、Red Hat Single Sign-On ドキュメントの管理コンソールと呼ばれます。
Welcome ページで作成したユーザー名とパスワードを入力して、管理コンソール を開きます。
管理コンソールのログイン画面
管理コンソールの初期画面が表示されます。
管理コンソール
次のステップ
管理コンソールにログインできるようになったので、管理者がユーザーを作成できるレルムの作成を開始でき、アプリケーションへのアクセス権限を付与できます。詳細は、レルムおよびユーザーの作成 を参照してください。
第2章 レルムおよびユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On 管理コンソールの最初の使い方は、レルムを作成し、そのレルムでユーザーを作成します。そのユーザーを使用して、新しいレルムにログインし、すべてのユーザーがアクセス可能な組み込みアカウントコンソールにアクセスします。
2.1. レルムとユーザー リンクのコピーリンクがクリップボードにコピーされました!
管理コンソールにログインすると、レルムで作業します。このレルムは、オブジェクトを管理するスペースになります。以下のレルムには 2 つのタイプがあります。
-
Master レルム- このレルムは、Red Hat Single Sign-On の初回起動時に作成されました。これには、初回ログイン時に作成した管理者アカウントが含まれます。このレルムを使用して他のレルムのみを作成します。 -
他のレルム- これらのレルムは、マスターレルムで管理者により作成されます。これらのレルムでは、管理者はユーザーとアプリケーションを作成します。アプリケーションはユーザーが所有します。
2.2. レルムの作成 リンクのコピーリンクがクリップボードにコピーされました!
マスターレルムの管理者として、管理者がユーザーおよびアプリケーションを作成するレルムを作成します。
前提条件
- Red Hat Single Sign-On がインストールされている。
- 管理コンソールの初期管理者アカウントがある。
手順
- http://localhost:8080/auth/admin/ にアクセスし、管理者アカウントを使用して Red Hat Single Sign-On 管理コンソールにログインします。
- マスターメニューから、Add Realm をクリックします。マスターレルムにログインすると、このメニューには他のすべてのレルムが一覧表示されます。
Name フィールドに
demoと入力します。新しいレルム
注記レルム名は大文字と小文字を区別するため、使用するケースを書き留めます。
Create をクリックします。
レルムを
demoに設定し、メインの管理コンソールページが開きます。demo レルム
-
Select realm ドロップダウンリストでエントリーをクリックして、
masterレルムと、作成したレルムの管理を切り替えます。
2.3. ユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
demo レルムでは、新規ユーザーと、その新しいユーザーの一時パスワードを作成します。
手順
- メニューから Users をクリックしてユーザー一覧ページを開きます。
- 空のユーザー一覧の右側で、Add User をクリックして Add user ページを開きます。
Usernameフィールドに名前を入力します。これは唯一の必須フィールドです。
Add user ページ
Email Verified スイッチを On に切り替え、Save をクリックします。
新規ユーザーの管理ページが開きます。
- Credentials タブをクリックして、新規ユーザーの一時パスワードを設定します。
- 新規パスワードを入力して確認します。
Set Password をクリックして、指定した新しいパスワードにユーザーパスワードを設定します。
認証情報ページの管理
注記このパスワードは一時的なもので、ユーザーは初回ログイン時にパスワードを変更する必要があります。永続的なパスワードを作成する場合は、Temporary スイッチを Off に切り替え、Set Password をクリックします。
2.4. アカウントコンソールへのログイン リンクのコピーリンクがクリップボードにコピーされました!
レルムのすべてのユーザーは、アカウントコンソールにアクセスできます。このコンソールを使用してプロファイル情報を更新し、認証情報を変更します。作成したレルムのそのユーザーでログインをテストすることができます。
手順
- ユーザーメニューを開き、Sign Out を選択して管理コンソールからログアウトします。
-
http://localhost:8080/auth/realms/demo/account にアクセスし、作成したユーザーとして
demoレルムにログインします。 新しいパスワードを入力するように求められたら、記憶できるパスワードを入力します。
パスワードの更新
このユーザーにアカウントコンソールが開きます。
アカウントコンソール
- このページを使用してテストする値で必須フィールドに入力します。
次のステップ
これで、JBoss EAP で実行されるサンプルアプリケーションをセキュアにする最終手順ができました。サンプルアプリケーションのセキュリティー保護 を参照してください。
第3章 サンプルアプリケーションのセキュリティー保護 リンクのコピーリンクがクリップボードにコピーされました!
これで、管理者アカウント、レルム、およびユーザーが、Red Hat Single Sign-On を使用してサンプル JBoss EAP サーブレットアプリケーションをセキュアにできるようになりました。JBoss EAP クライアントアダプターをインストールし、管理コンソールでアプリケーションを登録し、JBoss EAP インスタンスを変更して Red Hat Single Sign-On と連携し、一部のサンプルコードと 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 を展開します。
unzip <filename>.zip
$ unzip <filename>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Single Sign-On の root ディレクトリーに移動します。
jboss.socket.binding.port-offsetシステムプロパティーの値を指定して、Red Hat Single Sign-On サーバーを起動します。この値は、Red Hat Single Sign-On サーバーにより開かれる全ポートのベース値に追加されます。この例では、100 が値です。Linux/Unix
cd bin ./standalone.sh -Djboss.socket.binding.port-offset=100
$ cd bin $ ./standalone.sh -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows
> ...\bin\standalone.bat -Djboss.socket.binding.port-offset=100
> ...\bin\standalone.bat -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows Powershell
> ...\bin\standalone.bat -D"jboss.socket.binding.port-offset=100"
> ...\bin\standalone.bat -D"jboss.socket.binding.port-offset=100"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 カスタマーポータル から、Client Adapter for EAP 7 をダウンロードします。
- JBoss EAP のルートディレクトリーに移動します。
ダウンロードしたクライアントアダプターをこのディレクトリーに展開します。以下に例を示します。
unzip <filename>.zip
$ unzip <filename>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow bin ディレクトリーに移動します。
cd bin
$ cd binCopy to Clipboard Copied! Toggle word wrap Toggle overflow プラットフォームに適したスクリプトを実行します。
注記file not foundエラーが発生した場合は、前の手順でunzipを使用していたことを確認してください。この抽出方法は、正しい場所にファイルをインストールします。Linux/Unix
./jboss-cli.sh --file=adapter-elytron-install-offline.cli
$ ./jboss-cli.sh --file=adapter-elytron-install-offline.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows
> jboss-cli.bat --file=adapter-elytron-install-offline.cli
> jboss-cli.bat --file=adapter-elytron-install-offline.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このスクリプトを使用すると、
…/standalone/configuration/standalone.xmlファイルに必要な編集が行われます。アプリケーションサーバーを起動します。
Linux/Unix
./standalone.sh
$ ./standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows
> ...\standalone.bat
> ...\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. JBoss EAP アプリケーションの登録 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On 管理コンソールでクライアントを定義し、登録できるようになりました。
前提条件
- JBoss EAP と連携するクライアントアダプターがインストールされている。
手順
- 管理者アカウントで管理コンソール (http://localhost:8180/auth/admin/) にログインします。
-
左上のドロップダウンリストで、
Demoレルムを選択します。 左側のメニューで
Clientsをクリックし、クライアントページを開きます。クライアント
- 右側の Create をクリックします。
クライアントの追加ダイアログで、以下のようにフィールドを完了して、vanilla という名前のクライアントを作成します。
クライアントの追加
- Save をクリックします。
- 表示される Vanilla クライアントページで、Installation タブをクリックします。
Keycloak OIDC JSON を選択して、後で必要なファイルを生成します。
Keycloak.json ファイル
- Download をクリックして、後で確認できる場所に Keycloak.json を保存します。
Keycloak OIDC JBoss Subsystem XML を選択して XML テンプレートを生成します。
テンプレート XML
- Download をクリックして、次の手順で使用するコピーを保存します。これには JBoss EAP の設定が含まれます。
3.4. JBoss EAP インスタンスの変更 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP サーブレットアプリケーションは、Red Hat Single Sign-On によってセキュア化される前に追加の設定を必要とします。
前提条件
- demo レルムに、vanilla という名前のクライアントが作成されている。
- このクライアントのテンプレート XML ファイルを保存している。
手順
-
JBoss EAP ルートディレクトリーの
standalone/configurationディレクトリーに移動します。 standalone.xmlファイルを開き、以下のテキストを検索します。<subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次に示すように、XML エントリーを自己終了から開始タグと終了タグのペアを使用するように変更します。
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> </subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように、XML テンプレートの内容を
<subsystem>要素内に貼り付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow WAR MODULE NAME.warをvanilla.warに変更します。<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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションサーバーを再起動します。
3.5. アプリケーションをセキュアにするためのサンプルコードのインストール リンクのコピーリンクがクリップボードにコピーされました!
最後の手順は、https://github.com/redhat-developer/redhat-sso-quickstarts リポジトリーから一部のサンプルコードをインストールして、このアプリケーションのセキュリティーを保護する方法を説明します。クイックスタートは、最新の Red Hat Single Sign-On リリースと連携します。
サンプルコードは app-profile-jee-vanilla クイックスタートです。これは、WAR を変更せずに Basic 認証でセキュア化された Jakarta EE アプリケーションを変更する方法を実証します。Red Hat Single Sign-On クライアントアダプターサブシステムは認証方法を変更し、設定を挿入します。
前提条件
以下がマシンにインストールされ、PATH で利用できる。
- Java JDK 8
- Apache Maven 3.1.1 以降
- Git
keycloak.json ファイルがある。
手順
- JBoss EAP アプリケーションサーバーが起動していることを確認します。
以下のコマンドを使用して、コードをダウンロードし、ディレクトリーを変更します。
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/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
keycloak.jsonファイルを現在のディレクトリーにコピーします。 -
app-profile-jee-vanillaディレクトリーに移動します。 以下のコマンドを使用してコードをインストールします。
mvn clean wildfly:deploy
$ mvn clean wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのインストールが正常に完了したことを確認します。ログインページが表示される http://localhost:8080/vanilla に移動します。
成功を確認するログインページ
demo レルムで作成したアカウントを使用してログインします。
demo レルムへのログインページ
Red Hat Single Sign-On の使用が成功したことを示すメッセージが表示され、サンプル JBoss EAP アプリケーションを保護します。おめでとうございます。
完全な成功