회사에서 gcp 사용을 하게 돼 처음에 끄적이며 공부한 내용입니다. 미약하지만 조금이라도 도움이 됐으면 하는 마음에 공유합니다.
보안
resource manager
GCP에만 있는 개념
resource : 클라우드에서 생성하는 모든 것
조직
- 루트노드, FQDN 도메인 사용. 글로버 유니크함
- 조직 내에 계정이 존재하기때문에 다른 조직이면 다른 계정임
- 조직단위로 거버넌스 가능
폴더
- 폴더 10 뎁스까지 가능
- 폴더에 권한을 부여하고 프로젝트 단위로 상속함(동일한 요구사항, 환경, 팀 등을 공유)
프로젝트
- 모든것은 프로젝트 단위
- 이름은 조직 내에서만 유니크. 프로젝트 id가 중요함
- 프로젝트별로 서비스와 api 활성화
- 프로젝트에 자원 쿼터 적용
- 요금 매니지먼트
- 프로젝트 수준의 iam 권한
Cloud IAM
who - can do what - on which resource(org|folder|project|resource)
최소사용권한. least privilege 실현
- 롤은 퍼미션의 집합
- primitive roles
- 넓은 범위로 권한이 많음. Owner(소유권을 넘길 수 있음), Editor(수정만), Viewer.
- predefined roles
- custom roles
- org, folder, project에 적절히 부여해서 사용
- 퍼미션은 리소스에 대한 허용 동작 결정
- 서비스 어카운트
- GCP의 리소스, 키 + 쌍. 프로젝트별 100개
- 형식
- 사용자 관리
- gcp 외부에서 실행하고 api에 접근할 때. 사용자가 관리해야함
- 사용자가 생성 후 관리해야함. 만료날짜 없음
- 구글 관리
- gcp 내부에서 앱 실행 시. 모든걸 구글이 관리함
- 기본 서비스 계정
- 서비스어카운트를 통해 다른 리소스에 접근할 수 있기 때문에. SA는 리소스.
- 시크릿 매니저를 통해 관리하는게 관리.
- 시크릿매니저를 호출해서 활용
- Secret Manager는 런타임 시 애플리케이션에 필요한 데이터베이스 비밀번호, API 키 또는 TLS 인증서와 같은 구성 정보를 저장하는 데 적합합니다.
Cloud KMS와 같은 키 관리 시스템을 사용하면 암호화 키를 관리하고 이 키를 사용하여 데이터를 암호화하거나 복호화할 수 있습니다. 그러나 키 자료 자체를 보거나, 확장하거나, 내보낼 수 없습니다.
조직 정책
- 조직 정책을 일괄 적용 시킬 수 있지만, 폴더, 프로젝트에서 번복 가능.
- 리소스에 가까울 수록 우선순위 높음 : 프로젝트 > 폴더 > 조직
상위정책, 하위정책에 대한 평가는 합집합으로 이뤄짐
Logging & Monitoring
workspace logs
현재 gcp내에서 계정 관리 불가. gws에서 관리해야함. 로깅 포함. 로그인..
cloud audit logs
admin activity
- 사용자가 일으키는 admin 활동(리소스 변경 관련 ex, gce 생성 변경)
- 로그는 보통 프로젝트 단위로 생성됨. 로그수집을 위한 프로젝트를 사용하거나 admin이 view 권한으로 읽어야함
data access
- 기간 설정 가능
- 기본적으로는 비활성
access transparency
- 구글의 기술지원 등에서 수행하는 작업의 로깅
시스템 이벤트 로그
- 구글 내부에서 사용하는 로그(엔지니어 등)
cloud ops agent
vm 내부 개별 설치 배포돼 로그 수집, 전송
logging agent(구버전) 도 사용 가능 /var 밑의 로그
network logs
vpc, fw logs...
로그 외부 전송 방법