신규 고객이라면 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 파일의 경로로 바꿉니다.