Apigee에서 조직 정책 제약조건 사용

이 페이지에서는 Apigee에서 조직 정책 제약조건을 사용하는 방법을 설명합니다.

Apigee의 모든 기능이 민감한 정보 암호화에 CMEK를 사용하는 것은 아닙니다. CMEK로 암호화해야 하는 데이터가 의도치 않게 CMEK로 보호되지 않는 기능을 사용하지 않도록 하기 위해 CMEK 제약 조건이 적용되는 프로젝트에서는 규정을 준수할 때까지 이러한 기능이 사용 중지됩니다. 기능의 새로운 사용만 사용 중지됩니다(새 리소스 만들기 또는 부가기능 사용 설정). 이미 사용 중인 기능과 리소스는 계속 사용할 수 있고 수정할 수 있지만 보호되지는 않습니다.

gcloud alpha apigee organizations API와 평가 프로비저닝 마법사 모두에서 평가 조직 생성이 차단됩니다. 평가 프로비저닝 마법사를 보려고 하면 Apigee 평가를 사용할 수 없음이라는 메시지가 표시됩니다.

CMEK 제약 조건이 적용된 프로젝트에서 사용 중지된 기능에 대한 자세한 내용은 조직 정책 제약조건을 참조하세요.

약관

이 주제에는 다음과 같은 용어가 사용됩니다.

용어 정의
CMEK 고객 관리 암호화 키. 자세한 내용은 고객 관리 암호화 키를 참조하세요.
조직 정책 제약 조건 제약조건은 Google Cloud 서비스 또는 Google Cloud 서비스 목록에 대한 특정 유형의 제한사항입니다. CMEK와 관련하여 다음과 같은 두 가지 관련 제약조건이 있습니다.
  • constraints/gcp.restrictNonCmekServices
  • constraints/gcp.restrictCmekCryptoKeyProjects
적용 Apigee의 백엔드 시스템이 프로젝트의 제약조건(이 경우 CMEK 제약조건)을 준수함을 보장합니다.
사전 유효성 검사 CMEK 조직 정책에 따라 Apigee에서 유효한 구성을 선택하도록 안내하고 정책을 준수하지 않는 기능을 노출하지 않는 UI 동작
리소스 조직인스턴스와 같은 Apigee 리소스

CMEK가 아닌 서비스 제한 방법

이 섹션에서는 CMEK가 아닌 서비스를 제한하는 방법을 설명합니다.

  1. 기본 요건 충족
  2. Google Cloud 콘솔에서 프로젝트 선택
  3. 새 조직 정책 제약조건 만들기
  4. Apigee 프로비저닝

기본 요건

다음 요건을 충족해야 합니다.

열려 있는 프로젝트

  1. Google Cloud 콘솔에서 대시보드 페이지로 이동합니다.

    대시보드로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.

조직 정책 제약조건 만들기

조직 정책은 각 제약조건에 설정된 값으로 정의됩니다. 조직 정책은 이 리소스 수준에서 구성되거나 상위 리소스에서 상속되거나 Google에서 관리하는 기본 동작으로 설정됩니다. 이 경우 CMEK가 필요하고 프로젝트 및 프로젝트에서 상속받은 모든 리소스에 적용되는 제약조건을 만듭니다.

Apigee에서 데이터를 암호화할 때 항상 고객 관리 암호화 키가 사용되도록 하려면 다음과 같은 조직 정책 제약조건을 만드세요.

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

    조직 정책으로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.
  3. 필터 상자에 다음을 입력합니다.
    constraints/gcp.restrictNonCmekServices
  4. 더보기, 정책 수정을 클릭합니다. 수정이 사용 중지된 경우 필요한 권한이 없으며 관리자에게 조직의 조직 정책 관리자(roles/orgpolicy.policyAdmin) IAM 역할을 부여해 달라고 요청해야 합니다. 자세한 내용은 기본 요건을 참조하세요.
  5. 정책 소스에서 상위 정책 재정의를 선택합니다. 이 리소스에는 고유한 정책이 있습니다. 다음 단계에서는 상위 정책 규칙이 처리되는 방식을 지정합니다.
  6. 정책 시행에서 다음 중 하나를 선택합니다.
    • 바꾸기. 이 옵션은 상위 정책을 무시하고 이 규칙을 사용합니다.
    • 상위 항목과 병합. 이 옵션은 상위 리소스에 설정된 규칙 외에 규칙을 더 추가합니다.

    조직 정책 상속에 대한 설명은 계층 구조 평가 이해를 참조하세요.

  7. 규칙 추가를 클릭합니다.
  8. 정책 값에서 커스텀을 선택합니다.
  9. 정책 유형에서 거부를 선택합니다.
  10. 커스텀 값에 다음을 입력합니다.
    apigee.googleapis.com
  11. 완료를 클릭합니다.
  12. 정책 설정을 클릭합니다. 정책 세부정보 페이지가 표시됩니다.

