1.4. JBoss EAP 관리 CLI를 사용한 인증 정보 저장소 작업
실행 중인 JBoss EAP 서버에서 JBoss EAP 자격 증명을 관리하려면 제공된 관리 CLI 작업을 사용합니다. JBoss EAP 관리 CLI를 사용하여 PasswordCredential 및 SecretKeyCredential 를 관리할 수 있습니다.
이러한 작업은 수정 가능한 인증 정보 저장소에서만 수행할 수 있습니다. 모든 인증 정보 저장소 유형은 기본적으로 수정 가능합니다.
1.4.1. 독립 실행형 서버에 대한 인증 정보 저장소 생성 링크 복사링크가 클립보드에 복사되었습니다!
파일 시스템의 모든 디렉터리에서 독립 실행형 서버로 실행되는 JBoss EAP의 자격 증명 저장소를 생성합니다. 보안을 위해 저장소를 포함하는 디렉터리에는 제한된 사용자만 액세스할 수 있어야 합니다.
사전 요구 사항
- JBoss EAP가 실행 중인 사용자 계정에 대해 KeyStoreCredentialStore가 포함된 디렉터리에 대한 읽기/쓰기 액세스 권한이 있어야 합니다.
동일한 Elytron 기능을 구현하므로 credential-store 및 secret-key-credential-store 에 대해 동일한 이름을 가질 수 없습니다. org.wildfly.security.credential-store.
프로세스
다음 관리 CLI 명령을 사용하여 KeyStoreCredentialStore를 생성합니다.
구문
/subsystem=elytron/credential-store=<name_of_credential_store>:add(path="<path_to_store_file>", relative-to=<base_path_to_store_file>, credential-reference={clear-text=<store_password>}, create=true)예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:add(path="exampleKeyStoreCredentialStore.jceks", relative-to=jboss.server.data.dir, credential-reference={clear-text=password}, create=true) {"outcome" => "success"}
1.4.2. 관리형 도메인의 인증 정보 저장소 생성 링크 복사링크가 클립보드에 복사되었습니다!
관리형 도메인에 인증 정보 저장소를 생성할 수 있지만 먼저 WildFly Elytron 툴을 사용하여 KeyStoreCredentialStore를 준비해야 합니다. 단일 관리형 도메인에 여러 호스트 컨트롤러가 있는 경우 다음 옵션 중 하나를 선택합니다.
-
각 호스트 컨트롤러에서
인증 정보 저장소를생성하고 각 인증 정보저장소에 인증 정보를추가합니다. -
하나의 호스트 컨트롤러에서 다른 모든 호스트 컨트롤러로 채워진
인증 정보 저장소를복사합니다. -
credentials
-store파일을 NFS(네트워크 파일 시스템)에 저장한 다음 생성한 모든인증 정보 저장소리소스에 해당 파일을 사용합니다.
또는 WildFly Elytron 툴을 사용하지 않고 호스트 컨트롤러에 인증 정보를 사용하여 인증 정보 저장소 파일을 생성할 수 있습니다.
동일한 프로필의 모든 서버에 인증 정보 저장소 파일이 포함되어 있기 때문에 모든 서버에 인증 정보 저장소 리소스를 정의할 필요는 없습니다. credentials -store 파일은 서버 데이터 디렉터리 relative-to=jboss.server.data.dir 에서 찾을 수 있습니다.
동일한 Elytron 기능을 구현하므로 credential-store 및 secret-key-credential-store 에 대해 동일한 이름을 가질 수 없습니다. org.wildfly.security.credential-store.
다음 절차에서는 NFS를 사용하여 모든 호스트 컨트롤러에 credentials -store 파일을 제공하는 방법을 설명합니다.
프로세스
-
WildFly Elytron 툴을 사용하여
자격 증명 저장소스토리지 파일을 생성합니다. 이에 대한 자세한 내용은 WildFly Elytron 툴인증 정보 저장소작업을 참조하십시오. 스토리지 파일을 배포합니다. 예를 들어
scp명령을 사용하여 각 호스트 컨트롤러에 할당하거나 NFS에 저장하고 모든인증 정보 저장소리소스에 사용합니다.참고일관성을 유지하려면 여러 리소스 및 호스트 컨트롤러에서 사용하고 NFS에 저장한
인증 정보 저장소파일의 경우인증 정보 저장소를읽기 전용 모드로 사용해야 합니다. 또한인증 정보 저장소파일에 대한 절대 경로를 제공해야 합니다.구문
/profile=<profile_name>/subsystem=elytron/credential-store=<name_of_credential_store>:add(path=<absolute_path_to_store_keystore>,credential-reference={clear-text="<store_password>"},create=false,modifiable=false)예제
/profile=full-ha/subsystem=elytron/credential-store=exampleCredentialStoreDomain:add(path=/usr/local/etc/example-cred-store.cs,credential-reference={clear-text="password"},create=false,modifiable=false)선택 사항: 프로필에 credentials
-store리소스를 정의해야 하는 경우 스토리지 파일을 사용하여 리소스를 생성합니다.구문
/profile=<profile_name>/subsystem=elytron/credential-store=<name_of_credential_store>:add(path=<path_to_store_file>,credential-reference={clear-text="<store_password>"})예제
/profile=full-ha/subsystem=elytron/credential-store=exampleCredentialStoreHA:add(path=/usr/local/etc/example-cred-store-ha.cs, credential-reference={clear-text="password"})선택 사항: 호스트 컨트롤러에 대한
인증 정보 저장소리소스를 생성합니다.구문
/host=<host_controller_name>/subsystem=elytron/credential-store=<name_of_credential_store>:add(path=<path_to_store_file>,credential-reference={clear-text="<store_password>"})예제
/host=master/subsystem=elytron/credential-store=exampleCredentialStoreHost:add(path=/usr/local/etc/example-cred-store-host.cs, credential-reference={clear-text="password"})
1.4.3. 독립 실행형 서버에 대한 secret-key-credential-store 생성 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 secret-key-credential-store 를 생성합니다. secret-key-credential-store 를 생성할 때 JBoss EAP는 기본적으로 시크릿 키를 생성합니다. 생성된 키의 이름은 key 이고 크기는 256비트입니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
-
JBoss EAP가 실행 중인 사용자 계정에 대해
secret-key-credential-store가 포함된 디렉터리에 대한 읽기/쓰기 액세스 권한이 있어야 합니다.
프로세스
관리 CLI를 사용하여
secret-key-credential-store를 생성하려면 다음 명령을 사용합니다.구문
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:add(path="<path_to_the_credential_store>", relative-to=<path_to_store_file>)예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:add(path=examplePropertiesCredentialStore.cs, relative-to=jboss.server.config.dir) {"outcome" => "success"}
1.4.4. 인증 정보 저장소에 암호 인증 정보추가 링크 복사링크가 클립보드에 복사되었습니다!
구성 파일에서 해당 암호를 숨기려면 암호 자격 증명으로 필요한 일반 텍스트 암호를 자격 증명 저장소에 추가합니다. 그런 다음 저장된 이 인증 정보를 참조하여 암호를 노출하지 않고도 해당 리소스에 액세스할 수 있습니다.
사전 요구 사항
인증 정보 저장소를생성했습니다.인증 정보 저장소생성에 대한 자세한 내용은 독립 실행형 서버의인증 정보 저장소생성을 참조하십시오.
프로세스
인증 정보
저장소에 새 암호 인증 정보를추가합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:add-alias(alias=<alias>, secret-value=<secret-value>)예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:add-alias(alias=passwordCredentialAlias, secret-value=StrongPassword) {"outcome" => "success"}
검증
다음 명령을 실행하여 PasswordCredential가
credential-store에 추가되었는지 확인합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:read-aliases()예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:read-aliases() { "outcome" => "success", "result" => ["passwordcredentialalias"] }
1.4.5. 인증 정보 저장소에서 SecretKeyCredential 생성 링크 복사링크가 클립보드에 복사되었습니다!
인증 정보 저장소 에서 SecretKeyCredential를 생성합니다. 기본적으로 Elytron은 256비트 키를 만듭니다. 다른 크기를 원하는 경우 key-size 특성에 128비트 또는 192-bit 키를 지정할 수 있습니다.
사전 요구 사항
인증 정보 저장소를생성했습니다.인증 정보 저장소생성에 대한 자세한 내용은 독립 실행형 서버의인증 정보 저장소생성을 참조하십시오.
프로세스
다음 관리 CLI 명령을 사용하여
인증 정보 저장소에SecretKeyCredential를 생성합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:generate-secret-key(alias=<alias>, key-size=<128_or_192>)예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:generate-secret-key(alias=secretKeyCredentialAlias)
검증
다음 명령을 실행하여 Elytron이 SecretKeyCredential를
credential-store에 저장했는지 확인합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:read-aliases()예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:read-aliases() { "outcome" => "success", "result" => [ "secretkeycredentialalias" ] }
1.4.6. secret-key-credential-store에서 SecretKeyCredential 생성 링크 복사링크가 클립보드에 복사되었습니다!
secret-key-credential-store 에서 SecretKeyCredential를 생성합니다. 기본적으로 Elytron은 256비트 키를 만듭니다. 다른 크기를 원하는 경우 key-size 특성에 128비트 또는 192-bit 키를 지정할 수 있습니다.
SecretKeyCredential를 생성할 때 Elytron은 새로운 임의의 시크릿 키를 생성하여 SecretKeyCredential로 저장합니다. secret-key-credential-store 에서 내보내기 작업을 사용하여 인증 정보의 콘텐츠를 볼 수 있습니다.
JBoss EAP에서 손실된 Elytron 인증 정보를 암호 해독하거나 검색할 수 없으므로 secret-key-credential-store, SecretKeyCredential 또는 둘 다의 백업을 생성해야 합니다.
secret-key-credential-store 에서 내보내기 작업을 사용하여 SecretKeyCredential의 값을 가져올 수 있습니다. 그런 다음 이 값을 백업으로 저장할 수 있습니다.
사전 요구 사항
secret-key-credential-store를 생성했습니다.secret-key-credential-store를 생성하는 방법에 대한 자세한 내용은 독립 실행형 서버의secret-key-credential-store생성을 참조하십시오.
프로세스
다음 관리 CLI 명령을 사용하여
secret-key-credential-store에서 SecretKeyCredential를 생성합니다.구문
/subsystem=elytron/secret-key-credential-store=<name_of_the_properties_credential_store>:generate-secret-key(alias=<alias>, key-size=<128_or_192>)예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:generate-secret-key(alias=secretKeyCredentialAlias) {"outcome" => "success"}
검증
다음 명령을 실행하여 Elytron이 SecretKeyCredential를 생성했는지 확인합니다.
구문
/subsystem=elytron/secret-key-credential-store=<name_of_the_properties_credential_store>:read-aliases()예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:read-aliases() { "outcome" => "success", "result" => [ "secretkeycredentialalias", "key" ] }
1.4.7. secret-key-credential-store로 SecretKeyCredential 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
secret-key-credential-store 외부에서 생성된 SecretKeyCredential를 Elytron secret-key-credential-store 로 가져올 수 있습니다. 다른 인증 정보 저장소에서 SecretKeyCredential를 내보냈다고 가정하겠습니다. 예를 들어 이 자격 증명 모음을 secret-key- 로 가져올 수 있습니다.
credential-store
사전 요구 사항
secret-key-credential-store를 생성했습니다.secret-key-credential-store를 생성하는 방법에 대한 자세한 내용은 독립 실행형 서버의secret-key-credential-store생성을 참조하십시오.SecretKeyCredential를 내보냈습니다.
SecretKeyCredential를 내보내는 방법에 대한 자세한 내용은
secret-key-credential-store에서 SecretKeyCredential 내보내기 를 참조하십시오.
프로세스
다음 명령을 사용하여 관리 CLI에서 명령 캐싱을 비활성화합니다.
중요캐싱을 비활성화하지 않으면 관리 CLI 기록 파일에 액세스할 수 있는 모든 사용자에게 시크릿 키가 표시됩니다.
history --disable다음 관리 CLI 명령을 사용하여 시크릿 키를 가져옵니다.
구문
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:import-secret-key(alias=<alias>, key="<secret_key>")예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:import-secret-key(alias=imported, key="RUxZAUs+Y1CzEPw0g2AHHOZ+oTKhT9osSabWQtoxR+O+42o11g==")다음 관리 CLI 명령을 사용하여 명령 캐싱을 다시 활성화합니다.
history --enable
1.4.8. 인증 정보 저장소에 인증 정보나열 링크 복사링크가 클립보드에 복사되었습니다!
인증 정보 저장소에 저장된 모든 인증 정보를 보려면 관리 CLI를 사용하여 나열할 수 있습니다.
프로세스
다음 관리 CLI 명령을 사용하여
인증 정보 저장소에저장된 인증 정보를 나열합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:read-aliases()예제
{ "outcome" => "success", "result" => [ "passwordcredentialalias", "secretkeycredentialalias" ] }
1.4.9. 인증 정보 저장소에서 SecretKeyCredential 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
인증 정보 저장소 에서 기존 SecretKeyCredential를 내보내 SecretKeyCredential를 사용하거나 SecretKeyCredential의 백업을 생성할 수 있습니다.
사전 요구 사항
인증 정보 저장소에서 SecretKeyCredential를 생성했습니다.인증 정보 저장소에서 SecretKeyCredential를 생성하는 방법에 대한 자세한 내용은
인증 정보 저장소의 SecretKeyCredential 생성을 참조하십시오.
프로세스
다음 관리 CLI 명령을 사용하여
credential-store에서 SecretKeyCredential를 내보냅니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:export-secret-key(alias=<alias>)예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:export-secret-key(alias=secretKeyCredentialAlias) { "outcome" => "success", "result" => {"key" => "RUxZAUui+8JkoDCE6mFyA3cCIbSAZaXq5wgYejj1scYgdDqWiw=="} }
1.4.10. secret-key-credential-store에서 SecretKeyCredential 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
secret-key-credential-store 에서 기존 SecretKeyCredential를 내보내 SecretKeyCredential를 사용하거나 SecretKeyCredential의 백업을 생성할 수 있습니다.
사전 요구 사항
secret-key-credential-store에 SecretKeyCredential를 생성하거나 가져옵니다.secret-key-credential-store에 SecretKeyCredential를생성하는 방법에 대한 자세한 내용은secret-key-credential-store에 SecretKeyCredential 를 생성합니다.secret-key-credential-store로 SecretKeyCredential를 가져오는 방법에 대한 자세한 내용은 SecretKeyCredential를secret-key-credential-store에 가져오기 를 참조하십시오.
프로세스
다음 관리 CLI 명령을 사용하여
secret-key-credential-store에서 SecretKeyCredential를 내보냅니다.구문
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:export-secret-key(alias=<alias>)예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:export-secret-key(alias=secretkeycredentialalias) { "outcome" => "success", "result" => {"key" => "RUxZAUtxXcYvz0aukZu+odOynIr0ByLhC72iwzlJsi+ZPmONgA=="} }
1.4.11. 인증 정보 저장소에서 인증 정보제거 링크 복사링크가 클립보드에 복사되었습니다!
자격 증명 저장소에 모든 인증 정보 유형을 저장할 수 있지만 기본적으로 인증 정보를 제거할 때 Elytron은 PasswordCredential이라고 가정합니다. 다른 인증 정보 유형을 제거하려면 entry-type 속성에 지정합니다.
프로세스
다음 관리 CLI 명령을 사용하여
인증 정보 저장소에서 인증 정보를 제거합니다.구문
/subsystem=elytron/credential-store=<name_of_credential_store>:remove-alias(alias=<alias>, entry-type=<credential_type>)암호 인증 정보 제거 예
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:remove-alias(alias=passwordCredentialAlias) { "outcome" => "success", "response-headers" => {"warnings" => [{ "warning" => "Update dependent resources as alias 'passwordCredentialAlias' does not exist anymore", "level" => "WARNING", "operation" => { "address" => [ ("subsystem" => "elytron"), ("credential-store" => "exampleKeyStoreCredentialStore") ], "operation" => "remove-alias" } }]} }SecretKeyCredential 제거 예
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:remove-alias(alias=secretKeyCredentialAlias, entry-type=SecretKeyCredential) { "outcome" => "success", "response-headers" => {"warnings" => [{ "warning" => "Update dependent resources as alias 'secretKeyCredentialAl ias' does not exist anymore", "level" => "WARNING", "operation" => { "address" => [ ("subsystem" => "elytron"), ("credential-store" => "exampleKeyStoreCredentialStore") ], "operation" => "remove-alias" } }]} }
검증
다음 명령을 실행하여 Elytron이 인증 정보를 제거했는지 확인합니다.
구문
/subsystem=elytron/credential-store=<name_of_credential_store>:read-aliases()예제
/subsystem=elytron/credential-store=exampleKeyStoreCredentialStore:read-aliases() { "outcome" => "success", "result" => [] }삭제한 인증 정보가 나열되지 않습니다.
1.4.12. secret-key-credential-store에서 인증 정보 제거 링크 복사링크가 클립보드에 복사되었습니다!
SecretKeyCredential 유형만 secret-key-credential-store 에 저장할 수 있습니다. 즉, secret-key-credential-store 에서 인증 정보를 제거하면 항목 유형을 지정할 필요가 없습니다.
프로세스
다음 명령을 사용하여
secret-key-credential-store에서 SecretKeyCredential를 제거합니다.구문
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:remove-alias(alias=<alias>)예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:remove-alias(alias=secretKeyCredentialAlias) { "outcome" => "success", "response-headers" => {"warnings" => [{ "warning" => "Update dependent resources as alias 'secretKeyCredentialAlias' does not exist anymore", "level" => "WARNING", "operation" => { "address" => [ ("subsystem" => "elytron"), ("secret-key-credential-store" => "examplePropertiesCredentialSt ore") ], "operation" => "remove-alias" } }]} }
검증
다음 명령을 실행하여 Elytron이 인증 정보를 제거했는지 확인합니다.
구문
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:read-aliases()예제
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:read-aliases() { "outcome" => "success", "result" => [] }삭제한 인증 정보가 나열되지 않습니다.