본문 바로가기
정보공유

[정보] Google Cloud IAM 계정, 권한 및 조직 관리

by 날고싶은커피향 2018. 3. 2.

Google Cloud IAM 계정, 권한 및 조직 관리 관련 자료입니다.

내용 참고 하시기 바랍니다.

 

 

Google Cloud IAM 계정, 권한 및 조직 관리 from 정명훈 Jerry Jeong

 

1. Google Cloud 계정, 권한 및 조직 관리 정명훈, Cloud Sales Engineer
 2.  2 목차 ● 클라우드의 계정 및 권한 관리 ● GCP Identity and Access Management 소개 ● Cross Project Networking ● GCP 계정 및 권한 관리 Best Practice ● 요약
3.  3 클라우드의 계정 및 권한 관리
4.  4 IAM = Identity and Access Management ● 정의 ○ 조직이 필요로 하는 보안 정책을 수립하고 정책에 따라 자동으로 사용자의 계정과 권한을 관리하는 솔루션 ○ 누가(who = identity) 어떤 자원에 대해서(which resource) 무엇을(what) 할 수 있는지 검사 (permission) Who can do what on which resource
 5.  5 Authentication and Authorization (A&A) ● Authentication ○ 로그인 및 접근 하는 사람이 누구인지 확인(인증)하는 과정 ○ 계정(identity) 및 암호(credential) ● Authorization ○ 인증(authentication)이 완료된 계정(identity)이 특정 자원에 권한이 있는지 확인하는 과정
6.  6 클라우드 IAM 요구사항 ● 세부적인 권한 제어 ○ 예: 운영팀은 시스템 로그를 볼 수 있지만, DB 데이터 접근 불가 ○ 예: 장애복구를 위한 VM 재시작 가능하지만, 디스크 액세스 불가
7.  7 클라우드 IAM 요구사항 ● 중앙 집중식 관리 ○ 회사 전체의 프로젝트와 정책(policy)에 대한 관리 ○ 여러 프로젝트에 적용할 표준 정책(예: 이미지, 권한, 보안) 정의
8.  8 클라우드 IAM 요구사항 ● 빌링 관리 ○ 회사 내에서 부서 또는 프로젝트 단위의 독립된 과금 ○ 클라우드 리소스 사용자(예: IT 팀)와 비용처리 조직(예: 재무팀)의 분리 ○ 리셀러를 통한 비용 지불 Finance
 9.  9 클라우드 IAM 요구사항 ● 애플리케이션에서 API를 통한 서비스 접근 권한 체크 ● 보안 관점에서 사고 발생 시 피해가 훨씬 큼 Application
 10.  10 클라우드 운영 조직 관리 ● 부서나 서비스 단위로 독립적인 프로젝트 및 빌링 관리 ● 실제 회사의 조직을 클라우드 운영 조직에 맵핑
11.  11 GCP Identity and Access Management 소개
12.  12 GCP Identity and Access Management (IAM) ● IAM = 구글 클라우드의 기본 계정 및 권한 관리 ● 누구에게 어떤 자원에 대해 어떤 활동을 할 수 있는지 검사 ○ 예: 사용자에게 VM(Compute Engine) 생성 권한이 있는지 검사
13.  13 GCP Identity and Access Management (IAM) ● 하나의 동작에 대해 여러 번 권한 검사가 발생하는 경우
14.  14 GCP IAM에서 사용하는 계정 (Authentication)
 15.  15 GCP IAM에서 사용하는 계정 (Authentication) ● 사용자 계정 ○ 구글 메일 계정 (Google Account) ○ 회사(G-Suite Domain) 계정 ○ 구글 그룹(Google Group) ● 서비스 계정 (Service Account) ○ 애플리케이션 또는 VM(Compute Engine)이 사용하는 계정 ○ 애플리케이션 또는 VM에서 GCP 리소스에 접근하고자 할 때 사용 (예: VM 내에서 BigQuery 접근) ○ 서비스 별로 기본 생성된 계정들 존재 (새로 생성 및 변경 가능) ○ 서비스 계정의 권한을 사용자에게 부여 가능 (Identity이자 Resource)
 16.  16 GCP IAM의 권한 관리 (Authorization) ● GCP 서비스에 대한 접근 권한(Permission) 관리 ● 프로젝트 또는 리소스(예: Compute) 수준의 권한 제어 ● 권한들을 묶어 Role로 관리 (예: Compute 인스턴스 관리자 - 인스턴스 관련 권한) ○ Role을 할당 계정 또는 그룹에 할당 Role Permissions Project User
 17.  17 GCP IAM Role의 종류 Primitive Roles ● 범위가 큼 ● 여러 서비스 권한 ● 3가지 역할 ○ Owner ○ Editor ○ Viewer Predefined Roles ● 세밀한 범위 ● 단일 서비스에 대한 권한 ● 70개 이상의 역할 ○ BigQuery Admin ○ Compute Instance Admin ○ Compute Network Admin 등 Custom Roles ● 정확한 범위 ● 새로 생성하거나 기존의 Role에서 복사해서 생성 ● 예 ○ Compute Instance Admin without “외부 IP 할당" 권한 More granularity
 18.  18 GCP IAM의 리소스 관리 ● 계층형 리소스(조직 모델) or 플랫 구조(프로젝트 단위) ● 계층형에서 최상위는 회사 (Organization) ○ 상위 객체로부터 권한 상속 ○ Cloud ID 또는 G-Suite 계정 ○ 외부 독립 프로젝트 마이그레이션 가능 (승인 필요) ○ 외부 G-Mail 계정 권한 부여 가능 (승인 필요)
