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

More Related Content

PDF
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
PPTX
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
PDF
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
PDF
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
PPTX
AWS CloudFront 가속 및 DDoS 방어
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
PDF
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
PPTX
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
AWS CloudFront 가속 및 DDoS 방어
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인

What's hot (20)

PDF
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
PDF
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
PDF
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
PDF
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
PDF
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
PDF
AWS Black Belt Online Seminar 2016 AWS Key Management Service
PPTX
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
PDF
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
PDF
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
PPTX
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
PDF
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
PDF
[금융사를 위한 AWS Generative AI Day 2023] 3_AWS Generative AI 기술특징과 접근...
PDF
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
PDF
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
PDF
AWS Black Belt Online Seminar AWS Direct Connect
PDF
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
PDF
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
PDF
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
PDF
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
PPTX
마이크로서비스 아키텍처로 개발하기
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
AWS Black Belt Online Seminar 2016 AWS Key Management Service
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
[금융사를 위한 AWS Generative AI Day 2023] 3_AWS Generative AI 기술특징과 접근...
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS Black Belt Online Seminar AWS Direct Connect
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
마이크로서비스 아키텍처로 개발하기
Ad

Similar to Google Cloud IAM 계정, 권한 및 조직 관리 (20)

PDF
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
PDF
“전략적 접근이 필요하다” 멀티 클라우드 환경의 자원 및 비용 관리 방안
PDF
[오픈소스컨설팅]Session 3. atlassian 도입 1년차 조직의 고민
PDF
[오픈소스컨설팅]Session 3. atlassian 도입 1년차 조직의 고민
PDF
Google Cloud NEXT'17 정리
PDF
클라우드에 최적화된 DB 접근제어 솔루션 '쿼리파이(QueryPie) DAC'
PDF
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
PPTX
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기
PDF
[AWSxBespin Startup Webinar] AWS, 스타트업의 비즈니스에 날개를 달다.
PDF
비즈니스 리더를 위한 디지털 트랜스포메이션 트렌드 - 김지현, 김영현 AWS 사업개발 매니저 :: AWS re:Invent re:Cap 2021
PDF
AI = SE , giip system manage automation with A.I
PDF
클라우드 여정을 성공적으로 수행하기 위한 AWS IAM 활용 전략::최원근:: AWS Summit Seoul 2018
PDF
Giip bp-giip connectivity1703
PDF
Event storming based msa training commerce example add_handson_v3
PDF
20200923 amazon personalize service webinar presentation file_public
PDF
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
PDF
스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018
PDF
Amazon DynamoDB 기반 글로벌 서비스 개발 방법 및 사례::김준형::AWS Summit Seoul 2018
PDF
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
PDF
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
“전략적 접근이 필요하다” 멀티 클라우드 환경의 자원 및 비용 관리 방안
[오픈소스컨설팅]Session 3. atlassian 도입 1년차 조직의 고민
[오픈소스컨설팅]Session 3. atlassian 도입 1년차 조직의 고민
Google Cloud NEXT'17 정리
클라우드에 최적화된 DB 접근제어 솔루션 '쿼리파이(QueryPie) DAC'
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기
[AWSxBespin Startup Webinar] AWS, 스타트업의 비즈니스에 날개를 달다.
비즈니스 리더를 위한 디지털 트랜스포메이션 트렌드 - 김지현, 김영현 AWS 사업개발 매니저 :: AWS re:Invent re:Cap 2021
AI = SE , giip system manage automation with A.I
클라우드 여정을 성공적으로 수행하기 위한 AWS IAM 활용 전략::최원근:: AWS Summit Seoul 2018
Giip bp-giip connectivity1703
Event storming based msa training commerce example add_handson_v3
20200923 amazon personalize service webinar presentation file_public
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018
Amazon DynamoDB 기반 글로벌 서비스 개발 방법 및 사례::김준형::AWS Summit Seoul 2018
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
Ad

More from 정명훈 Jerry Jeong (14)

PDF
1시간만에 만드는 음성인식 인공지능 챗봇
PDF
[오픈소스컨설팅]Jira 한글패치가이드 1
PPTX
Wso2 api manager 특징 slide share
PPSX
오픈소스의 이해(교육자료)
PPTX
다산선생 지식경영법 - 여박총피법
PPSX
네트워크 가상화를 통한 효율적인 빅데이터 처리
PPTX
Innovation 3 3.stages of new product development
PPSX
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
PPTX
Python study 1강 (오픈소스컨설팅 내부 강의)
PPSX
IoT 기반 융합 서비스 기술 (응용사례)
PPSX
사물인터넷(Internet of Things) 시대의 공개SW
PPTX
CouchDB - Introduction - Korean
PPTX
Getting started with Cloudant DBaaS(Korean)
PPT
GoldenGate for MySQL 설치 시 필요한 사항
1시간만에 만드는 음성인식 인공지능 챗봇
[오픈소스컨설팅]Jira 한글패치가이드 1
Wso2 api manager 특징 slide share
오픈소스의 이해(교육자료)
다산선생 지식경영법 - 여박총피법
네트워크 가상화를 통한 효율적인 빅데이터 처리
Innovation 3 3.stages of new product development
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
Python study 1강 (오픈소스컨설팅 내부 강의)
IoT 기반 융합 서비스 기술 (응용사례)
사물인터넷(Internet of Things) 시대의 공개SW
CouchDB - Introduction - Korean
Getting started with Cloudant DBaaS(Korean)
GoldenGate for MySQL 설치 시 필요한 사항

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

  • 1. Google Cloud 계정, 권한 및 조직 관리 정명훈, Cloud Sales Engineer
  • 2. 2 목차 ● 클라우드의 계정 및 권한 관리 ● GCP Identity and Access Management 소개 ● Cross Project Networking ● GCP 계정 및 권한 관리 Best Practice ● 요약
  • 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
  • 25. 25 Cross Project Networking (XPN) ● 동일 조직 내에 있는 여러 프로젝트가 같은 네트워크 공유 ○ 하나의 XPN Host 프로젝트가 다른 프로젝트에 네트워크를 제공 ○ 동시에 중앙 집중식 네트워크 관리
  • 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 프로젝트 관리자 역할 분리 ● 하나의 프로젝트에 대한 “네트워크/보안 관리자” 역할과 “인스턴스 관리자” 역할 분리 ● 다른 지식과 목표를 가지는 관리자
  • 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/