관리자를 위한 쿼럼 인증 사용: 최초 설정 - AWS CloudHSM

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

관리자를 위한 쿼럼 인증 사용: 최초 설정

다음 항목에서는 관리자가 쿼럼 인증을 사용할 수 있도록 하드웨어 보안 모듈 (HSM) 을 구성하기 위해 완료해야 하는 단계를 설명합니다. 관리자에 대한 쿼럼 인증을 처음 구성할 때 이러한 단계를 한 번만 수행하면 됩니다. 이 단계들을 완료한 후 관리자를 위한 쿼럼 인증 사용 섹션을 참조하십시오.

사전 조건

이 예제를 이해하려면 Cloud에 익숙해야 합니다. HSM CLI 이 예시에서는 user list 명령의 다음 출력에서 볼 수 있듯이 AWS CloudHSM 클러스터에 각각 동일한 관리자가 있는 두 개가 HSMs 있습니다. 사용자 생성에 대한 자세한 내용은 CloudHSM CLI 사용 단원을 참조하십시오.

aws-cloudhsm>user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

서명용 키 생성 및 등록

쿼럼 인증을 사용하려면 각 관리자가 다음 단계를 모두 완료해야 합니다.

RSA키 페어 생성

키 쌍을 생성하고 보호하는 방법에는 여러 가지가 있습니다. 다음 예제는 Open으로 이를 수행하는 방법을 보여줍니다SSL.

예 — Open을 사용하여 개인 키 만들기 SSL

다음 예제는 Open을 사용하여 SSL 암호로 보호되는 2048비트 RSA 키를 만드는 방법을 보여줍니다. 이 예제를 사용하려면 다음을 대체하십시오.<admin.key> 키를 저장하려는 파일 이름으로 입력합니다.

$ openssl genrsa -out <admin.key> -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for admin.key: Verifying - Enter pass phrase for admin.key:

다음으로 방금 생성한 프라이빗 키를 사용하여 퍼블릭 키를 생성합니다.

예 — Open을 사용하여 공개 키 생성 SSL

다음 예제는 SSL Open을 사용하여 방금 생성한 개인 키로 공개 키를 생성하는 방법을 보여줍니다.

$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub Enter pass phrase for admin.key: writing RSA key

등록 토큰 생성 및 서명

토큰을 생성하고 이전 단계에서 방금 생성한 프라이빗 키로 서명합니다.

예 — 등록 토큰 생성
  1. 다음 명령어를 사용하여 HSM CLI 클라우드를 시작하세요.

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. 쿼럼 토큰 서명 생성 명령을 실행하여 등록 토큰을 생성합니다.

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. 쿼럼 토큰 서명 생성 명령은 지정된 파일 경로에 등록 토큰을 생성합니다. 토큰 파일 검사:

    $ cat /path/tokenfile{ "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": "" } ] }

    토큰 파일은 다음으로 구성됩니다.

    • approval_data: 원시 데이터가 최대 245바이트를 초과하지 않는 base64로 인코딩된 무작위 데이터 토큰입니다.

    • 부호 없음: approval_data의 base64로 인코딩되고 SHA256 해시된 토큰.

    • 서명: 이전에 Open으로 생성한 2048비트 개인 키를 사용하여 서명되지 않은 토큰의 base64로 인코딩된 서명된 토큰 (서명) 입니다. RSA SSL

    개인 키로 서명되지 않은 토큰에 서명하여 개인 키에 액세스할 수 있음을 증명합니다. 관리자를 클러스터에 쿼럼 사용자로 등록하려면 서명과 공개 키로 완전히 채워진 등록 토큰 파일이 필요합니다. AWS CloudHSM

예 — 서명되지 않은 등록 토큰에 서명
  1. base64로 인코딩된 서명되지 않은 토큰을 디코딩하여 바이너리 파일에 배치합니다:

    $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
  2. SSLOpen과 개인 키를 사용하여 현재 서명되지 않은 바이너리 등록 토큰에 서명하고 바이너리 서명 파일을 만드십시오.

    $ openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. 바이너리 서명을 base64로 인코딩합니다.

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. base64로 인코딩된 서명을 복사하여 토큰 파일에 붙여넣습니다.

    { "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": <signed token in base64 encoding> } ] }

에 퍼블릭 키를 등록하십시오. HSM

키를 생성한 후 관리자는 AWS CloudHSM 클러스터에 공개 키를 등록해야 합니다.

퍼블릭 키를 등록하려면 HSM
  1. 다음 명령어를 사용하여 클라우드를 시작합니다 HSMCLI.

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. HSMCLICloud를 사용하여 관리자로 로그인합니다.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. 사용자 변경-쿼럼 토큰-사인 등록 명령을 사용하여 퍼블릭 키를 등록합니다. 자세한 내용은 다음 예제를 참조하거나 help user change-quorum token-sign register 명령을 사용하십시오.