19.  19 Cloud ID or G-Suite 계정 ● 계층형 모델을 사용하기 위해 필요 ● G-Suite: 구글 기업용 애플리케이션 (구 Google Apps) ● Cloud ID: G-Suite 없이 클라우드의 계층형 리소스 관리를 위한 계정
20.  20 GCP IAM의 리소스 관리 - 조직 모델 ● 폴더 ○ 여러 프로젝트들을 묶어 하나로 관리(권한 부여) ○ 실제 조직의 부서에 해당 ● 프로젝트 ○ 리소스들을 묶어 독립적으로 관리 ○ 실제 프로젝트 또는 서비스에 해당 ○ 과금 단위 ● 리소스 ○ GCP가 제공하는 서비스
21.  21 ● 사용자가 아닌 애플리케이션이나 VM에 속한 계정 ○ VM(Compute Instance)이나 애플리케이션에서 API 호출 시 사용되는 ID ○ 사용자 계정 대신 사용 ⇒ 권한도 서비스 계정에 부여 ● 자동으로 디폴트 생성되고 추가 생성 및 권한 변경 가능 서비스 계정(Service Account) 프로그램 VM
 22.  22 ● 애플리케이션에서는 서비스 계정의 API Key를 사용하여 인증(authentication) ● VM 내부 애플리케이션은 Google Managed Key (별도 Key 관리 불필요) ● 독립 애플리케이션 User Managed Key 서비스 계정(Service Account) 사용 방법
23.  23 ● Google Cloud API를 사용하는 애플리케이션의 권한 제어 ● 서비스 계정을 업무 별로 생성하고 최소한의 권한 부여 ● Service Account Actor Role을 User 또는 Group에 부여 ○ 해당 User/Group이 생성한 VM 내부의 애플리케이션이 서비스 계정의 권한 부여 ○ 예: VM 내에서 API로 새로운 VM 생성 ○ 관리자가 실행하는 App이 막강한 관리자의 모든 권한을 가질 필요 없음 서비스 계정(Service Account) 활용 Tips
 24.  24 Cross Project Networking
 25.  25 Cross Project Networking (XPN) ● 동일 조직 내에 있는 여러 프로젝트가 같은 네트워크 공유 ○ 하나의 XPN Host 프로젝트가 다른 프로젝트에 네트워크를 제공 ○ 동시에 중앙 집중식 네트워크 관리
26.  26 XPN Role 맵핑
27.  27 나에게 공유된 XPN 프로젝트에 공유된 VPC 네트워크(XPN) 목록 VM 생성 중 선택 가능한 VPC 네트워크(XPN) 목록
28.  28 GCP 계정 및 권한 관리 Best Practice
 29.  29 중앙집중식 관리 ● 조직과 Cloud 자원 구조 맵핑 ● 폴더를 팀으로 (또는 공유 자원) ● 프로젝트를 서비스 단위로
