SSL 및 TLS 프로토콜에 SSL 정책 사용

SSL 정책은 클라이언트와 SSL을 협상할 때 Google Cloud 부하 분산기에서 사용하는 SSL 기능 집합을 지정합니다. 이 문서에서 SSL은 SSL 및 TLS 프로토콜 모두를 의미합니다.

SSL 정책은 다음 부하 분산기에서 지원됩니다.

  • 전역 SSL 정책
    • 전역 외부 애플리케이션 부하 분산기
    • 기본 애플리케이션 부하 분산기
    • 외부 프록시 네트워크 부하 분산기(대상 SSL 프록시 사용)
    • 리전 간 내부 애플리케이션 부하 분산기
  • 리전 SSL 정책
    • 리전 외부 애플리케이션 부하 분산기
    • 리전별 내부 애플리케이션 부하 분산기

SSL 정책 작동 방식에 대한 자세한 내용은 SSL 정책 개요를 참조하세요.

HTTPS 또는 SSL 부하 분산기를 만들 때 도는 부하 분산기를 만든 후 언제든지 Google Cloud 콘솔이나 Google Cloud CLI를 사용하여 SSL 정책을 만들고 관리할 수 있습니다.

SSL 정책 만들기

SSL 정책은 Google 관리형 프로필 또는 커스텀 프로필을 사용해 만들 수 있습니다.

Google 관리 프로필로 SSL 정책 만들기

콘솔

전역 SSL 정책

Google 관리형 프로필을 사용해 전역 SSL 정책을 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 전역 SSL 정책의 경우, 옆에 있는 만들기 버튼을 클릭합니다. 정책 만들기 페이지가 나타납니다.

  4. 이름을 입력합니다.

  5. 최소 TLS 버전을 선택합니다.

  6. 프로필에서 호환 가능, 최신 또는 제한됨을 선택합니다. 프로필의 사용 설정된 기능사용 중지된 기능이 페이지 오른쪽에 표시됩니다.

  7. 정책을 연결할 부하 분산기가 있으면 대상에 적용을 클릭하고 SSL 정책 대상으로 전달 규칙을 선택합니다. 필요한 경우 대상을 추가합니다.

  8. 만들기를 클릭합니다.

리전 SSL 정책

Google 관리형 프로필을 사용해 리전 SSL 정책을 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 리전 SSL 정책의 경우, 옆에 있는 만들기 버튼을 클릭합니다. 정책 만들기 페이지가 나타납니다.

  4. 이름을 입력합니다.

  5. 리전을 선택합니다.

  6. 최소 TLS 버전을 선택합니다.

  7. 프로필에서 호환 가능, 최신 또는 제한됨을 선택합니다. 프로필의 사용 설정된 기능사용 중지된 기능이 페이지 오른쪽에 표시됩니다.

  8. 정책을 연결할 부하 분산기가 있으면 대상에 적용을 클릭하고 SSL 정책 대상으로 전달 규칙을 선택합니다. 필요한 경우 대상을 추가합니다.

  9. 만들기를 클릭합니다.

gcloud

전역 SSL 정책

다음은 Google 관리 프로필을 사용하여 전역 SSL 정책을 만드는 일반적인 문법입니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2

다음 명령어는 MODERN 프로필을 사용하여 전역 SSL 정책을 만듭니다.

gcloud compute ssl-policies create my-ssl-policy \
    --profile MODERN \
    --min-tls-version 1.0

리전 SSL 정책

다음은 Google 관리 프로필을 사용하여 리전 SSL 정책을 만드는 일반적인 문법입니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --region REGION

다음 명령어는 COMPATIBLE 프로필을 사용하여 리전 SSL 정책을 만듭니다.

gcloud compute ssl-policies create my-ssl-policy \
    --profile COMPATIBLE \
    --min-tls-version 1.1 \
    --region us-west1

커스텀 프로필로 SSL 정책 만들기

콘솔

전역 SSL 정책