예 — AWS CloudHSM 클러스터에 퍼블릭 키 등록

다음 예제는 Cloud에서 user change-quorum token-sign register 명령을 사용하여 관리자의 공개 키를 HSM CLI 에 등록하는 방법을 보여줍니다. HSM 이 명령어를 사용하려면 관리자가 에 로그인해야 합니다. HSM 이 값들을 사용자의 값으로 대체합니다.

aws-cloudhsm > user change-quorum token-sign register --public-key </path/admin.pub> --signed-token </path/tokenfile> { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
참고

/path/admin.pub: 퍼블릭 키 파일의 파일 경로 PEM

필수 항목 여부: 예

/path/tokenfile: 사용자 개인 키로 서명된 토큰이 있는 파일 경로

필수 항목 여부: 예

모든 관리자가 퍼블릭 키를 등록하면 user list 명령 출력의 쿼럼 필드에 다음과 같이 활성화된 쿼럼 전략이 사용 중인 것으로 표시되어 다음과 같이 표시됩니다:

aws-cloudhsm > user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

쿼럼 최소값을 다음과 같이 설정합니다. HSM

쿼럼 인증을 사용하려면 관리자가 에 로그인한 다음 쿼럼 최소값을 설정해야 합니다. HSM 이는 사용자 관리 작업을 수행하는 데 필요한 최소 관리자 승인 수입니다. HSM 서명용 키를 등록하지 않은 관리자를 포함하여 모든 관리자가 쿼럼 최소값을 설정할 HSM 수 있습니다. 쿼럼 최소값은 언제든지 변경할 수 있습니다. 자세한 내용은 최소값 변경 단원을 참조하십시오.

쿼럼 최소값을 설정하려면 HSM
  1. 다음 명령어를 사용하여 클라우드를 시작합니다. HSM CLI

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. HSMCLICloud를 사용하여 관리자로 로그인합니다.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. 쿼럼 토큰 사인 set-quorum-value 명령을 사용하여 쿼럼 최소값을 설정합니다. 자세한 내용은 다음 예제를 참조하거나 help quorum token-sign set-quorum-value 명령을 사용하십시오.

예 — 쿼럼 최소값을 다음에서 설정합니다. HSM

이 예제에서는 쿼럼 최소값 이(2)를 사용합니다. 의 총 관리자 수까지 2에서 8까지 원하는 값을 선택할 수 있습니다. HSM 이 예시에서는 의 HSM 관리자가 4명이므로 가능한 최대값은 4입니다.

다음 예제 명령을 사용하려면 마지막 숫자를 바꾸십시오 (<2>) 를 원하는 쿼럼 최소값으로 설정합니다.

aws-cloudhsm > quorum token-sign set-quorum-value --service user --value <2> { "error_code": 0, "data": "Set quorum value successful" }

이 예제에서 서비스는 쿼럼 최소값을 HSM 설정하는 서비스를 식별합니다. 이 쿼럼 토큰 사인 list-quorum-values 명령은 서비스에 포함된 HSM 서비스 유형, 이름 및 설명을 나열합니다.

관리 서비스: 쿼럼 인증은 사용자 생성, 사용자 삭제, 사용자 암호 변경, 쿼럼 값 설정, 쿼럼 및 기능 비활성화와 같은 관리자 권한 서비스에 사용됩니다. MFA

각 서비스 유형은 수행할 수 있는 특정 쿼럼 지원 서비스 작업 세트를 포함하는 적격 서비스 이름으로 더 세분화됩니다.

서비스 이름 서비스 유형 서비스 작업
사용자 관리자
  • 사용자 생성

  • 사용자 삭제

  • 사용자의 암호-변경

  • 사용자 변경-mfa

쿼럼 관리자
  • 쿼럼 토큰 서명 set-quorum-value

클러스터 1 관리자
  • 클러스터 mtls register-trust-anchor

  • 클러스터 mtls deregister-trust-anchor

  • 클러스터 mtls 세트 적용

[1] 클러스터 서비스는 hsm2m.medium에서만 사용할 수 있습니다.

quorum token-sign list-quorum-values 명령을 사용하여 서비스 쿼럼 최소값을 가져옵니다.

aws-cloudhsm > quorum token-sign list-quorum-values { "error_code": 0, "data": { "user": 2, "quorum": 1 } }

이전 quorum token-sign list-quorum-values 명령의 출력에 따르면 사용자 관리 작업을 담당하는 HSM 사용자 서비스의 쿼럼 최소값은 이제 2입니다. 이 단계들을 완료한 후 (M/N) 쿼럼 사용 섹션을 참조하십시오.