보안 기반 조직 리소스 관리

신규 고객인 경우 Google Cloud는 다음 시나리오에서 도메인의 조직 리소스를 자동으로 프로비저닝합니다.

  • 도메인의 사용자가 처음으로 로그인하는 경우
  • 사용자가 조직 리소스가 연결되지 않은 결제 계정을 만드는 경우

무제한 액세스가 특징인 이 조직 리소스의 기본 구성으로 인해 인프라가 보안 침해에 노출될 가능성이 있습니다. 예를 들어 기본 서비스 계정 키 생성은 시스템을 잠재적 침해에 노출시키는 심각한 취약점입니다.

기본 보안 조직 정책을 시행하면 취약한 보안 상태는 조직 리소스 생성 시 적용되는 조직 정책 번들로 해결됩니다. 이러한 적용의 예시로는 서비스 계정 키 생성 중지와 서비스 계정 키 업로드 중지가 있습니다.

기존 사용자가 조직을 만들면 새 조직 리소스의 보안 상황은 기존 조직 리소스와 다를 수 있습니다. 보안 강화를 기본으로 설정한 조직 정책은 2024년 5월 3일 이후에 생성된 모든 조직에 적용됩니다. 2024년 2월과 2024년 4월 사이에 생성된 일부 조직에도 이러한 기본 정책 적용이 설정되어 있을 수 있습니다. 조직에 적용된 조직 정책을 보려면 조직 정책 보기를 참조하세요.

관리자로서 이러한 조직 정책 시행이 자동으로 적용되는 시나리오는 다음과 같습니다.

  • Google Workspace 또는 Cloud ID 계정: Google Workspace 또는 Cloud ID 계정이 있으면 도메인과 연결된 조직 리소스가 생성됩니다. 보안 강화를 기본으로 설정한 조직 정책은 조직 리소스에 자동으로 적용됩니다.
  • 결제 계정 생성: 생성된 결제 계정이 조직 리소스와 연결되지 않으면 조직 리소스가 자동으로 생성됩니다. 보안 강화를 기본으로 설정한 조직 정책은 조직 리소스에 적용됩니다. 이 시나리오는 Google Cloud 콘솔과 gcloud CLI 모두에서 작동합니다.

필수 권한

Identity and Access Management 역할 roles/orgpolicy.policyAdmin이 있는 관리자는 조직 정책을 관리할 수 있습니다. 조직 정책을 변경하거나 재정의하려면 조직 정책 관리자여야 합니다. 역할을 부여하려면 다음 명령어를 실행하세요.

gcloud organizations add-iam-policy-binding ORGANIZATION --member=PRINCIPAL --role=ROLE

다음을 바꿉니다.

  • ORGANIZATION: 조직의 고유 식별자
  • PRINCIPAL: 바인딩이 추가되는 주 구성원. user|group|serviceAccount:email 또는 domain:domain 형식이어야 합니다. 예를 들면 user:222larabrown@gmail.com입니다.
  • ROLE: 주 구성원에게 부여할 역할. 사전 정의된 역할의 전체 경로를 사용하세요. 이 경우 roles/orgpolicy.policyAdmin여야 합니다.

조직 리소스에 적용되는 조직 정책

다음 표에는 조직 리소스를 만들 때 자동으로 적용되는 조직 정책 제약조건이 나와 있습니다.