커스텀 프로필을 사용해 전역 SSL 정책을 만들려면 다음을 수행하세요.

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 전역 SSL 정책의 경우, 옆에 있는 만들기 버튼을 클릭합니다. 정책 만들기 페이지가 나타납니다.

  4. 이름을 입력합니다.

  5. 최소 TLS 버전을 선택합니다.

  6. 프로필에서 커스텀을 선택합니다. 모든 기능이 페이지 오른쪽에 사용 중지된 기능으로 표시됩니다.

  7. 기능 목록에서 사용 설정할 암호화 모음을 각각 선택합니다. 사용 설정한 암호화 모음이 사용 설정된 기능으로 나열됩니다.

  8. 정책을 연결할 부하 분산기가 있으면 대상에 적용을 클릭하고 SSL 정책 대상으로 전달 규칙을 선택합니다. 필요한 경우 대상을 추가합니다.

  9. 만들기를 클릭합니다.

리전 SSL 정책

커스텀 프로필을 사용해 리전 SSL 정책을 만들려면 다음을 수행하세요.

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 리전 SSL 정책의 경우, 옆에 있는 만들기 버튼을 클릭합니다. 정책 만들기 페이지가 나타납니다.

  4. 이름을 입력합니다.

  5. 리전을 선택합니다.

  6. 최소 TLS 버전을 선택합니다.

  7. 프로필에서 커스텀을 선택합니다. 모든 기능이 페이지 오른쪽에 사용 중지된 기능으로 표시됩니다.

  8. 기능 목록에서 사용 설정할 암호화 모음을 각각 선택합니다. 사용 설정한 암호화 모음이 사용 설정된 기능으로 나열됩니다.

  9. 정책을 연결할 부하 분산기가 있으면 대상에 적용을 클릭하고 SSL 정책 대상으로 전달 규칙을 선택합니다. 필요한 경우 대상을 추가합니다.

  10. 만들기를 클릭합니다.

gcloud

CUSTOM 프로필을 사용하여 SSL 정책을 만들면 create 명령어에서 지정한 기능만 지원됩니다. 다른 기능은 지원되지 않습니다.

전역 SSL 정책

다음은 커스텀 프로필을 사용하여 전역 SSL 정책을 만드는 일반적인 문법입니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]

다음 예시에서는 최소 TLS 버전 1.2와 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 기능을 사용하여 커스텀 프로필로 전역 SSL 정책을 만듭니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

리전 SSL 정책

다음은 커스텀 프로필로 리전 SSL 정책을 만드는 일반적인 문법입니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \
    --region REGION

다음 예시에서는 최소 TLS 버전 1.2와 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 기능을 사용하여 커스텀 프로필로 리전 SSL 정책을 만듭니다.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
    --region us-west1

SSL 정책 나열

콘솔

Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

SSL 정책으로 이동

사용 가능한 모든 SSL 정책 목록을 볼 수 있습니다. 범위 필드는 SSL 정책이 전역인지 리전인지를 나타냅니다.

gcloud

전역 및 리전 SSL 정책을 모두 나열하려면 다음을 실행합니다.

  gcloud compute ssl-policies list

전역 SSL 정책만 나열하려면 다음을 실행합니다.

  gcloud compute ssl-policies list --global

리전 SSL 정책만 나열하려면 다음을 실행합니다.

  gcloud compute ssl-policies list --regions REGION

SSL 정책에서 사용할 수 있는 기능 나열

콘솔

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 기능을 조회할 정책의 이름을 클릭합니다. 사용 설정된 암호화 모음과 중지된 암호화 모음이 페이지 오른쪽에 나열됩니다.

gcloud

전역 SSL 정책에서 사용할 수 있는 기능을 나열하려면 다음 명령어를 실행합니다.

gcloud compute ssl-policies list-available-features

리전 SSL 정책에서 사용할 수 있는 기능을 나열하려면 다음 명령어를 실행합니다.

gcloud compute ssl-policies list-available-features \
    --region REGION

SSL 정책 수정

콘솔

전역 또는 리전 SSL 정책을 수정하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 SSL 정책 페이지로 이동합니다.

    SSL 정책으로 이동

  2. 수정할 정책의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. 원하는 대로 변경합니다.

  5. 저장을 클릭합니다.

gcloud

기존 SSL 정책을 수정하려면 업데이트할 필드에 해당하는 플래그 전부 또는 일부를 전달합니다. 지정되지 않은 필드는 업데이트되지 않습니다.

기능을 업데이트하면 이전에 사용 설정한 기능이 삭제되고 지정한 새 기능으로 대체됩니다.

