Autokey 사용 관리

이 문서에서는 IAM 거부 정책 및 조직 정책 제약 조건을 사용하여 조직 또는 폴더 내에서 Autokey가 사용되는 방식을 제어하는 방법을 설명합니다. 이러한 두 가지 보호 장치는 조직 수준 역할로만 수정할 수 있으므로 폴더 또는 프로젝트 수준에서 소유자 또는 관리자 역할이 있는 주 구성원이 재정의할 수 없습니다.

다음 사용 사례가 지원됩니다.

IAM과 조직 정책 비교

IAM과 조직 정책을 모두 사용하면 조직에서 Cloud KMS Autokey를 사용하는 방법을 제어하는 보호 장치를 설정할 수 있습니다.

IAM은 어떤 리소스에서 어떤 작업을 수행할 권한이 있는 사용자를 제어합니다. IAM을 사용하여 조직에서 Autokey를 사용 설정하고 사용할 수 있는 주 구성원 을 제한할 수 있습니다.

조직 정책은 만들 수 있는 리소스와 구성 방법을 제어합니다. 커스텀 조직 정책을 사용하여 Autokey를 사용 설정할 수 있는 위치방법 을 제한할 수 있습니다.

IAM과 조직 정책을 함께 사용하여 Autokey를 사용 설정하고 사용할 수 있는 사용자와 위치를 제어하는 강력한 보호 장치 시스템을 만들 수 있습니다.

시작하기 전에

Autokey 사용을 제어하는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

IAM 거부 정책을 사용하여 Autokey 제어

IAM 거부 정책은 어떤 주 구성원이 어떤 작업을 수행할 수 있는지에 대한 하향식 제어를 제공합니다. 리소스에 설정된 거부 정책은 IAM 역할 부여 또는 하위 리소스에 설정된 거부 정책으로 재정의할 수 없습니다. 주 구성원은 권한이 포함된 역할이 있더라도 거부된 권한이 필요한 작업을 완료할 수 없습니다.

IAM 거부 정책을 만드는 방법은 리소스에 대한 액세스 거부를 참조하세요.

다음 표에는 조직에서 Autokey를 제어하기 위해 거부할 수 있는 권한과 각 권한을 거부할 때의 효과를 포함하여 IAM 거부 정책의 몇 가지 사용 사례가 나와 있습니다.

사용 사례 거부된 권한 주 구성원 효과
Autokey 사용 설정 금지 cloudkms.autokeyConfigs.update 모두 선택한 주 구성원은 새 AutokeyConfig 리소스를 만들거나 기존 리소스를 업데이트할 수 없습니다. 기존 AutokeyConfig 리소스는 계속 적용되며 계속 사용할 수 있습니다.
Autokey 사용 금지 cloudkms.keyHandles.create 모두 선택한 주 구성원은 새 KeyHandle 리소스를 만들 수 없으므로 Autokey가 사용 설정된 경우에도 Autokey를 사용하여 새 보호 리소스를 만들 수 없습니다.
수동 키 생성 금지 cloudkms.cryptoKeys.create Cloud KMS 서비스 에이전트를 제외한 모두 선택한 주 구성원은 새 키를 만들 수 없습니다. Cloud KMS 서비스 에이전트만 제외하면 Autokey가 새 키를 만드는 유일한 방법입니다.
IaC만 Autokey 구성을 변경할 수 있음 cloudkms.autokeyConfigs.update Terraform 실행 에이전트를 제외한 모두 선택한 주 구성원은 새 AutokeyConfig 리소스를 만들거나 기존 리소스를 업데이트할 수 없습니다. Terraform 주 구성원을 제외하면 Autokey 구성은 코드형 인프라 (IaC) 파이프라인에 의해 제어됩니다.

커스텀 조직 정책 제약 조건을 사용하여 Autokey 제어

커스텀 조직 정책 제약 조건은 Autokey를 구성할 수 있는 위치와 방법을 하향식으로 제어합니다. 제약 조건은 하위 리소스에 적용된 제약 조건으로 재정의할 수 있습니다. 하지만 제약 조건을 변경하려면 조직 수준 권한이 필요하므로 폴더 또는 프로젝트 수준 권한이 있는 주 구성원은 제약 조건을 재정의할 수 없습니다. 제약 조건이 적용되는 동안 주 구성원은 필요한 권한이 있더라도 금지된 작업을 완료할 수 없습니다.

조직에서 커스텀 제약 조건을 적용하는 방법은 Cloud KMS용 커스텀 조직 정책 제약 조건 만들기를 참조하세요.

여기에 설명된 커스텀 조직 정책 제약 조건을 다른 CMEK 조직 정책과 결합할 수 있습니다.

Autokey 모드 제한