정책을 구성하고 정책을 상속/사용하는 프로젝트를 선택하면 Apigee를 프로비저닝할 준비가 됩니다. CMEK 조직 정책을 구성하기 전에 생성된 Apigee 리소스는 정책을 준수하지 않을 수 있습니다. 정책이 적용된 후에 생성된 새 리소스만 CMEK 제약조건을 준수합니다.

참조:

Apigee 프로비저닝

조직 정책 제약조건이 있는 Apigee를 프로비저닝하는 방법은 조직 정책 제약조건이 없는 Apigee를 프로비저닝하는 방법과 동일합니다. 단, UI에서는 지원되지 않는 항목을 선택할 수 없습니다.

이 섹션에서는 UI에서 선택을 안내하는 부분을 설명합니다.

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

    Apigee로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.
  3. Apigee API 관리 시작 페이지에서 CMEK를 명시적으로 선택해야 하므로 기본값을 사용한 설정이 사용 중지됩니다. 설정 맞춤설정을 클릭합니다.
  4. API 사용 설정: 1단계: 필수 API 사용 설정에 설명된 대로 필수 API를 사용 설정합니다.
  5. 네트워킹 설정: 2단계: 네트워킹 설정에 설명된 대로 네트워킹을 설정합니다.
  6. 호스팅 및 암호화 구성:

    사용자 경험 D: 고객 관리 암호화, 데이터 상주 포함은 CMEK가 아닌 서비스를 제한하는 조직 정책 제약조건과 관련된 유일한 사용자 경험입니다.

    1. 수정을 클릭하여 호스팅 및 암호화 키 패널을 엽니다.
    2. 암호화 유형 섹션에서 Google 관리 암호화 키는 사용 중지되고 고객 관리 암호화 키는 사용 설정되어 있으며 사용 중지할 수 없습니다.
    3. 다음을 클릭합니다.
    4. 컨트롤 플레인 섹션에서 데이터 상주 사용 설정이 사용 설정되어 있으며 사용 중지할 수 없습니다.
    5. 사용자 경험 D: 고객 관리 암호화, 데이터 상주 포함의 3.b. 단계에 설명된 대로 호스팅 및 암호화를 계속 구성합니다.
  7. 액세스 라우팅 맞춤설정: 4단계: 액세스 라우팅 맞춤설정에 설명된 대로 액세스 라우팅을 맞춤설정합니다.

CMEK 암호화 키 프로젝트를 제한하는 방법

이 섹션에서는 CMEK 암호화 키 프로젝트를 제한하는 방법을 설명합니다.

다른 조직 정책 제약조건(constraints/gcp.restrictCmekCryptoKeyProjects)을 통해 암호화 키를 제공할 수 있는 프로젝트를 제한할 수 있습니다. 이 제약조건을 사용하면 암호화 키를 사용할 수 있는 프로젝트를 허용 목록에 추가할 수 있습니다.

CMEK를 선택할 수 있는 모든 부분(현재 Apigee를 프로비저닝하거나 Apigee 인스턴스를 만드는 동안)에서 이 제약 조건이 적용됩니다.

Google Cloud 콘솔에서 선택한 현재 프로젝트가 restrictCmekCryptoKeyProjects 제약 조건에서 허용 목록에 없으면 암호화 키 선택 상자에서 키를 선택할 수 없습니다. 대신 허용 목록에 있는 프로젝트의 키를 사용해야 합니다.

기본 요건

