2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Keycloakのインポート/エクスポートの使い方の調査

Last updated at Posted at 2019-09-13

AWS Workspaces (OSはAmazon Linux2)
Keycloak 7.0.0

KeycloakのDockerコンテナ起動

# AWS Workspaces環境のみ
$ sudo vi /etc/docker/daemon.json

# 以下を追加
{
    "dns": ["8.8.8.8", "8.8.4.4"]
}

$ sudo service docker restart

$ cd
$ mkdir -p dkwork/keycloak/tmp
$ cd dkwork/keycloak
$ chmod 777 tmp

$ docker run -d -p 18080:8080 \
  -e KEYCLOAK_USER=admin \
  -e KEYCLOAK_PASSWORD=admin \
  -v $(pwd)/tmp:/tmp \
  --name keycloak \
  jboss/keycloak:7.0.0

レルム追加/SSL required設定変更/追加レルムの管理ユーザー追加

$ docker exec -it keycloak bash

# Admin CLI コマンドで「SSL required」を「NONE」に変更
# Keycloakのデフォルト設定だと「SSL required」項目により、SSL通信が必須
# HTTP通信で使うために設定を変更
# 管理者ID(ここではadmin)で認証情報を設定する

$ keycloak/bin/kcadm.sh config credentials \
--server http://localhost:8080/auth \
--realm master \
--user admin \
--password admin

# レルム「master」のSSL requiredを「NONE」に変更
$ keycloak/bin/kcadm.sh update realms/master -s sslRequired=NONE

$ exit

ブラウザでKeycloakの管理画面にログイン(admin/admin)
http://IPアドレス:18080/auth/admin

レルム「test」追加

・「Add realm」ボタンクリック
・Nameに「test」を入力して「Create」ボタンクリック

レルム「test」のSSL required設定、管理ユーザー追加

docker exec -it keycloak bash

$ keycloak/bin/kcadm.sh config credentials \
--server http://localhost:8080/auth \
--realm master \
--user admin \
--password admin

# レルム「test」のSSL requiredを「NONE」に変更
$ keycloak/bin/kcadm.sh update realms/test -s sslRequired=NONE

# レルム「test」の管理ユーザー作成
# レルム名「test」、ユーザー・パスワード「testadmin」
$ keycloak/bin/add-user-keycloak.sh -r test -u testadmin -p testadmin

$ exit
$ docker restart keycloak

レルム「test」の情報をエクスポート

#「 services are lazy, passive or on-demand)」の表示が出たらCtrl+C
$ docker exec -it keycloak keycloak/bin/standalone.sh \
  -Djboss.socket.binding.port-offset=100 -Dkeycloak.migration.action=export \
  -Dkeycloak.migration.provider=singleFile \
  -Dkeycloak.migration.realmName=test \
  -Dkeycloak.migration.usersExportStrategy=REALM_FILE \
  -Dkeycloak.migration.file=/tmp/test.json

$ docker stop keycloak
$ docker rm keycloak

レルム「test」の情報をインポート

$ docker run -d -p 18080:8080 \
  -e KEYCLOAK_USER=admin \
  -e KEYCLOAK_PASSWORD=admin \
  -e KEYCLOAK_IMPORT=/tmp/test.json \
  -v $(pwd)/tmp/test.json:/tmp/test.json \
  --name keycloak \
  jboss/keycloak:7.0.0

$ docker exec -it keycloak bash

# Admin CLI コマンドで「SSL required」を「NONE」に変更
# Keycloakのデフォルト設定だと「SSL required」項目により、SSL通信が必須
# HTTP通信で使うために設定を変更
# 管理者ID(ここではadmin)で認証情報を設定する

$ keycloak/bin/kcadm.sh config credentials \
--server http://localhost:8080/auth \
--realm master \
--user admin \
--password admin

# レルム「master」のSSL requiredを「NONE」に変更
$ keycloak/bin/kcadm.sh update realms/master -s sslRequired=NONE

$ exit

ブラウザでKeycloakの管理画面にログイン(admin/admin)
http://IPアドレス:18080/auth/admin

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?