Google Cloud에서는 조직 전체에서 키 버전 폐기 정책을 설정하기 위해 두 가지 조직 정책 제약조건이 사용됩니다.
constraints/cloudkms.minimumDestroyScheduledDuration
은 조직 내 새 키의 폐기 예약 기간에 대한 최소 길이를 설정하는 데 사용됩니다.constraints/cloudkms.disableBeforeDestroy
는 키 버전 폐기를 예약하기 전에 먼저 키 버전을 사용 중지하도록 요구하는 데 사용됩니다.
시작하기 전에
이 페이지의 안내에서는 사용자가 제약조건 사용에 익숙하며 필요한 리소스와 역할이 있다고 가정합니다.
필요한 리소스
이 페이지의 단계를 완료하려면 다음 리소스가 있어야 합니다.
- 조직
- 선택사항: 조직 내 폴더 또는 프로젝트 리소스
필요한 역할
조직 정책을 관리하는 데 필요한 권한을 얻으려면 관리자에게 조직의 조직 정책 관리자(roles/orgpolicy.policyAdmin
) IAM 역할을 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 조직 정책을 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
조직 정책을 관리하려면 다음 권한이 필요합니다.
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
최소 폐기 예약 기간 필요
키당 최소 폐기 예약 기간 제약조건(constraints/cloudkms.minimumDestroyScheduledDuration
)은 새 키의 폐기 예약 기간에 대한 최소 길이를 설정하는 데 사용됩니다. 이 제약조건은 프로젝트, 폴더 또는 조직 수준에서 최소 폐기 예약 기간을 재정의합니다. 이 제약조건은 여전히 필요한 키를 실수로 폐기할 가능성을 줄입니다. 이 제약조건을 더 높은 값으로 설정하면 취소가 불가능해지기 전에 키 폐기를 방지할 시간을 확보할 수 있습니다.
데이터 보관 요구사항이 적용되는 프로덕션 데이터와 같이 원치 않는 키 폐기가 더 유해할 경우 이 제약조건에 더 높은 값을 사용합니다. 개발 또는 테스트 환경과 같이 원치 않는 키 폐기가 덜 유해할 경우 이 제약조건에 더 낮은 값을 사용합니다. 더 낮은 값을 사용하여 시의적절한 암호화 파쇄를 허용할 수도 있습니다. 그러나 이 제약조건은 최솟값으로 폐기 예약 기간이 짧은 새로운 키가 생성되게 할 수 없습니다.
최소 폐기 예약 기간이 필요한 경우 다음 단계를 따르세요.
describe
명령어를 사용하여 조직 리소스의 현재 정책을 가져옵니다. 이 명령어는 이 리소스에 직접 적용되는 정책을 반환합니다.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
ORGANIZATION_ID
를 조직 리소스의 고유 식별자로 바꿉니다. 조직 ID는 십진수 형식이며 앞에 0이 올 수 없습니다.--folder
또는--project
플래그와 폴더 ID 또는 프로젝트 ID를 각각 사용하여 폴더 또는 프로젝트의 조직 정책을 볼 수도 있습니다.현재 조직 정책이 있는 경우 해당 정책이 응답에 반환됩니다. 출력은 다음과 비슷합니다.
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: etag: COTP+KYGELiCmsoB inheritFromParent: true rules: - values: allowedValues: - in:7d updateTime: '2023-08-17T14:00:04.424051Z'
정책이 설정되지 않은 경우
describe
명령어는NOT_FOUND
오류를 반환합니다.ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
set-policy
명령어를 사용하여 조직에 정책을 설정합니다. 이 명령어는 현재 리소스에 연결된 정책을 덮어씁니다.정책을 저장할
/tmp/policy.yaml
임시 파일을 만듭니다.name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATION
다음을 바꿉니다.
ORGANIZATION_ID
: 조직의 숫자 IDMINIMUM_DURATION
: 이 조직의 키에 대해 폐기 예약됨 상태로 유지되는 최소 기간(일)입니다.7d
,15d
,30d
,60d
,90d
,120d
중 하나여야 합니다.
set-policy
명령어를 실행합니다.gcloud org-policies set-policy /tmp/policy.yaml
describe --effective
를 사용하여 현재의 유효 정책을 확인합니다. 이 명령어는 상속이 포함된 리소스 계층 구조에서 이 시점에 평가된 것에 해당하는 조직 정책을 반환합니다.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_ID
출력은 다음과 비슷합니다.
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
이 조직 정책은 조직 수준에서 설정되었으므로 상속을 허용하는 모든 하위 리소스에 상속됩니다.
폐기 전 키 사용 중지 필요
키 폐기 사용 중지 키 제한 제약조건(constraints/cloudkms.disableBeforeDestroy
)을 사용하면 키 폐기를 예약하기 전에 키가 사용 중지되도록 요구할 수 있습니다.
키를 폐기하기 전에 사용 중지하는 것은 키가 사용 중이 아닌지 확인하는 데 도움이 되기 때문에 권장됩니다. 이 제약조건을 신중한 Identity and Access Management 정책과 결합하여 여러 역할의 협력이 필요한 다단계 폐기 프로세스를 만들 수 있습니다.
이 제약조건을 사용하여 다단계 폐기 프로세스를 만들려면 cloudkms.cryptoKeyVersions.update
권한과 cloudkms.cryptoKeyVersions.destroy
권한을 모두 가진 사용자가 없어야 합니다. 이 사용 사례에는 커스텀 역할을 사용해야 합니다.
키 폐기를 예약하기 전에 키가 사용 중지 상태가 되도록 하려면 다음 단계를 따르세요.
gcloud
describe
명령어를 사용하여 조직 리소스의 현재 정책을 가져옵니다. 이 명령어는 이 리소스에 직접 적용되는 정책을 반환합니다.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
ORGANIZATION_ID
를 조직 리소스의 고유 식별자로 바꿉니다. 조직 ID는 십진수 형식이며 앞에 0이 올 수 없습니다.--folder
또는--project
플래그와 폴더 ID 또는 프로젝트 ID를 각각 사용하여 폴더 또는 프로젝트의 조직 정책을 볼 수도 있습니다.현재 조직 정책이 있는 경우 해당 정책이 응답에 반환됩니다. 출력은 다음과 비슷합니다.
name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: etag: CPvY+KYGENDwgxA= rules: - enforce: true updateTime: '2023-08-17T14:19:39.033618Z'
정책이 설정되지 않은 경우
describe
명령어는NOT_FOUND
오류를 반환합니다.ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
set-policy
명령어를 사용하여 조직에 정책을 설정합니다. 이 명령어는 이미 리소스에 연결된 정책을 덮어씁니다.정책을 저장할
/tmp/policy.yaml
임시 파일을 만듭니다.name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: true
ORGANIZATION_ID
를 조직 리소스의 고유 식별자로 바꿉니다.set-policy
명령어를 실행합니다.gcloud org-policies set-policy /tmp/policy.yaml
describe --effective
를 사용하여 현재의 유효 정책을 확인합니다. 이 명령어는 상속이 포함된 리소스 계층 구조에서 이 시점에 평가된 것에 해당하는 조직 정책을 반환합니다.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_ID
출력은 다음과 비슷합니다.
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: true
이 조직 정책은 조직 수준에서 설정되었으므로 상속을 허용하는 모든 하위 리소스에 상속됩니다.
다음 단계
- 키 버전 상태에 대해 자세히 알아보기
- 키 버전 폐기 및 복원