다음 요건을 충족해야 합니다.

  • 조직 정책 관리자 역할이 있어야 합니다. 조직 정책을 관리하는 데 필요한 권한을 얻으려면 관리자에게 조직의 조직 정책 관리자(roles/orgpolicy.policyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
  • 프로비저닝 소개에 설명된 기본 요건을 충족합니다.
  • 유료 조직(구독 또는 사용한 만큼만 지불)을 사용합니다.
  • 데이터 상주를 사용합니다.
  • Google Cloud 콘솔(구독 또는 사용한 만큼만 지불)을 사용하여 프로비저닝합니다.
  • 사용하려는 키가 포함된 프로젝트를 파악합니다.

열려 있는 프로젝트

  1. Google Cloud 콘솔에서 대시보드 페이지로 이동합니다.

    대시보드로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.

조직 정책 제약조건 만들기

조직 정책은 각 제약조건에 설정된 값으로 정의됩니다. 조직 정책은 이 리소스 수준에서 구성되거나 상위 리소스에서 상속되거나 Google에서 관리하는 기본 동작으로 설정됩니다. 이 경우 허용 목록에 있는 프로젝트의 키만 허용하는 제약조건을 만듭니다. 이 제약조건은 프로젝트와 프로젝트에서 상속받는 모든 리소스에 적용됩니다.

고객 관리 암호화 키가 특정 프로젝트에서만 사용되도록 하려면 허용 목록에 추가합니다.

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

    조직 정책으로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.
  3. 필터 상자에 다음을 입력합니다.
    restrictCmekCryptoKeyProjects
  4. 더보기, 정책 수정을 클릭합니다. 수정이 사용 중지된 경우 필요한 권한이 없으며 관리자에게 조직의 조직 정책 관리자(roles/orgpolicy.policyAdmin) IAM 역할을 부여해 달라고 요청해야 합니다. 자세한 내용은 기본 요건을 참조하세요.
  5. 정책 소스에서 상위 정책 재정의를 선택합니다. 이 리소스에는 고유한 정책이 있습니다. 다음 단계에서는 상위 정책 규칙이 처리되는 방식을 지정합니다.
  6. 정책 시행에서 다음 중 하나를 선택합니다.
    • 바꾸기. 이 옵션은 상위 정책을 무시하고 이 규칙을 사용합니다.
    • 상위 항목과 병합. 이 옵션은 상위 리소스에 설정된 규칙 외에 규칙을 더 추가합니다.

    조직 정책 상속에 대한 설명은 계층 구조 평가 이해를 참조하세요.

  7. 규칙 추가를 클릭합니다.
  8. 정책 값에서 커스텀을 선택합니다.
  9. 정책 유형에서 허용을 선택합니다.
  10. 커스텀 값에 다음을 입력합니다.
    projects/PROJECT_ID

    PROJECT_ID를 사용하려는 Cloud KMS 키가 있는 프로젝트 ID로 바꿉니다. 예를 들면 my-kms-project입니다.

  11. 완료를 클릭합니다.
  12. 정책 설정을 클릭합니다. 정책 세부정보 페이지가 표시됩니다.

정책을 구성하고 정책을 상속/사용하는 프로젝트를 선택하면 Apigee를 프로비저닝할 준비가 됩니다. CMEK 조직 정책을 구성하기 전에 생성된 Apigee 리소스는 정책을 준수하지 않을 수 있습니다. 정책이 적용된 후에 생성된 새 리소스만 CMEK 제약조건을 준수합니다.

참조:

Apigee 프로비저닝

조직 정책 제약조건이 있는 Apigee를 프로비저닝하는 방법은 조직 정책 제약조건이 없는 Apigee를 프로비저닝하는 방법과 동일합니다. 단, UI에서는 지원되지 않는 항목을 선택할 수 없습니다.

이 섹션에서는 UI에서 선택을 안내하는 부분을 설명합니다.

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

    Apigee로 이동

  2. Google Cloud 콘솔 드롭다운 목록에서 프로젝트가 아직 선택되어 있지 않으면 프로젝트를 선택합니다.
  3. Apigee API 관리 시작 페이지에서 설정 맞춤설정을 클릭합니다.
  4. API 사용 설정: 1단계: 필수 API 사용 설정에 설명된 대로 필수 API를 사용 설정합니다.
  5. 네트워킹 설정: 2단계: 네트워킹 설정에 설명된 대로 네트워킹을 설정합니다.
  6. 호스팅 및 암호화 구성:

    사용자 경험 D: 고객 관리 암호화, 데이터 상주 포함은 CMEK가 아닌 서비스를 제한하는 조직 정책 제약조건과 관련된 유일한 사용자 경험입니다.

    1. 수정을 클릭하여 호스팅 및 암호화 키 패널을 엽니다.
    2. 암호화 유형 섹션에서 Google 관리 암호화 키는 사용 중지되고 고객 관리 암호화 키는 사용 설정되어 있으며 사용 중지할 수 없습니다.
    3. 다음을 클릭합니다.
    4. 컨트롤 플레인 섹션에서 데이터 상주 사용 설정이 사용 설정되어 있으며 사용 중지할 수 없습니다.
    5. 사용자 경험 D: 고객 관리 암호화, 데이터 상주 포함의 3.b. 단계에 설명된 대로 호스팅 및 암호화를 계속 구성합니다.
  7. 액세스 라우팅 맞춤설정: 4단계: 액세스 라우팅 맞춤설정에 설명된 대로 액세스 라우팅을 맞춤설정합니다.

허용 목록에 있는 프로젝트의 키 사용

Apigee의 허용 목록에 있는 프로젝트의 키를 사용하려면 리소스 ID별로 키를 수동으로 입력해야 합니다. 수동으로 입력한 키도 제약조건의 허용 목록에 있는 프로젝트를 기반으로 프로젝트가 유효한지 확인하기 위해 유효성 검사를 거칩니다.

Google Cloud KMS 리소스 ID를 가져오는 방법

참조: Cloud KMS 리소스 ID 가져오기

문제 해결

다음 표에는 CMEK 및 조직 정책 제약조건과 관련하여 발생할 수 있는 일반적인 오류 조건이 나와 있습니다.

오류 메시지 원인 수행할 단계
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. 프로젝트에 조직 정책 제약조건이 있는 체험판 조직을 프로비저닝하려고 했습니다. 체험판/평가 조직에는 CMEK가 지원되지 않습니다. 체험판 조직을 프로비저닝하려면 조직 정책 제약조건 constraints/gcp.restrictNonCmekServices를 업데이트하여 거부된 서비스 목록에서 Apigee를 삭제해야 합니다.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable global org. CMEK is not supported in location 'global', select another location or adjust the code constraint for this project. 프로젝트에 조직 정책 제약조건이 있는 글로벌 조직을 프로비저닝하려고 했습니다. CMEK는 글로벌 조직에 지원되지 않습니다. 조직을 만들려면 조직 정책 제약조건 constraints/gcp.restrictNonCmekServices를 업데이트하여 거부된 서비스 목록에서 Apigee를 삭제하거나 다른 위치를 사용해야 합니다.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a resource without specifying a KMS CryptoKey. Provide a KMS CryptoKey to use for this resource. KMS CryptoKey를 지정하지 않고 프로젝트에 조직 정책 제약 조건이 있는 조직을 프로비저닝하려고 했습니다. 데이터를 암호화하기 위해 CMEK를 제공해야 하는 조직 정책에 코드를 설정했습니다. 조직 또는 인스턴스를 만들려면 CMEK 키를 제공해야 합니다. CMEK 적용을 원하지 않는 경우 조직 정책 제약 조건 constraints/gcp.restrictNonCmekServices를 업데이트하여 거부된 서비스 목록에서 Apigee를 삭제할 수 있습니다.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. 프로젝트에 조직 정책 제약조건이 있는 조직을 프로비저닝하려고 했으며 허용 목록에 없는 KMS CryptoKey를 지정했습니다. 나열된 허용된 프로젝트의 CMEK 키를 제공해야 하는 조직 정책에 constraints/gcp.restrictCmekCryptoKeyProjects를 설정했습니다. 조직 또는 인스턴스를 만들려면 허용된 프로젝트의 CMEK 키를 제공해야 합니다. 또는 원하는 특정 Google Cloud 프로젝트의 키를 허용하도록 조직 정책 제약조건 constraints/gcp.restrictCmekCryptoKeyProjects를 업데이트할 수 있습니다.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a portal. Integrated portals do not support the use of CMEK. To use integrated portals, adjust the gcp.restrictNonCmekServices policy constraint. 프로젝트에 조직 정책 제약조건이 있는 포털을 만들려고 했습니다. 통합 포털에는 CMEK가 지원되지 않습니다. 새 포털을 만들려면 조직 정책 제약조건 constraints/gcp.restrictNonCmekServices를 업데이트하여 거부된 서비스 목록에서 Apigee를 삭제해야 합니다.