4장. Azure에 대한 사용자 관리 암호화 활성화


OpenShift Container Platform 버전 4.12에서는 Azure에서 사용자 관리 암호화 키를 사용하여 클러스터를 설치할 수 있습니다. 이 기능을 활성화하려면 설치 전에 Azure DiskEncryptionSet을 준비하고 install-config.yaml 파일을 수정한 다음 설치 후 단계를 수행할 수 있습니다.

4.1. Azure 디스크 암호화 세트 준비

OpenShift Container Platform 설치 프로그램에서는 사용자 관리 키와 함께 기존 디스크 암호화 세트를 사용할 수 있습니다. 이 기능을 활성화하려면 Azure에서 디스크 암호화 세트를 생성하고 설치 프로그램에 키를 제공할 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 Azure 리소스 그룹에 대해 다음 환경 변수를 설정합니다.

    $ export RESOURCEGROUP="<resource_group>" \1
        LOCATION="<location>" 2
    1
    디스크 암호화 세트 및 암호화 키를 만들 Azure 리소스 그룹의 이름을 지정합니다. 클러스터를 삭제한 후 키에 대한 액세스 권한을 손실하지 않으려면 클러스터를 설치하는 리소스 그룹과 다른 리소스 그룹에 디스크 암호화 세트를 생성해야 합니다.
    2
    리소스 그룹을 생성할 Azure 위치를 지정합니다.
  2. 다음 명령을 실행하여 Azure Key Vault 및 디스크 암호화 세트에 대해 다음 환경 변수를 설정합니다.

    $ export KEYVAULT_NAME="<keyvault_name>" \1
        KEYVAULT_KEY_NAME="<keyvault_key_name>" \2
        DISK_ENCRYPTION_SET_NAME="<disk_encryption_set_name>" 3
    1
    생성할 Azure Key Vault의 이름을 지정합니다.
    2
    생성할 암호화 키의 이름을 지정합니다.
    3
    생성할 디스크 암호화 세트의 이름을 지정합니다.
  3. 다음 명령을 실행하여 Azure 서비스 주체의 ID에 대한 환경 변수를 설정합니다.

    $ export CLUSTER_SP_ID="<service_principal_id>" 1
    1
    이 설치에 사용할 서비스 주체의 ID를 지정합니다.
  4. 다음 명령을 실행하여 Azure에서 호스트 수준 암호화를 활성화합니다.

    $ az feature register --namespace "Microsoft.Compute" --name "EncryptionAtHost"
    $ az feature show --namespace Microsoft.Compute --name EncryptionAtHost
    $ az provider register -n Microsoft.Compute
  5. 다음 명령을 실행하여 디스크 암호화 세트 및 관련 리소스를 보유하는 Azure 리소스 그룹을 생성합니다.

    $ az group create --name $RESOURCEGROUP --location $LOCATION
  6. 다음 명령을 실행하여 Azure 키 자격 증명 모음을 생성합니다.

    $ az keyvault create -n $KEYVAULT_NAME -g $RESOURCEGROUP -l $LOCATION \
        --enable-purge-protection true
  7. 다음 명령을 실행하여 키 자격 증명 모음에 암호화 키를 생성합니다.

    $ az keyvault key create --vault-name $KEYVAULT_NAME -n $KEYVAULT_KEY_NAME \
        --protection software
  8. 다음 명령을 실행하여 키 자격 증명 모음의 ID를 캡처합니다.

    $ KEYVAULT_ID=$(az keyvault show --name $KEYVAULT_NAME --query "[id]" -o tsv)
  9. 다음 명령을 실행하여 키 자격 증명 모음의 키 URL을 캡처합니다.

    $ KEYVAULT_KEY_URL=$(az keyvault key show --vault-name $KEYVAULT_NAME --name \
        $KEYVAULT_KEY_NAME --query "[key.kid]" -o tsv)
  10. 다음 명령을 실행하여 디스크 암호화 세트를 생성합니다.

    $ az disk-encryption-set create -n $DISK_ENCRYPTION_SET_NAME -l $LOCATION -g \
        $RESOURCEGROUP --source-vault $KEYVAULT_ID --key-url $KEYVAULT_KEY_URL
  11. 다음 명령을 실행하여 키 자격 증명 모음에 대한 DiskEncryptionSet 리소스 액세스 권한을 부여합니다.

    $ DES_IDENTITY=$(az disk-encryption-set show -n $DISK_ENCRYPTION_SET_NAME -g \
        $RESOURCEGROUP --query "[identity.principalId]" -o tsv)
    $ az keyvault set-policy -n $KEYVAULT_NAME -g $RESOURCEGROUP --object-id \
        $DES_IDENTITY --key-permissions wrapkey unwrapkey get
  12. 다음 명령을 실행하여 Azure Service Principal 권한을 DiskEncryptionSet을 읽을 수 있는 권한을 부여합니다.

    $ DES_RESOURCE_ID=$(az disk-encryption-set show -n $DISK_ENCRYPTION_SET_NAME -g \
        $RESOURCEGROUP --query "[id]" -o tsv)
    $ az role assignment create --assignee $CLUSTER_SP_ID --role "<reader_role>" \1
        --scope $DES_RESOURCE_ID -o jsonc
    1
    디스크 암호화 세트에 대한 읽기 권한이 있는 Azure 역할을 지정합니다. 필요한 권한으로 Owner 역할 또는 사용자 지정 역할을 사용할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.