AutokeyConfig 리소스 생성을 조건부로 차단하여 Autokey 기능을 제한할 수 있습니다. 다음 샘플 제약 조건 정의는 keyProjectResolutionMode를 기반으로 AutokeyConfig 리소스의 생성 또는 업데이트를 금지합니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictAutokeyKeyStorage
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.keyProjectResolutionMode == 'KEY_PROJECT_RESOLUTION_MODE')"
    actionType: DENY
    displayName: Restrict Autokey key storage mode
    description: >
      Prevent creation or update of AutokeyConfig resources with
      `KEY_PROJECT_RESOLUTION_MODE` key resolution mode.

KEY_PROJECT_RESOLUTION_MODE를 차단하려는 keyProjectResolutionMode로 바꿉니다. 예를 들어 조직의 모든 사용자가 프로젝트에서 동일 프로젝트 키 저장소를 사용하지 못하도록 하려면 이 값을 RESOURCE_PROJECT로 설정합니다.

폴더에서 Autokey 구성 생성 금지

커스텀 조직 정책을 사용하여 모든 AutokeyConfig 리소스의 생성을 차단하여 폴더 내에서 Autokey가 사용 설정되지 않도록 차단할 수 있습니다.

다음 샘플 제약 조건 정의는 명명된 폴더 내에서 AutokeyConfig 리소스의 생성을 금지합니다. 이 제약 조건이 적용되는 동안 기존 구성은 계속 수정할 수 있습니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigFolder
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
    actionType: DENY
    displayName: Prohibit Autokey within FOLDER_ID
    description: >
      Prevent creation of new AutokeyConfig resources within
      folders/FOLDER_ID.

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직의 식별자
  • FOLDER_ID 를 Autokey를 차단하려는 폴더의 식별자로 바꿉니다.

조직 내에서 Autokey 구성 생성 금지

커스텀 조직 정책을 사용하여 모든 AutokeyConfig 리소스의 생성을 차단하여 조직 전체에서 Autokey가 사용 설정되지 않도록 차단할 수 있습니다.

다음 샘플 제약 조건 정의는 조직 전체에서 AutokeyConfig 리소스의 생성을 금지합니다. 이 제약 조건이 적용되는 동안 기존 구성은 계속 수정할 수 있습니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigOrg
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    condition: "resource.name.endsWith('/autokeyConfig')"
    actionType: DENY
    displayName: Prohibit Autokey within ORGANIZATION_ID
    description: >
      Prevent creation of new AutokeyConfig resources within organization
      ORGANIZATION_ID.

ORGANIZATION_ID를 조직의 식별자로 바꿉니다.

폴더에서 Autokey 구성 변경 금지

커스텀 조직 정책을 사용하여 모든 AutokeyConfig 리소스의 생성 또는 업데이트를 차단하여 폴더 내에서 Autokey 구성이 변경되지 않도록 차단할 수 있습니다.

다음 샘플 제약 조건 정의는 명명된 폴더 내에서 AutokeyConfig 리소스의 생성 또는 업데이트를 금지합니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigFolder
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
    actionType: DENY
    displayName: Prohibit Autokey within FOLDER_ID
    description: >
      Prevent creation or update of AutokeyConfig resources within
      folders/FOLDER_ID.

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직의 식별자
  • FOLDER_ID 를 Autokey를 차단하려는 폴더의 식별자로 바꿉니다.

조직 내에서 Autokey 구성 변경 금지

커스텀 조직 정책을 사용하여 모든 AutokeyConfig 리소스의 생성 또는 업데이트를 차단하여 조직의 어느 곳에서든 Autokey 구성이 변경되지 않도록 차단할 수 있습니다.

다음 샘플 제약 조건 정의는 조직 전체에서 AutokeyConfig 리소스의 생성 또는 업데이트를 금지합니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigOrg
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: condition: "resource.name.endsWith('/autokeyConfig')"
    actionType: DENY
    displayName: Prohibit Autokey within ORGANIZATION_ID
    description: >
      Prevent creation or update of AutokeyConfig resources within
      ORGANIZATION_ID.

ORGANIZATION_ID를 조직의 식별자로 바꿉니다.

DISABLED Autokey 구성만 허용

다음 샘플 제약 조건 정의는 keyProjectResolutionMode가 명시적으로 DISABLED로 설정되지 않은 경우 조직 전체에서 AutokeyConfig 리소스를 만들거나 업데이트하는 것을 금지합니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.onlyDisabledAutokeyConfig
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.keyProjectResolutionMode=='DISABLED'"
    actionType: ALLOW
    displayName: Prohibit Autokey within the organization
    description: >
      Prevent creation or update of `AutokeyConfig` resources within
      organization ORGANIZATION_ID unless the `keyProjectResolutionMode`
      is `DISABLED`.

프로젝트 수준 Autokey 구성 금지