전역 SSL 정책

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    --custom-features FEATURES

리전 SSL 정책

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    [--custom-features FEATURES \]
    --region REGION

SSL 정책으로 대상 프록시 만들기

콘솔

다음 문서와 같이 부하 분산기를 만들거나 업데이트할 때 Google Cloud 콘솔을 사용하여 대상 프록시를 만들 수 있습니다.

gcloud

전역 SSL 정책을 사용하여 대상 SSL 프록시를 만들려면 다음 명령어를 실행합니다.

gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \
  --backend-service BACKEND_SERVICE_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --ssl-policy SSL_POLICY_NAME

전역 SSL 정책을 사용하여 전역 대상 HTTPS 프록시를 만들려면 다음 명령어를 실행합니다.

gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --ssl-policy SSL_POLICY_NAME

리전 SSL 정책을 사용하여 리전 대상 HTTPS 프록시를 만들려면 다음 명령어를 실행합니다.

gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \
  --ssl-certificates SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --url-map-region REGION \
  --ssl-policy SSL_POLICY_NAME \
  --region REGION

기존 SSL 정책을 기존 대상 프록시에 연결

콘솔

gcloud

이 명령어를 사용하여 기존 SSL 정책을 SSL 프록시 또는 HTTPS 프록시에 연결합니다.

  • 조직에서 대상 SSL 프록시가 있는 모든 프로젝트를 찾으려면 다음 안내를 따르세요.

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetSslProxy
    
  • 조직에서 대상 HTTPS 프록시가 있는 모든 프로젝트를 찾으려면 다음 안내를 따르세요.

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • 프로젝트의 모든 전역 대상 SSL 프록시를 나열하려면 targetSslProxies.aggregatedList 메서드를 사용합니다. 그 다음 filter 쿼리 매개변수를 사용하여 SSL 정책을 참조하지 않는 대상 SSL 프록시를 검색합니다.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • 프로젝트의 모든 전역 및 지역 대상 HTTPS 프록시를 나열하려면 includeAllScopes 쿼리 매개변수가 true로 설정된 targetHttpsProxies.aggregatedList 메서드를 사용합니다. 그런 다음 filter 쿼리 매개변수를 사용하여 SSL 정책을 참조하지 않는 대상 HTTPS 프록시를 검색합니다.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • 기존 전역 SSL 정책을 대상 SSL 프록시에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • 기존 전역 SSL 정책을 전역 대상 HTTPS 프록시에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • 기존 리전 SSL 정책을 리전 대상 HTTPS 프록시에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME \
        --region REGION
    

대상 프록시 업데이트에 --ssl-policy 플래그 또는 --clear-ssl-policy 플래그를 제공하지 않으면(예: SSL 인증서를 업데이트할 때) SSL 정책이 변경되지 않습니다. --clear-ssl-policy 플래그 설명은 대상 프록시에서 SSL 정책 삭제를 참조하세요.

API

전역 대상 프록시에 전역 SSL 정책을 설정하려면 targetHttpsProxies.patch 메서드를 사용합니다.

리전 대상 프록시에 리전 SSL 정책을 설정하려면 regionTargetHttpsProxies.patch 메서드를 사용합니다.

대상 프록시에서 SSL 정책 삭제

콘솔

gcloud

이 명령어를 사용하여 SSL 프록시 또는 HTTPS 프록시에서 SSL 정책을 삭제합니다. 다른 SSL 정책을 대상 프록시에 연결하지 않으면 부하 분산기에서 기본 SSL 정책을 사용합니다. --clear-ssl-policy 플래그를 사용하면 SSL 정책을 기본 SSL 정책으로 대체한다는 의미입니다.

대상 SSL 프록시에서 전역 SSL 정책을 삭제하려면 다음 명령어를 실행합니다.

gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
    --clear-ssl-policy

전역 대상 HTTPS 프록시에서 전역 SSL 정책을 삭제하려면 다음 명령어를 실행합니다.

gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy

리전 대상 HTTPS 프록시에서 리전 SSL 정책을 삭제하려면 다음 명령어를 실행합니다.

gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy \
    --region REGION

업데이트 명령어에 --clear-ssl-policy 플래그를 제공하면 SSL 정책이 프록시에서 삭제됩니다.

