데이터 서명 및 확인

AO는 gRPC 클라이언트를 통해 KMS에 에어 갭이 적용된 Google Distributed Cloud (GDC)를 통해 서명 및 확인 작업을 실행합니다.

시작하기 전에

KMS 작업을 수행하기 전에 관리 API 서버에 액세스하고 필요한 권한을 얻도록 kubectl를 구성합니다.

Management API 서버 액세스 구성

관리 API 서버에 액세스하도록 kubectl를 구성합니다.

  1. 아직 수행하지 않았다면 gdcloud CLI-line 인터페이스 (CLI)를 사용하여 관리 API 서버의 kubeconfig 파일을 가져옵니다.
  2. MANAGEMENT_API_SERVER 환경 변수를 설정합니다.

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    PATH_TO_KUBECONFIG를 생성된 kubeconfig 파일의 경로로 바꿉니다.

  3. 아직 수행하지 않았다면 gdcloud CLI를 다운로드, 설치, 구성합니다. 이렇게 하려면 gdcloud CLI 개요를 따르세요.

필수 권한

필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트에 대한 KMS 개발자 (kms-developer) 역할을 부여해 달라고 요청하세요.

데이터 서명

데이터에 서명하려면 gdcloud kms keys asymmetric-sign 명령어를 사용합니다. 이 명령어는 Signing 키를 사용하여 입력 파일의 디지털 서명을 만들고 base64로 인코딩된 서명을 저장합니다.

  • 데이터에 서명하려면 키 이름과 다음을 전달하세요.

    gdcloud kms keys asymmetric-sign \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
    --input-file=INPUT_PATH \
    --signature-file=SIGNATURE_FILE
    

    다음 변수를 바꿉니다.

    • NAMESPACE: 프로젝트 네임스페이스입니다(예: kms-test1).
    • KEY_NAME: 서명에 사용된 키의 이름입니다(예: key-1).
    • INPUT_PATH: 서명하려는 입력 파일의 경로입니다.
    • SIGNATURE_FILE: base64 인코딩 서명을 저장할 출력 파일의 경로입니다.

    명령어를 실행하면 --signature-file 플래그에 지정한 출력 파일에 base64로 인코딩된 서명이 포함됩니다.

데이터 확인

데이터에 서명한 후 gdcloud kms keys asymmetric-verify 명령어를 사용하여 base64 디지털 서명을 확인합니다. 이 명령어는 gdcloud kms keys asymmetric-sign 명령어를 실행한 후 수신한 base64 인코딩 디지털 서명이 유효한지 확인합니다.

  • 서명을 확인하려면 서명 파일과 다음을 전달하세요.

    gdcloud kms keys asymmetric-verify \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
      --input-file=INPUT_PATH \
      --signature-file=SIGNATURE_FILE
    

    명령어를 실행한 후 성공하면 Verification OK 출력이 표시됩니다. 실패하면 Verification Failure 실패 출력이 표시됩니다.