Google Cloud 아키텍처 프레임워크의 이 문서에서는 ID 및 액세스 관리를 위한 권장사항을 제공합니다.
ID 및 액세스 관리(일반적으로 IAM이라고도 함)를 사용하면 적절한 사람이 올바른 리소스에 액세스할 수 있습니다. IAM은 인증 및 승인의 다음과 같은 측면을 다룹니다.
- 프로비저닝을 포함한 계정 관리
- ID 거버넌스
- 인증
- 액세스 제어(승인)
- ID 제휴
서로 다른 환경이 있거나 여러 ID 공급업체를 사용하는 경우 IAM을 관리하기가 어려울 수 있습니다. 그러나 비즈니스 요구사항을 충족하면서 위험을 완화할 수 있는 시스템을 설정하는 것이 중요합니다.
이 문서의 권장사항은 현재 IAM 정책 및 절차를 검토하고 Google Cloud에서 워크로드에 수정해야 하는 항목을 결정하는 데 도움이 됩니다. 예를 들어 다음을 검토해야 합니다.
- 기존 그룹을 사용하여 액세스를 관리할 수 있는지 아니면 새 그룹을 만들어야 하는지 여부
- 인증 요구사항(예: 토큰을 사용하는 다단계 인증(MFA))
- 서비스 계정이 현재 정책에 미치는 영향
- 재해 복구를 위해 Google Cloud를 사용하는 경우 적절한 업무 분장 유지
Google Cloud에서 리소스 액세스를 지정하기 위해 Cloud ID를 사용하여 사용자 및 리소스와 Google의 Identity and Access Management(IAM) 제품을 인증합니다. 관리자는 조직, 폴더, 프로젝트, 리소스 수준에서 액세스를 제한할 수 있습니다. Google IAM 정책은 누가 어떤 리소스에서 어떤 작업을 수행할 수 있는지 지정합니다. IAM 정책을 올바르게 구성하면 리소스에 대한 무단 액세스를 방지하여 환경을 보호하는 데 도움이 됩니다.
자세한 내용은 ID 및 액세스 관리 개요를 참조하세요.
단일 ID 공급업체 사용
대부분의 고객에게는 Google Cloud 외부의 ID 공급업체에서 관리 및 프로비저닝되는 사용자 계정이 있습니다. Google Cloud는 대부분의 ID 공급업체 및 Active Directory와 같은 온프레미스 디렉터리가 있는 제휴를 지원합니다.
대부분의 ID 공급업체를 통해 사용자 및 그룹에 싱글 사인온(SSO)을 사용 설정할 수 있습니다. Google Cloud에 배포하고 외부 ID 공급업체를 사용하는 애플리케이션의 경우 ID 공급업체를 Google Cloud로 확장할 수 있습니다. 자세한 내용은 참조 아키텍처 및 하이브리드 환경에서 기업 사용자를 인증하는 패턴을 참조하세요.
기존 ID 공급업체가 없으면 Cloud ID Premium 또는 Google Workspace를 사용하여 직원 ID를 관리할 수 있습니다.
최고 관리자 계정 보호
최고 관리자 계정(Google Workspace 또는 Cloud ID에서 관리)을 사용하면 Google Cloud 조직을 만들 수 있습니다. 따라서 이 관리자 계정은 권한이 높습니다. 이 계정의 권장사항은 다음과 같습니다.
- 기존 사용자 계정을 사용하지 않고 이 용도를 위해 새 계정을 만듭니다.
- 백업 계정을 만들고 보호합니다.
- MFA를 사용 설정합니다.
자세한 내용은 최고 관리자 계정 권장사항을 참조하세요.
서비스 계정 사용 계획
서비스 계정은 애플리케이션이 서비스의 Google API를 호출하는 데 사용할 수 있는 Google 계정입니다.
사용자 계정과 달리 서비스 계정은 Google Cloud 내에서 생성 및 관리됩니다. 또한 서비스 계정은 사용자 계정과 다르게 인증합니다.
- Google Cloud에서 실행되는 애플리케이션이 서비스 계정을 사용하여 인증하도록 하려면 애플리케이션이 실행되는 컴퓨팅 리소스에 서비스 계정을 연결하면 됩니다.
- GKE에서 실행되는 애플리케이션이 서비스 계정을 사용하여 인증하도록 하려면 워크로드 아이덴티티를 사용하면 됩니다.
- Google Cloud 외부에서 실행되는 애플리케이션이 서비스 계정을 사용하여 인증하도록 하려면 워크로드 아이덴티티 제휴를 사용하면 됩니다.
서비스 계정을 사용하는 경우 설계 프로세스 중에 적절한 업무 분장을 고려해야 합니다. 필요한 API 호출을 확인하고 서비스 계정과 관련 역할을 결정합니다. 예를 들어 BigQuery 데이터 웨어하우스를 설정하는 경우 최소한 다음 프로세스 및 서비스에 사용할 ID가 필요합니다.
- 일괄 파일을 제공하는지 또는 스트리밍 서비스를 만드는지에 따라 Cloud Storage 또는 Pub/Sub
- 민감한 정보를 익명화하기 위한 Dataflow와 민감한 정보 보호
자세한 내용은 서비스 계정 작업 권장사항을 참조하세요.
클라우드의 ID 프로세스 업데이트
ID 거버넌스를 통해 액세스, 위험, 정책 위반을 추적하여 규제 요건을 지원할 수 있습니다. 이 거버넌스에 따라 사용자에게 액세스 제어 역할 및 권한을 부여하고 감사할 수 있도록 프로세스와 정책을 마련해야 합니다. 프로세스 및 정책은 테스트, 개발, 프로덕션과 같은 환경의 요구사항을 반영해야 합니다.
Google Cloud에 워크로드를 배포하기 전에 현재 ID 프로세스를 검토하고 필요한 경우 업데이트합니다. 조직에 필요한 계정 유형에 따라 적절하게 계획하고 역할 및 액세스 요구사항을 잘 이해해야 합니다.
Google Cloud는 Google IAM 활동을 감사하는 데 도움이 되도록 다음을 포함하는 감사 로그를 만듭니다.
- 관리자 활동. 이 로깅은 사용 중지할 수 없습니다.
- 데이터 액세스 활동. 이 로깅을 사용 설정해야 합니다.
규정 준수를 위해 필요한 경우 또는 SIEM 시스템과 같은 로그 분석을 설정하려면 로그를 내보낼 수 있습니다. 로그는 스토리지 요구사항을 늘릴 수 있으므로 비용에 영향을 미칠 수 있습니다. 필요한 작업만 로깅하고 적절한 보관 일정을 설정해야 합니다.
SSO 및 MFA 설정
ID 공급업체가 사용자 계정 인증을 관리합니다. 제휴 ID는 SSO를 사용하여 Google Cloud에 인증할 수 있습니다. 최고 관리자와 같은 권한이 부여된 계정의 경우 MFA를 구성해야 합니다. Titan 보안 키는 피싱 공격을 방지하기 위해 2단계 인증(2FA)에 사용할 수 있는 물리적 토큰입니다.
Cloud ID는 다양한 방법을 통해 MFA를 지원합니다. 자세한 내용은 회사 소유의 리소스에 균일한 MFA 적용을 참조하세요.
Google Cloud는 OAuth 2.0 프로토콜 또는 서명된 JSON 웹 토큰(JWT)을 사용하는 워크로드 아이덴티티 인증을 지원합니다. 워크로드 인증에 대한 자세한 내용은 인증 개요를 참조하세요.
최소 권한 및 업무 분장 구현
적절한 권한이 있는 개인이 작업을 수행하는 데 필요한 리소스와 서비스에만 액세스할 수 있도록 해야 합니다. 즉, 최소 권한의 원칙을 따라야 합니다. 또한 적절한 업무 분장이 있는지 확인해야 합니다.
사용자 액세스를 과도하게 프로비저닝하면 내부자 위협, 잘못된 리소스 구성, 감사 미준수 위험이 증가할 수 있습니다. 권한에 대한 프로비저닝이 부족하면 사용자가 작업을 완료하는 데 필요한 리소스에 액세스하지 못할 수 있습니다.
초과 프로비저닝을 방지하기 위한 한 가지 방법은 적시 권한 있는 액세스를 구현하는 것입니다. 즉, 필요한 만큼만 권한 있는 액세스를 제공하고 이러한 권한을 일시적으로만 부여합니다.
Google Cloud 조직을 만들 때 도메인의 모든 사용자에게는 기본적으로 결제 계정 생성자 역할과 프로젝트 생성자 역할이 부여됩니다. 이러한 작업을 수행할 사용자를 식별하고 다른 사용자에게서 해당 역할을 취소합니다. 자세한 내용은 조직 만들기 및 관리를 참조하세요.
Google Cloud에서 역할 및 권한이 작동하는 방법에 대한 자세한 내용은 IAM 문서의 개요 및 역할 이해를 참조하세요. 최소 권한 적용에 대한 자세한 내용은 역할 권장사항으로 최소 권한 적용을 참조하세요.
감사 액세스
권한이 부여된 계정의 활동을 모니터링하여 승인된 조건과의 차이를 확인하려면 Cloud 감사 로그를 사용합니다. Cloud 감사 로그는 Google Cloud 조직의 구성원이 Google Cloud 리소스에서 수행한 작업을 기록합니다. Google 서비스에서 다양한 감사 로그 유형으로 작업할 수 있습니다. 자세한 내용은 Cloud 감사 로그를 사용하여 내부자 위험 관리(동영상)를 참조하세요.
IAM 추천자를 사용하여 사용량을 추적하고 필요한 경우 권한을 조정합니다. IAM 추천자가 권장하는 역할을 통해 사용자의 이전 행동 및 기타 기준에 따라 사용자에게 부여할 역할을 결정할 수 있습니다. 자세한 내용은 역할 권장사항을 참조하세요.
Google 지원 및 엔지니어링 담당자가 리소스에 대한 액세스를 감사하고 제어하려면 액세스 투명성을 사용하면 됩니다. 액세스 투명성은 Google 직원이 수행한 작업을 기록합니다. 액세스 투명성에 포함된 액세스 승인을 사용하여 고객 콘텐츠에 액세스할 때마다 명시적인 승인을 부여합니다. 자세한 내용은 데이터에 대한 클라우드 관리자의 액세스 권한 제어를 참조하세요.
정책 제어 자동화
가능하면 프로그래매틱 방식으로 액세스 권한을 설정합니다. 권장사항은 조직 정책 설정을 참조하세요. 이 예시 기반의 Terraform 스크립트는 예시 기반 저장소에 있습니다.
Google Cloud에는 액세스 권한을 자동으로 검토하고 업데이트할 수 있는 Policy Intelligence가 포함되어 있습니다. Policy Intelligence에는 추천자, 정책 문제 해결 도구, 정책 분석기 도구가 포함되어 있으며 이러한 도구는 다음을 수행합니다.
- IAM 역할 할당에 대한 권장사항을 제공합니다.
- 과도한 권한이 부여된 IAM 정책을 모니터링하고 방지합니다.
- 액세스 제어 관련 문제 해결을 지원합니다.
리소스 제한 설정
Google IAM은 누구에 중점을 두며 이를 통해 권한을 기반으로 특정 리소스에 조치를 취할 수 있는 사용자를 승인할 수 있습니다. 조직 정책 서비스는 무엇에 중점을 두며 이를 통해 구성 방법을 지정하는 리소스에 제한을 설정할 수 있습니다. 예를 들어 조직 정책을 사용하여 다음을 수행할 수 있습니다.
- 도메인을 기반으로 리소스 공유를 제한합니다.
- 서비스 계정 사용을 제한합니다.
- 새로 만든 리소스의 물리적 위치를 제한합니다.
이러한 작업에 조직 정책을 사용하는 것 외에도 다음 방법 중 하나를 사용하여 리소스에 대한 액세스를 제한할 수 있습니다.
- 태그를 사용하여 각 리소스에 대한 액세스 권한을 정의하지 않고 리소스에 대한 액세스를 관리합니다. 대신 태그를 추가한 다음 태그 자체에 대한 액세스 정의를 설정합니다.
- IAM 조건을 사용하여 리소스에 대한 조건부 속성 기반 액세스를 제어합니다.
- VPC 서비스 제어를 사용해 심층 방어를 구현하여 리소스에 대한 액세스를 추가로 제한합니다.
리소스 관리에 대한 자세한 내용은 리소스 관리를 참조하세요.
다음 단계
다음 리소스를 통해 IAM에 대해 자세히 알아보세요.
컴퓨팅 및 컨테이너 보안 구현(이 시리즈의 다음 문서)