키 만들기 및 삭제

AO는 kubectl 명령어를 통해 키 관리 작업을 실행하여 관리 API 서버에 액세스합니다.

시작하기 전에

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 파일의 경로로 바꿉니다.

필수 권한

필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트에 다음 KMS 역할을 부여해 달라고 요청하세요.

  • 키를 만들고 나열하려면 KMS 생성자 (kms-creator) 역할을 요청하세요.
  • 키를 생성, 나열, 삭제하려면 KMS 관리자 (kms-admin) 역할을 요청하세요.

키 만들기

다음 단계를 완료합니다.

  1. 프로젝트 네임스페이스에 키를 만듭니다. 다음 예시에서는 AEAD 키를 만듭니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    apply -f - << EOF
    apiVersion: "kms.gdc.goog/v1"
    kind: AEADKey
    metadata:
      name: KEY_NAME
      namespace: PROJECT
    spec:
      algorithm: AES_256_GCM
    EOF
    

    다음 변수를 바꿉니다.

    • MANAGEMENT_API_SERVER: 관리 API 서버의 kubeconfig 파일입니다. kubeconfig 파일이 없는 경우 로그인하여 생성합니다.
    • KEY_NAME: 만들려는 키의 이름(예: key-1)
    • PROJECT: 프로젝트 이름(예: kms-test1)
  2. 키 생성을 확인합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get aeadkey KEY_NAME \
      --namespace=PROJECT -o yaml
    

    키 생성이 성공하면 READY 열에 True 값이 표시됩니다.

키 삭제

다음 단계를 완료합니다.

  1. 프로젝트 네임스페이스에서 키를 삭제합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      delete KEY_PRIMITIVE KEY_NAME \
      --namespace=PROJECT
    

    다음 변수를 바꿉니다.

    • MANAGEMENT_API_SERVER: 관리 API 서버의 kubeconfig 파일입니다. kubeconfig 파일이 없는 경우 로그인하여 생성합니다.
    • KEY_PRIMITIVE: 삭제하려는 키입니다(예: AEAD 키의 경우 aeadkey).
    • KEY_NAME: 삭제하려는 키의 이름(예: key-1)
    • PROJECT: 프로젝트 이름(예: kms-test1)
  2. 키 삭제를 확인하고 반환에 키가 표시되지 않는지 확인합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get KEY_PRIMITIVE  KEY_NAME \
      --namespace=PROJECT