대상 프록시 업데이트에 --clear-ssl-policy 플래그 또는 --ssl-policy 플래그를 제공하지 않으면(예: SSL 인증서를 업데이트할 때) SSL 정책이 변경되지 않습니다. --ssl-policy 플래그 설명은 기존 대상 프록시에 기존 SSL 정책 연결을 참조하세요.

SSL 정책 관리

커스텀 제약조건을 사용하여 TLS 기능을 제한하는 경우 대상 SSL 프록시 및 대상 HTTPS 프록시에 연결된 기존 SSL 정책에서 TLS 규정 준수를 수동으로 확인합니다.

다음 샘플 단계에 따라 보안 목표를 충족하지 않는 SSL 정책을 찾고 업데이트합니다.

  • 조직에서 SSL 정책 리소스가 있는 모든 프로젝트를 찾으려면 다음 안내를 따르세요.

    gcloud asset search-all-resources \
      --scope=organizations/ORGANIZATION_ID \
      --asset-types=compute.googleapis.com/SslPolicy
    
  • 프로젝트의 모든 전역 및 리전 SSL 정책을 나열하려면 includeAllScopes 쿼리 매개변수를 true로 설정한 sslPolicies.aggregatedList 메서드를 사용합니다. 그런 다음 filter 쿼리 매개변수를 사용하여 보안 목표와 일치하지 않는 SSL 정책을 검색합니다.

    예를 들어 TLS 버전이 1.2보다 낮은 SSL 정책을 찾으려면 minTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1" 필터를 사용합니다.

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \
      --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
      --header 'Accept: application/json' \
      --compressed
    

    API 키를 가져오려면 API 키를 사용하여 인증을 참조하세요. 액세스 토큰을 가져오려면 projects.serviceAccounts.generateAccessToken 메서드를 사용합니다.

    그런 다음 최소 TLS 요구사항을 충족하지 않는 SSL 정책을 업데이트합니다.

    전역 SSL 정책을 업데이트하려면 다음 명령어를 사용합니다.

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --global
    

    지역 SSL 정책을 업데이트하려면 다음 명령어를 사용합니다.

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --region REGION
    

  • SSL 정책과 연결되지 않은 프로젝트의 모든 대상 SSL 프록시를 나열하려면 다음 명령어를 실행합니다.

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    

    이러한 대상 프록시에 SSL 정책을 연결하려면 기존 대상 프록시에 기존 SSL 정책 연결을 참고하세요.

  • Cloud 애셋 인벤토리 또는 Google API 탐색기를 사용하여 보안 요구사항을 충족하지 않는 리소스를 찾고 업데이트할 수도 있습니다.

    예를 들어 SSL 정책과 연결되지 않은 대상 SSL 프록시 목록을 조회하려면 Cloud 애셋 인벤토리에서 다음 단계를 따르세요.

    1. Google Cloud 콘솔에서 애셋 인벤토리 페이지로 이동합니다.

      애셋 인벤토리로 이동

    2. 애셋 쿼리를 클릭합니다.

    3. 쿼리 수정 입력란에 다음 쿼리를 입력하고 실행을 클릭합니다.

      select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
      
    4. 이러한 대상 프록시에 SSL 정책을 연결하려면 기존 대상 프록시에 기존 SSL 정책 연결을 참고하세요.

    5. 빈 응답이 표시될 때까지 Cloud 애셋 인벤토리에서 쿼리를 실행합니다.

한도

부하 분산기 할당량 및 한도를 참조하세요.

API 참조

REST API를 통해 SSL 정책을 사용할 때 사용할 수 있는 속성과 메서드에 대한 설명은 다음을 참조하세요.

제품 API 참고 리소스
  • 전역 외부 애플리케이션 부하 분산기
  • 기본 애플리케이션 부하 분산기
  • 리전 간 내부 애플리케이션 부하 분산기
  • 전역 외부 프록시 네트워크 부하 분산기
  • 기존 프록시 네트워크 부하 분산기
sslPolicies
  • 리전 외부 애플리케이션 부하 분산기
  • 리전별 내부 애플리케이션 부하 분산기
regionSslPolicies

gcloud CLI 참조

Google Cloud CLI 참조는 다음을 확인하세요.

다음 단계