30.  30 기업 계정 동기화 ● Google Cloud Directory Sync (GCDS) ● LDAP 또는 Active Directory의 계정 단방향 동기화
31.  31 애플리케이션 코드에 API Key 포함하지 않도록 ● Compute VM 내에서 실행되는 경우 자동으로 Service Account Actor Role 권한 ○ Google Managed Key ● 독립 애플리케이션에서는 GOOGLE_APPLICATION_CREDENTIALS 환경 변수 ○ User Managed Key
 32.  32 인증 보안 강화 ● Multi-Factor Authentication ● Root 계정 및 텍스트 암호를 통한 인증 비활성화
33.  33 최소한의 필요한 권한만 부여 ● 리소스(서비스) 별 권한 부여 ● 슈퍼 관리자 지양 ⇒ 업무 별 관리자 ● 최소한의 권한 부여 후, 요청이 있을 때 추가 권한 부여
34.  34 User 대신 Group에 권한 부여 ● 유연한 권한 관리 가능 ● 일관된(consistent) 권한 가능 (예) Admin들에게는 동일한 권한
35.  35 Audit Log ● 권한 침해 문제 발생을 빠르게 발견 및 정확한 분석 가능 ● GCP Logging 서비스 이용 ○ Stackdriver Agent를 이용하여 중앙에 수집 ● 로깅 대상 ○ 리소스 접근 시도 및 결과 ○ IAM Policy 변경 ○ 애플리케이션에 의한 액세스 포함
36.  36 서비스 계정 또는 SSH Key Rotate ● Key 유출로 인한 피해 최소화 ● Google Managed Key의 경우 GCP에 의해 자동 Rotation ● User Managed Key는 API를 사용하여 자동 Rotation 구현 ● API를 사용하여 SSH Key 자동 Rotation 구현
37.  37 빌링 ProjectProjectProject Billing Account Project level bill Project level bill Project level bill Bills itemised by resource type ● 빌링 계정 ○ 빌링 정보(예: 신용카드) ○ 조직(또는 계정) 내에 여러 개 생성 가능 ● 프로젝트 단위 빌링 ○ 프로젝트 당 한 개의 빌링 계정 선택 ○ 리소스 타입에 따라 빌링 아이템 구분
38.  38 빌링 관련 권한 ● Billing Admin (조직 레벨) ○ Manage payment information ○ Setup cost controls and alerts ○ Setup billing exports ○ Create new billed projects ○ View costs ■ Invoices ■ Credits ■ History ■ Data exports ● Project Billing Manager (프로젝트 레벨) ○ 프로젝트의 빌링 계정 변경
39.  39 표준 VM Image 공유 ● 표준 VM Image를 여러 프로젝트에서 사용 ● Image 공유 프로젝트를 통해 공유 ○ Image User IAM Role
 40.  40 프로젝트 관리자 역할 분리 ● 하나의 프로젝트에 대한 “네트워크/보안 관리자” 역할과 “인스턴스 관리자” 역할 분리 ● 다른 지식과 목표를 가지는 관리자
41.  41 요약
42.  42 요약 ● 클라우드 IAM 요구사항 ○ 세부적인 권한 제어 ○ 중앙 집중식 관리 ○ 빌링 관리 ○ 애플리케이션의 API 접근 권한 체크 ○ 클라우드 운영 조직 관리
43.  43 요약 ● GCP IAM ○ 계정 관리: Google Account, Service Account, G Suite Domain, Google Groups ○ 권한 관리: Primitive/Predefined/Custom Role ○ 리소스 관리: 계층형(조직 모델) 구조 vs 플랫 구조 ○ 서비스 계정: Google Cloud API를 사용하는 애플리케이션과 VM의 권한 제어
44.  44 요약 ● Cross Project Networking (XPN) ● GCP IAM 기반 계정 및 권한 관리 Best Practice ○ 중앙집중식 관리 ○ 기업 계정 동기화 ○ API Key 관리 ○ 인증 보안 강화 ○ 최소한의 권한 부여 ○ User 대신 Group 권한 부여 ○ Audit Log ○ Key Rotation ○ 빌링
45.  45 감사합니다. Free credit!! 페이스북 구글 클라우드 사용자 그룹 https://www.facebook.com/groups/googlecloudkorea/
 

반응형