조직 정책 이름 조직 정책 제약조건 설명 적용 영향
서비스 계정 키 생성 사용 중지 constraints/iam.disableServiceAccountKeyCreation 사용자가 서비스 계정에 영구 키를 만들지 못하도록 합니다. 서비스 계정 키 관리 방법에 대한 자세한 내용은 서비스 계정 키 만들기에 대한 대안 제공을 참조하세요. 노출된 서비스 계정 사용자 인증 정보 위험을 줄입니다.
서비스 계정 키 업로드 사용 중지 constraints/iam.disableServiceAccountKeyUpload 서비스 계정에 외부 공개 키를 업로드하지 못하게 합니다. 서비스 계정 키 없이 리소스에 액세스하는 방법에 대한 자세한 내용은 권장사항을 참조하세요. 노출된 서비스 계정 사용자 인증 정보 위험을 줄입니다.
기본 서비스 계정에 대한 자동 역할 부여 사용 중지 constraints/iam.automaticIamGrantsForDefaultServiceAccounts 기본 서비스 계정이 생성 시 과도한 권한이 부여된 IAM 역할 Editor를 받지 못하도록 합니다. Editor 역할은 서비스 계정에서 대부분의 Google Cloud 서비스에 대한 리소스를 만들고 삭제할 수 있도록 허용하므로 서비스 계정이 도용되면 취약점이 발생합니다.
도메인별 ID 제한 constraints/iam.allowedPolicyMemberDomains 특정 조직 리소스에 속하는 ID로 리소스 공유를 제한합니다. 고객 자체 도메인이 아닌 도메인을 사용하는 행위자가 조직 리소스에 액세스할 수 있도록 허용하면 취약점이 발생합니다.
도메인별 연락처 제한 constraints/essentialcontacts.allowedContactDomains 선택한 도메인의 관리 사용자 ID만 플랫폼 알림을 수신하도록 필수 연락처를 제한합니다. 다른 도메인의 악의적인 행위자가 필수 연락처로 추가되면 보안 상황이 손상될 수 있습니다.
균일한 버킷 수준 액세스 constraints/storage.uniformBucketLevelAccess Cloud Storage 버킷이 객체별 ACL(IAM 정책과 별도의 시스템)을 사용하여 액세스 권한을 제공하지 않도록 합니다. 액세스 관리 및 감사 일관성을 적용합니다.
기본적으로 영역 DNS 사용 constraints/compute.setNewProjectDefaultToZonalDNSOnly 애플리케이션 개발자가 Compute Engine 인스턴스의 전역 DNS 설정을 선택할 수 없는 제한사항을 설정합니다. 전역 DNS 설정은 영역 DNS 설정보다 서비스 신뢰성이 낮습니다.
IP 주소 유형에 따라 프로토콜 전달 제한 constraints/compute.restrictProtocolForwardingCreationForTypes 내부 IP 주소에 대해서만 프로토콜 전달 구성을 제한합니다. 대상 인스턴스를 외부 트래픽 노출로부터 보호합니다.

조직 정책 적용 관리

다음과 같은 방법으로 조직 정책 적용을 관리할 수 있습니다.

조직 정책 나열

보안 강화를 기본으로 설정한 조직 정책이 조직에 적용되는지 확인하려면 다음 명령어를 사용합니다.

gcloud resource-manager org-policies list --organization=ORGANIZATION_ID

ORGANIZATION_ID를 조직의 고유 식별자로 바꾸세요.

조직 정책 사용 중지

조직 정책을 사용 중지하거나 삭제하려면 다음 명령어를 실행합니다.

gcloud org-policies delete CONSTRAINT_NAME --organization=ORGANIZATION_ID

다음을 바꿉니다.

  • CONSTRAINT_NAME: 삭제할 조직 정책 제약조건의 이름. 한 가지 예시는 iam.allowedPolicyMemberDomains입니다.
  • ORGANIZATION_ID: 프로젝트의 고유 식별자

조직 정책 값 추가 또는 업데이트

조직 정책 값을 추가하거나 업데이트하려면 값을 YAML 파일에 저장해야 합니다. 이 파일 콘텐츠는 다음과 같이 표시될 수 있습니다.

{
  "name": "organizations/ORG_ID/policies/CONSTRAINT_NAME",
  "spec": {
    "rules": [
      {
        "values": {
            "allowedValues": ["VALUE_A"]
        }
      }
    ]
  }
}

YAML 파일에 나열된 이러한 값을 추가하거나 업데이트하려면 다음 명령어를 실행합니다.

gcloud org-policies set-policy POLICY_FILE

POLICY_FILE을 조직 정책 값이 포함된 YAML 파일의 경로로 바꿉니다.