Google Cloud IAM 계정, 권한 및 조직 관리 관련 자료입니다.
내용 참고 하시기 바랍니다.
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/
'정보공유' 카테고리의 다른 글
[정보] 구글 키워드 플래너 (Google Keyword Planner) 사용법 (0) | 2018.03.03 |
---|---|
[정보] 구글 크롬브라우저로 인터넷 200%즐기기 (1) | 2018.03.03 |
[정보] A/B 테스트를 활용한 데이터 사이언스 이해하기 (0) | 2018.03.02 |
[정보]1시간만에 만드는 음성인식 인공지능 챗봇 (0) | 2018.03.02 |
[정보] 검색엔진 랭킹 상위 - scs(seo curation suite) 서비스 넥스트티 (0) | 2018.03.02 |
[정보] 2018 글로벌 ICT 대전망 보고서 (0) | 2018.03.01 |
[정보] 2017 Business Platform Day (0) | 2018.03.01 |
[정보] 원하는 것을 얻는 지혜 김재춘(밝은별) (0) | 2018.03.01 |