9.2. Secure Vault 및 속성 마이그레이션


Elytron을 사용하려면 보안 자격 증명 모음을 마이그레이션하여 인증 정보 스토리지를 보호하고 레거시 보안 속성을 Elytron 보안 속성으로 마이그레이션해야 합니다.

9.2.1. Secure Vault를 Secure Credential Storage로 마이그레이션

JBoss EAP 7.0의 레거시 보안 하위 시스템에서 일반 텍스트 문자열 암호화를 저장하는 데 사용되는 보안 자격 증명 모음은 JBoss EAP 7.1 이상에서 Elytron과 호환되지 않습니다. JBoss EAP 7.1 이상에서는 자격 증명 저장소를 사용하여 문자열을 저장합니다. 자격 증명은 JBoss EAP 구성 파일 외부의 스토리지 파일에 암호화 자격 증명을 저장합니다. Elytron에서 제공하는 구현을 사용하거나 인증 정보 저장소 API 및 SPI를 사용하여 구성을 사용자 지정할 수 있습니다. 각 JBoss EAP 서버에는 여러 인증 정보 저장소가 포함될 수 있습니다.

참고

이전에 vault 표현식을 사용하여 중요하지 않은 데이터를 매개 변수화하는 경우 데이터를 Elytron 보안 속성으로 교체해야 합니다. Elytron 보안 속성에 대한 자세한 내용은 Elytron 보안 속성을 참조하십시오.

인증 정보 저장소에 대한 자세한 내용은 JBoss EAP 7.4 서버 보안 구성 방법의 인증 정보 저장소를 참조하십시오.

JBoss EAP와 함께 제공되는 WildFly Elytron Tool은 자격 증명 모음 콘텐츠를 자격 증명 저장소로 마이그레이션하는 데 도움이 되는 vault 명령을 제공합니다. vault 명령을 실행하려면 EAP_HOME/bin 디렉터리에서 elytron-tool 스크립트를 실행합니다.

$ EAP_HOME/bin/elytron-tool.sh vault VAULT_ARGUMENTS

다음 명령을 사용하여 사용 가능한 모든 인수에 대한 설명을 가져올 수 있습니다.

$ EAP_HOME/bin/elytron-tool.sh vault --help
중요

인증 정보 저장소는 암호 보안에만 사용됩니다. 관리 모델에 사용된 자격 증명 모음 표현식 기능은 지원되지 않습니다. 자세한 내용은 Elytron에서 암호화된 표현 생성을참조하십시오.

다음 마이그레이션 옵션 중 하나를 선택합니다.

참고
  • WildFly Elytron Tool은 보안 자격 증명 모음 데이터 파일의 첫 번째 버전을 처리할 수 없습니다.
  • 다음 예와 같이 단일 자격 증명 모음 또는 일반 텍스트로 --keystore-password 인수를 마스킹된 형식으로 입력할 수 있습니다.
  • --salt--iteration 인수는 마스크된 암호를 해독하거나 출력에 마스크된 암호를 생성하는 정보를 제공하기 위해 제공됩니다. --salt--iteration 인수를 생략하면 기본값이 사용됩니다.
  • --summary 인수는 변환된 인증 정보 저장소를 JBoss EAP 구성에 추가하는 데 사용할 수 있는 형식의 관리 CLI 명령을 생성합니다. 일반 텍스트 암호는 요약 출력에 마스크됩니다.

다음 예제를 사용하여 개별 보안 자격 증명 모음을 인증 정보 저장소로 마이그레이션합니다.

예: 단일 보안 자격 증명 모음을 인증 정보 저장소 명령으로 변환

$ EAP_HOME/bin/elytron-tool.sh vault --enc-dir vault_data/ --keystore vault-jceks.keystore --keystore-password MASK-2hKo56F1a3jYGnJwhPmiF5 --iteration 34 --salt 12345678 --alias test --location cs-v1.store --summary

이 명령은 보안 자격 증명 모음을 인증 정보 저장소로 변환하고 출력에서 변환하는 데 사용된 관리 CLI 명령의 요약을 출력합니다.

Vault (enc-dir="vault_data/";keystore="vault-jceks.keystore") converted to credential store "cs-v1.store"
Vault Conversion summary:
--------------------------------------
Vault Conversion Successful
CLI command to add new credential store:
/subsystem=elytron/credential-store=test:add(relative-to=jboss.server.data.dir,create=true,modifiable=true,location="cs-v1.store",implementation-properties={"keyStoreType"=>"JCEKS"},credential-reference={clear-text="MASK-2hKo56F1a3jYGnJwhPmiF5;12345678;34"})

--bulk-convert 인수를 사용하고 대량 변환 설명자 파일을 가리키는 방식으로 여러 자격 증명 모음을 인증 정보 저장소로 변환할 수 있습니다.

사전 요구 사항

이 섹션의 예제에서는 다음과 같은 대규모 변환 설명자 파일을 사용합니다.

