기본 보안 기반 조직 리소스 관리

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

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

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

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

기존 사용자가 조직을 만들 때 새 조직 리소스의 보안 상황은 기존 조직 리소스와 다릅니다. 이는 기본 보안 조직 정책을 시행하기 때문입니다. 이 기능은 점진적으로 배포되므로 2024년 초에 만든 조직에 이 정책의 시행이 적용됩니다.

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

  • 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이어야 합니다.

조직 리소스에 적용된 조직 정책

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

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

조직 정책 시행 관리

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

조직 정책 나열

기본 보안 조직 정책이 조직에 시행되는지 확인하려면 다음 명령어를 사용합니다.

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 파일의 경로로 바꿉니다.