다음 샘플 제약 조건 정의는 폴더 수준 구성을 차단하지 않고 프로젝트에서 AutokeyConfig 리소스를 만들거나 업데이트하는 것을 금지합니다. 이 제약 조건이 적용되는 동안 기존 프로젝트 수준 AutokeyConfig 리소스는 계속 적용되지만 다른 모든 프로젝트는 상위 폴더에서 AutokeyConfig를 계속 상속해야 합니다.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noAutokeyConfigProject
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.name.startsWith('projects/')"
    actionType: DENY
    displayName: Block project-level Autokey within the organization
    description: >
      Prevent creation or update of `AutokeyConfig` resources on projects within
      organization ORGANIZATION_ID. Existing project-level AutokeyConfig
      resources remain in effect, but all other projects must inherit the
      AutokeyConfig from their parent folder.

사용 사례

다음 섹션에서는 IAM 거부 정책, 커스텀 조직 정책, 표준 조직 정책을 함께 결합하는 예를 제공합니다.

Autokey로 키를 만들어야 합니다.

폴더 내에서 Autokey를 사용하여 CMEK를 요구하려면 IAM 액세스 제어를 CMEK 조직 정책과 결합하면 됩니다. 이 기능은 Cloud KMS 서비스 에이전트가 아닌 주 구성원에서 키 생성 권한을 삭제한 후 Autokey 키 프로젝트를 사용하여 CMEK로 모든 리소스를 보호하도록 요구하는 방식으로 작동합니다.

폴더 내에서 Autokey 사용을 적용하려면 다음 단계를 완료합니다.

  1. IAM 거부 정책을 적용하여 키 프로젝트에서 수동 키 생성을 차단합니다. 거부 정책에서 Cloud KMS 서비스 에이전트를 제외한 모든 주 구성원에 대해 cloudkms.cryptoKeys.create 권한을 거부합니다. 폴더에서 전용 프로젝트 키 저장소를 사용하는 경우 전용 키 프로젝트에 거부 정책을 적용합니다. 폴더에서 동일 프로젝트 키 저장소를 사용하는 경우 리소스 프로젝트에 거부 정책을 적용합니다.

    키를 수동으로 만들 수 없는 경우 Autokey로 생성된 키만 이 프로젝트에 만들 수 있습니다.

  2. constraints/gcp.restrictNonCmekServices 제약 조건을 적용하여 폴더 내에서 새로 생성된 리소스가 CMEK를 사용하여 보호되도록 요구합니다.

    제약 조건을 지원하는 서비스 목록을 비롯한 이 제약 조건에 대한 자세한 내용은 CMEK 보호 요구를 참조하세요.

  3. constraints/gcp.restrictCmekCryptoKeyProjects 제약 조건을 적용하여 CMEK에 사용되는 키가 전용 키 프로젝트 또는 동일 프로젝트 키 저장소가 사용 설정된 프로젝트의 키여야 한다고 요구합니다. 제약 조건을 지원하는 서비스 목록을 비롯한 이 제약 조건에 대한 자세한 내용은 CMEK에 대한 Cloud KMS 키 사용 제한을 참조하세요.

Autokey를 완전히 금지

조직 또는 폴더 내에서 Autokey 사용을 완전히 차단하려면 IAM 거부 정책 또는 커스텀 조직 정책 제약 조건을 사용하면 됩니다. 다중 레이어 보증을 위해 두 가지를 함께 사용할 수 있습니다.

조직 또는 폴더 내에서 Autokey를 완전히 차단하려면 다음 단계를 완료하세요.

  1. 조직 또는 폴더의 어느 곳에서든 Autokey가 이미 사용 설정되어 있는 경우 먼저 Autokey를 사용 중지합니다.

  2. IAM 거부 정책을 적용하여 사용자가 Autokey를 구성하지 못하도록 차단합니다. 거부 정책에서 모든 주 구성원에 대해 cloudkms.autokeyConfigs.update 권한을 거부합니다. Autokey가 모든 곳에서 사용 중지되고 주 구성원이 AutokeyConfig 리소스를 수정할 수 없는 경우 Autokey는 완전히 사용 중지된 상태로 유지됩니다.

  3. 선택사항: 위의 단계는 모든 사용자가 Autokey를 사용 설정하지 못하도록 방지하는 데 충분합니다. 하지만 다른 보증 레이어를 원한다면 Autokey가 사용 중지된 리소스만 허용하도록AutokeyConfig 커스텀 조직 정책 제약 조건을 적용할 수도 있습니다.

여기에 설명된 IAM 거부 정책과 커스텀 조직 정책 제약 조건을 모두 적용하면 주 구성원은 이러한 두 가지 보호 장치를 모두 취소하거나 업데이트하지 않고는 리소스에서 Autokey를 사용 설정할 수 없습니다.

다음 단계