예: bulk-vault-conversion-descriptor.txt 파일

keystore:vault-v1/vault-jceks.keystore
keystore-password:MASK-2hKo56F1a3jYGnJwhPmiF5
enc-dir:vault-v1/vault_data/
salt:12345678
iteration:34
location:v1-cs-1.store
alias:test

keystore:vault-v1/vault-jceks.keystore
keystore-password:secretsecret
enc-dir:vault-v1/vault_data/
location:v1-cs-2.store
alias:test

# different vault vault-v1-more
keystore:vault-v1-more/vault-jceks.keystore
keystore-password:MASK-2hKo56F1a3jYGnJwhPmiF5
enc-dir:vault-v1-more/vault_data/
salt:12345678
iteration:34
location:v1-cs-more.store
alias:test

새 변환은 각 새 키 저장소가 발생할 때 시작됩니다.A new conversion starts when each new keystore: line is encountered. Salt,iterationproperties 제외한 모든 옵션은 필수입니다.

프로세스

  1. 대량 변환을 수행하고 관리 CLI 명령을 포맷하는 출력을 생성하려면 다음 명령을 실행합니다.
$ EAP_HOME/bin/elytron-tool.sh vault --bulk-convert path/to/bulk-vault-conversion-descriptor.txt --summary

이 명령은 파일에 지정된 모든 보안 자격 증명 모음을 인증 정보 저장소로 변환하고 출력에서 변환하는데 사용된 관리 CLI 명령의 요약을 출력합니다.

Vault (enc-dir="vault-v1/vault_data/";keystore="vault-v1/vault-jceks.keystore") converted to credential store "v1-cs-1.store"
Vault Conversion summary:
--------------------------------------
Vault Conversion Successful
CLI command to add new credential store:
/subsystem=elytron/credential-store=test:add(relative-to=jboss.server.data.dir,create=true,modifiable=true,location="v1-cs-1.store",implementation-properties={"keyStoreType"=>"JCEKS"},credential-reference={clear-text="MASK-2hKo56F1a3jYGnJwhPmiF5;12345678;34"})
--------------------------------------

Vault (enc-dir="vault-v1/vault_data/";keystore="vault-v1/vault-jceks.keystore") converted to credential store "v1-cs-2.store"
Vault Conversion summary:
--------------------------------------
Vault Conversion Successful
CLI command to add new credential store:
/subsystem=elytron/credential-store=test:add(relative-to=jboss.server.data.dir,create=true,modifiable=true,location="v1-cs-2.store",implementation-properties={"keyStoreType"=>"JCEKS"},credential-reference={clear-text="secretsecret"})
--------------------------------------

Vault (enc-dir="vault-v1-more/vault_data/";keystore="vault-v1-more/vault-jceks.keystore") converted to credential store "v1-cs-more.store"
Vault Conversion summary:
--------------------------------------
Vault Conversion Successful
CLI command to add new credential store:
/subsystem=elytron/credential-store=test:add(relative-to=jboss.server.data.dir,create=true,modifiable=true,location="v1-cs-more.store",implementation-properties={"keyStoreType"=>"JCEKS"},credential-reference={clear-text="MASK-2hKo56F1a3jYGnJwhPmiF5;12345678;34"})
--------------------------------------

9.2.2. Elytron으로 보안 속성 마이그레이션

다음 예제에서는 group.nameencoding.algorithm 보안 속성이 레거시 보안 하위 시스템에서 security -properties 로 정의되었다고 가정합니다.

보안 에 정의된 보안 속성:

<subsystem xmlns="urn:jboss:domain:security:2.0">
    ...
    <security-properties>
        <property name="group.name" value="engineering-group" />
        <property name="encoding.algorithm" value="BASE64" />
    </security-properties>
</subsystem>

elytron 하위 시스템에서 이러한 보안 속성을 정의하려면 다음 관리 CLI 명령을 사용하여 elytron 하위 시스템의 security-properties 속성을 설정합니다.

/subsystem=elytron:write-attribute(name=security-properties, value={ group.name = "engineering-group", encoding.algorithm = "BASE64" })

서버 구성 파일의 elytron 하위 시스템에서 security-properties 를 정의합니다.

<subsystem xmlns="urn:wildfly:elytron:4.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto">
    <security-properties>
        <security-property name="group.name" value="engineering-group"/>
        <security-property name="encoding.algorithm" value="BASE64"/>
    </security-properties>
    ...
</subsystem>

이전 명령의 write-attribute 작업은 기존 속성을 덮어씁니다. 다른 보안 속성에 영향을 주지 않고 보안 속성을 추가하거나 변경하려면 관리 CLI 명령에서 작업을 사용합니다.

/subsystem=elytron:map-put(name=security-properties, key=group.name, value=technical-support)

유사한 방식으로 map-remove 작업을 사용하여 특정 보안 속성을 제거할 수 있습니다.

/subsystem=elytron:map-remove(name=security-properties, key=group.name)
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동