18.9. 사용자 작업
사용자 생성
사용자 끝점에서
생성합니다.
create
명령을 실행하여 새 사용자를
예를 들면 다음과 같습니다.
$ kcadm.sh create users -r demorealm -s username=testuser -s enabled=true
사용자 나열
사용자
엔드포인트를 사용하여 사용자를 나열합니다. 다음에 로그인할 때 대상 사용자가 암호를 변경해야 합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get users -r demorealm --offset 0 --limit 1000
사용자 이름 ,firstName
,
lastName
, email
으로 사용자를 필터링할 수 있습니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get users -r demorealm -q email=google.com $ kcadm.sh get users -r demorealm -q username=testuser
필터는 정확히 일치하는 항목을 사용하지 않습니다. 이 예제는 *ECDHE *
패턴에 대한 username
속성 값과 일치합니다.
여러 -q
옵션을 지정하여 여러 속성을 필터링할 수 있습니다. Red Hat Single Sign-On은 모든 속성에 대해서만 조건과 일치하는 사용자를 반환합니다.
특정 사용자 가져오기
사용자 ID를 사용하여 사용자/USER_ID와 같은 엔드포인트 URI를 작성합니다
.
예를 들면 다음과 같습니다.
$ kcadm.sh get users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm
사용자 업데이트
특정 사용자를 가져오는 데 사용하는 것과 동일한 끝점 URI로 update
명령을 사용합니다.
예를 들면 다음과 같습니다.
- Linux:
$ kcadm.sh update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm -s 'requiredActions=["VERIFY_EMAIL","UPDATE_PROFILE","CONFIGURE_TOTP","UPDATE_PASSWORD"]'
- Windows:
c:\> kcadm update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm -s "requiredActions=[\"VERIFY_EMAIL\",\"UPDATE_PROFILE\",\"CONFIGURE_TOTP\",\"UPDATE_PASSWORD\"]"
사용자 삭제
특정 사용자를 가져오는 데 사용하는 것과 동일한 끝점 URI로 delete
명령을 사용합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh delete users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm
사용자 암호 재설정
전용 set-password
명령을 사용하여 사용자 암호를 재설정합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh set-password -r demorealm --username testuser --new-password NEWPASSWORD --temporary
이 명령은 사용자의 임시 암호를 설정합니다. 다음에 로그인할 때 대상 사용자는 암호를 변경해야 합니다.
userid를 사용하여
속성을 사용하여 사용자를 지정할 수 있습니다.
id
users/USER_ID/reset-password
와 같은 특정 사용자를 가져오는 데 사용한 끝점에서 구성된 엔드포인트에서 update
명령을 사용하여 동일한 결과를 얻을 수 있습니다.
예를 들면 다음과 같습니다.
$ kcadm.sh update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2/reset-password -r demorealm -s type=password -s value=NEWPASSWORD -s temporary=true -n
n
매개변수를 사용하면 PUT 명령보다 먼저 Red Hat Single Sign-On이 PUT
명령을 수행하지 않고 PUT
명령을 수행할 수 있습니다.
reset-password
엔드포인트에서 GET
을 지원하지 않기 때문에 이 작업이 필요합니다.
사용자에게 할당, 사용 가능, 효과적인 영역 역할 나열
get-roles
명령을 사용하여 사용자에게 할당, 사용 가능한 유효 영역 역할을 나열할 수 있습니다.
사용자 이름 또는 ID로 대상 사용자를 지정하여 사용자가 할당된 영역 역할을 나열합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser
-- effective
옵션을 사용하여 유효 영역 역할을 나열합니다.예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser --effective
--available
옵션을 사용하여 사용자에게 추가할 수 있는 영역 역할을 나열합니다.예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser --available
사용자에게 할당, 사용 가능하고 효과적인 클라이언트 역할 나열
get-roles
명령을 사용하여 사용자에게 할당된 사용 가능하고 효과적인 클라이언트 역할을 나열합니다.
사용자 이름(
--uusername
옵션) 또는 ID(-uid
옵션) 및 클라이언트를 clientId 특성(--cclientid
옵션) 또는 ID(--cid
옵션)로 지정하여 사용자에게 할당된 클라이언트 역할을 나열합니다.예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management
-- effective
옵션을 사용하여 유효 영역 역할을 나열합니다.예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management --effective
--available
옵션을 사용하여 사용자에게 추가할 수 있는 영역 역할을 나열합니다.예를 들면 다음과 같습니다.
$ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management --available
사용자에게 영역 역할 추가
add-roles
명령을 사용하여 사용자에게 영역 역할을 추가합니다.
다음 예제를 사용하여 user
역할을 사용자 testuser
에 추가합니다.
$ kcadm.sh add-roles --uusername testuser --rolename user -r demorealm
사용자에서 영역 역할 제거
remove-roles
명령을 사용하여 사용자에서 영역 역할을 제거합니다.
다음 예제를 사용하여 testuser
사용자
역할을 제거합니다.
$ kcadm.sh remove-roles --uusername testuser --rolename user -r demorealm
사용자에게 클라이언트 역할 추가
add-roles
명령을 사용하여 사용자에게 클라이언트 역할을 추가합니다.
다음 예제를 사용하여 클라이언트 영역 관리에
정의된 두 개의 역할인 create-client
역할 및 view-users
역할을 사용자 testuser
에 추가합니다.
$ kcadm.sh add-roles -r demorealm --uusername testuser --cclientid realm-management --rolename create-client --rolename view-users
사용자에서 클라이언트 역할 제거
remove-roles
명령을 사용하여 사용자의 클라이언트 역할을 제거합니다.
다음 예제를 사용하여 영역 관리 클라이언트에 정의된 두 역할을 제거합니다.
$ kcadm.sh remove-roles -r demorealm --uusername testuser --cclientid realm-management --rolename create-client --rolename view-users
사용자 세션 나열
- 사용자 ID를 식별하며,
-
ID를 사용하여
사용자/ID/sessions와 같은 끝점 URI를 작성합니다
. get
명령을 사용하여 사용자 세션 목록을 검색합니다.예를 들면 다음과 같습니다.
$kcadm get users/6da5ab89-3397-4205-afaa-e201ff638f9e/sessions
특정 세션에서 사용자 로그아웃
- 앞서 설명한 대로 세션 ID를 확인합니다.
-
세션 ID를 사용하여
세션/ID
와 같은 끝점 URI를 구성합니다. 삭제
명령을 사용하여 세션을 무효화합니다.예를 들면 다음과 같습니다.
$ kcadm.sh delete sessions/d0eaa7cc-8c5d-489d-811a-69d3c4ec84d1
모든 세션에서 사용자 로그아웃
사용자 ID를 사용하여 사용자/ID/logout
과 같은 끝점 URI를 구성합니다.
create
명령을 사용하여 해당 엔드포인트 URI에서 POST
를 수행합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh create users/6da5ab89-3397-4205-afaa-e201ff638f9e/logout -r demorealm -s realm=demorealm -s user=6da5ab89-3397-4205-afaa-e201ff638f9e