1. Cloud Security
클라우드
1. 개념 및 구조
1) 특징
클라우드는 내/외부적으로 다양한 특징이 있고, 이에 따라 책임 추적성이 필요하다는 특징이 있다.
멀티테넌시
가상화된 자원을 다수의 사용자가 공유하는 형태
$\rightarrow$ 물리적 /가상화 기반/ 컨테이너 기반/ 인스턴스 격리 등, 다양한 방식으로 자원을 격리하여 관리하는 것이 필요함가상화 취약점에 대한 보안관리가 필요
접근성
누구나 인터넷을 통해 쉽게 자원을 사용
격리 유형 접근 주체 예시 사내망 접근 내부 사용자 전용망 운영자 접근 관리자 IAM, MFA 사용자 접근 최종 사용자 MFA 외부 접근 3rd party API Gateway $\rightarrow$ 접근 통제: 제로트러스트를 기반으로 접근 주체에 따라 접근성을 분류하는 것이 필요
$\rightarrow$ 보안 관제: 명확한 책임 추적성을 통한 보안 관제가 필요
$\rightarrow$ 성능 유지: 여러 서버에 트래픽을 분산시켜 안전성과 성능을 보장할 필요(로드 밸런싱)탄력성
생성한 자원의 구조 변경이나 신규 자원 생성/삭제가 쉽고 빠름
$\rightarrow$ IT 자원의 수요 변화에 신속하고 탄력적인 보안을 적용할 수 있는 방안이 필요(오토 스케일링)
Ondemand Self Service
플랫폼과 앱 자체를 필요시 즉시 사용 가능하기 때문에 변화 속도에 맞춰 신속 대응 가능
현황 파악 및 취약점 관리를 위한 속도를 따라가기 어려움
(3rd party 제품, 오픈소스 사용에 따른 SW 패치 관리)사용량 기반 과금
하드웨어/소프트웨어의 구매/유지 및 인건비 등의 비용이 절감
보안 설정 및 관리 범위의 복잡성 증대
2) 가상화
가상화란 물리적 자원을 논리적으로 분리하고 추상화 하여, 하나의 물리적 시스템 위에 여러개의 독립적인 시스템을 실행할 수 있는 기술을 말한다.
자원의 가상화
ⅰ) 하드웨어 가상화(VM) ⅱ) OS 가상화(Docker) 물리 서버 위에 하이퍼 바이저 설치 커널을 공유하는 격리된 실행환경 Host OS, Guest OS 존재 Host OS만 존재
Host 커널 공유완벽한 격리 프로세스 격리
ⅲ) Storage 가상화 ⅲ) Network 가상화 블록 기반 가상화
파일 기반 가상화
Software Defined Storage
$\rightarrow$ HCI(Hyper Converged Infra)Software Defined Network
(서로 다른 물리적 환경에서도 일관된 네트워크)
오버레이 네트워크 기술서버 가상화
- 하드웨어 가상화
- Type1(Bare-matal): HW에 직접 하이퍼바이저 설치
- Type2(Hosted): 기존 OS위에 하이퍼 바이저 설치
- 하드웨어 지원: CPU 자체가 가상화를 지원하여 효율성 향상
- OS레벨: 하나의 OS 커널 위에 여러 개의 격리된 공간 생성
- 패러가상화: OS가 가상화된 하드웨어임을 인식하고 하이퍼바이저와 직접 통신
- 어플리케이션 가상화: 앱 실행 환경만 가상화
※ SDDC(데이터센터 가상화): 서버, 스토리지, 네트워크 등 데이터센터 전반을 소프트웨어로 가상화하고 자동화한 개념
3) 분류
배치 모델
Public Private Hybrid/Multi 접근 주체 민간 기관 기관 + 민간 장점 비용 절감
유연성보안성 효율성 서비스 모델
- IaaS : Infra as a Service
- PaaS : Platform as a Service
- SaaS : Software as a Service
- FaaS : Funtions as a Service
- CaaS : Container as a Service
4) Cloud Native
클라우드 네이티브란 클라우드 환경에 최적화된 설계 방식을 말한다.
클라우드 네이티브의 핵심 요소는 컨테이너, MSA, DevOps, CI/CD가 있다.
클라우드 네이티브의 보안을 위한 요소로는 제로트러스트, SBOM등이 있다.
※ 제로 트러스트(어떤 것이든 신뢰하지 않음)
내부/외부를 구분 없이 모든 사용자, 기기, 애플리케이션의 접근을 철저히 인증하고 최소 권한만 부여하며 지속적으로 모니터링하는 보안 전략 (기술: 접근관리, 네트워크 분리, 단말 보안, 워크로드 보안, 데이터 보안)
※ SBOM(소프트웨어 자재 명세서)
소프트웨어 제품을 구성하는 모든 오픈소스 및 서드파티 구성 요소, 라이브러리, 모듈, 종속성, 라이선스 정보 등을 상세히 나열한 명세서로 위험 식별을 위한 핵심 요소
Container(K8S)
컨테이너란 다양한 환경에서 실행가능하도록 코드와 라이브러리를 패키징한 소프트웨어 단위를 의미한다.
- Docker: 컨테이너를 실행해주는 엔진
- K8S: 컨테이너 배포 및 운영 관리 자동화 툴
K8S는 위의 그림과 크게 마스터(Control Plane)와 Worker Node로 구성되어 있다.
- Worker Node에는 k8s의 최소 관리 단위인 pod이 존재하고, 이 Pod에는 최소 한개 이상의 컨테이너가 실행된다.
- Control Plane은 지속적으로 State를 확인하고, 목표 State와 비교하여 지속적으로 차이점을 줄이는 과정을 진행한다.
(e.g. 자동 복구, 자동 확장, 무중단 배포)이러한 Container를 클라우드에서 활용하기 위해서는 다양한 관점의 보안 전략이 필요하다.
Layer K8S 보안 예시 1. Cloud 클라우드 공급자 보안
(CSP가 Control Plane를 책임짐)
(단, Fargate 사용 시 Workernode까지)(CSP별 K8s Service)
EKS(Amazon)
AKS(Azure)
GKE(google)2. Cluster 쿠버네티스 시스템 자체/ 설정 보안 RBAC(역할 기반 접근 제어) 사용
etcd는 Control Plane에서만 접근
etcd에 저장하는 데이터는 암호화3. Container 어플리케이션 이미지의 보안
(컨테이너 이미지 위/변조방지)4. Code 소스코드 보안 MSA
Monolithic 구조 Microservice 구조 각 서비스들이 강하게 결합되어
하나의 전체 시스템을 이루는 구조작은 서비스 단위로 분리하고 느슨한 결합을 통해
벌집처럼 모여 하나의 전체 시스템을 이루는 구조구조가 간단
Test 간단
Data 정합성 확보 간단Scalability
Fault-Tolerance
Faster deployment클라우드 기반 MSA 도입 시 가장 중요한 것은 서비스별 상이한 IT 아키텍쳐를 가지고 있기 때문에, 아키텍쳐별 보안 구조를 수립해야한다는 점이다.
또한 독립 서비스들을 통합적으로 모니터링하는 것이 중요하다(DevSecOps)CI/CD + DevOps
CI/CD: 지속적인 통합과 배포를 통해 어플리케이션 개발 단계(개발-통합-저장-빌드-테스트)를 자동화하는 방법을 말한다.
(e.g. 대표 서비스: Jira(계획), Jenkins(빌드, 테스트, 배포))DevOps: 개발과 운영 간 프로세스를 매끄럽게 연결하고, 자동화를 통해 효율성을 극대화 하는 방법
(e.g. Agile(점진적 개발/개선), 워터폴)보안 설정(DevSecOps)
AST(Application Security Test): 개발 파이프라인 전반에 걸쳐 보안 테스트를 수행하는 것
- 개발 단계
ⅰ) SCA(Software Composition Analysis): 오픈소스 라이브러리 및 라이선스 점검
ⅱ) SAST(Static Application Security Test): 소스 코드 분석빌드/테스트 단계
ⅰ) DAST(Dynamic Application Security Test): 어플리케이션 실행 상태에서 모의 해킹배포단계
ⅰ) RASP- 통합
CNAPP(Cloud Native Application Protection Platform): 개발부터 운영까지의 모든 클라우드 인프라 보안 위협을 하나로 통합하여 관리하는 플랫폼Serverless
서버리스 컴퓨팅은 어플리케이션을 구축하고 실행하기 위해 서버 관리가 필요 없는 아키텍쳐를 말한다. 이를 통해 새로운 Cloud Native 컴퓨팅 모델이 가능해졌다.
(e.g. FaaS, CaaS, MSA도 구현 가능)
- 장점: 비용, Scalability
- 단점: 최대 수행시간(15분), 메모리, 함수 초기화 시간 필요
대표 서비스: Lambda
- Lambda 생성시 사용자 Account에 MicroVM을 할당
- Lambda에 배포되는 코드는 자동 암호화
(환경변수 암호화는 수동 설정)- 코드 실행을 위한 환경 할당
(라이브러리, 임시 스토리지)- Event 발생 시(동기식: API Gateway 연결, 비동기식: S3파일 변경, Stream: 데이터 스트림 처리시) Lambda 전용 VPC에서 생성/실행
보안 설정
ⅰ) 인증/권한: 사용자/리소스에 최소권한 부여, 코드 서명 활성화(서명 후 변경 여부 확인)
ⅱ) 접근 통제: 함수 VPC 사용, 다른 계정에 의한 함수 접근 차단
ⅲ) 데이터 보호: 데이터 암호화(AWS KMS), 환경변수 전송중 암호화(AWS Certificate Manager), 임시 스토리지 사용 후 수동 삭제
$\qquad$ (함수 초기화 $\rightarrow$ 함수 실행(임시 스토리지 유지=사용자간 데이터 공유 가능) $\rightarrow$ 함수 종료(데이터 삭제))
ⅳ) 로깅
ⅴ) 데이터에 따른 함수 분리
5) Access Control(접근 제어)
| 개념 | AWS | Azure | GCP |
|---|---|---|---|
| IAM 서비스 | AWS IAM | Azure Entra ID | Cloud IAM |
| 리소스용 ID | IAM Role | Managed Identity | Service Account |
| 권한 정의 | IAM Policy (JSON) | RBAC Role | IAM Role |
| 토큰 발급 | STS | Entra ID | OAuth 2.0 |
| 인증 대상 | User / Role | User / MI | User / SA |
의미
- AWS(Policy 중심): 이 Role은 무엇을 할 수 있는가(행위)
- Azure(ID+RBAC 중심): 이 ID가 어디까지 접근 가능한가?
- GCP(Resource 계층 중심): 어느 계층(Project/Folder/Organization)에서 권한을 부여했는가
2. CSP(Cloud Service Provider) & MSP(Managed Service Provider)
각 CSP 별로 Resource Management이 다르다.
그 외
- Oracle(OCI)
- Samsung(SCP)
이러한 자원 관리 방식과 더불어 구축 및 운영 비용, 편리성 보안 요구사항 등을 고려하여 적절한 CSP를 선택하는 것이 중요하다.
1) AWS
글로벌 인프라
- Region: 데이터 센터가 위치한 지역(각 Region은 최소 2개 이상의 데이터 센터를 가짐)
- AZ: Region내에서 데이터 센터를 논리적으로 묶어놓은 영역
- Edge Location: CDN(CloudFront), Route53, Shield, WAF등을 제공
네트워크 공간: 계정, Region, VPC/AZ, Subnet
| Computing Service | Networking Service |
|---|---|
| EC2 Auto Scaling Lambda LightSail | VPC Direct Connect ELB Route53 CloudFront $\rightarrow$ CDN서비스: S3와 같은 서비스와 달리 ISP에 직접 연결됨(빠른 전송 가능) |
| Storage Service | Databse Service | Security Service |
|---|---|---|
| S3 EBS(블록: 빠름) EFS(파일: 확장성) Glacier(객체: 내부 정보 걱정X) | RDS DynamoDB ElastiCache | AWS Control Tower AWS WAF AWS Shield GuardDuty Inspector CloudTrail CloudWatch Key Management Service |
인증/권한관리
클라우드 리소스에 “누가”, “어떻게” 접근할 수 있는지를 제어하는 역할
- IAM: 사용자(User), 그룹(Group), 역할(Role)을 생성하고 Policy를 할당하여 사용
- Policy: Json 형태로 권한을 정의하여 IAM 개체에 연결
- Role: 임시 자격 증명(AccessKey: 장기 자격 증명)
- AWS Control Tower: 다중 계정 환경에서 보안 정책을 중앙에서 설정하고 제어하는 서비스(Landing Zone 역할)
보안 관리
- IAM(Root): 최소 권한만 가지고 제한된 용도(비용 관리)에만 사용되어야 한다.
- IAM(User): MFA, KMS 등의 보안 설정 적용
네트워크 보안
VPC를 통해 내외부의 트래픽 흐름을 제어하고 공격을 차단
- 구성
- PCX: VPC와 VPC 연결
- DX: VPC와 온프레미스를 연결
- VPN: 인터넷을 기반한 터널 암호화 통신(IGW 사용 X)
- VPC: Region내의 모든 AZ에 적용시킬 수 있는 가상 네트워크
- Internet Gateway를 통해 외부 인터넷과 통신 가능
- Endpoint를 통해 IG없이 Private한 통신 환경 유지 가능(+ 비용절감)
- Subnet: VPC를 논리적인 작은 단위로 분할한 Subnetwork(Public과 Private로 구분), NACL/RT를 반드시 수반함
- NACL: 서브넷 단위의 방화벽 (Stateless, Allow/Deny, Blacklist 주로 사용)
- Rout Tables(Subnet ↔ IGW/NAT/Transit)
- Security Group: ENI 단위의 방화벽 (Stateful, Allow, whitelist, 2개이상 → OR규칙)
- WAF(웹 앱 방화벽): ACL(Access Control List)을 통해 네트워크 규칙을 정의
- 라우팅 ENI
- Internet Gateway(VPC ↔ Internet), Public Subnet에 위치
- NAT Gateway(Private Subnet → Internet), Public Subnet에 위치
- Transit Gateway(VPC 중앙 관리)
※ Stateful: Inbound규칙 == Outbound 규칙 ※ Stateless: Inbound규칙 != Outbound 규칙 ※ Inbound(밖 → 안), Outbound(안 → 밖)
보안 관리
- Public/Private 망 분리 및 인터넷 연결점 최소화
- 네트워크 접근 통제: 리소스는 Allow 규칙으로 접근 통제
미사용 SG 삭제
- 암호화
ⅰ) 인터넷 구간 통신시 HTTPS(암호화) 적용
ⅱ) CloudFront/ELB 서비스를 사용해 네트워크 구간 암호화 필요서버(Computing) 보안
Web Hosting Serverless Web Container Web EC2 Lambda ECR, EKS 데이터 암호화 필요 사용 시 인터넷에 정보가 노출되지
않도록 VPC 사용K8S 사용 시 데이터를 안전하게
관리하고 접근제어 실시보안 관리
- 접근제어
- Bastion Host(중계서버)를 활용해 개발/운영 용 등으로 분리하여 운영할 필요
- Endpoint 활용
- 분산제어
- 트래픽 부하를 여러 서버로 분산하여 전달할 필요 있음(ELB)
- 로깅 및 취약점 관리
- VPC내에 Function을 구성하고, 컨테이너 이미지에 대한 취약점을 스캔하여 관리할 필요
DB/Storage 보안
관계형 DB NoSQL DB Storage RDS DynamoDB S3 w.t. Server Serverless 온라인 객체 스토리지 보안 관리
- 권한 제어: DB 관리자만 접근 가능하도록 설정
- Private Subnet으로 구성(NAT Gateway 생성 금지)
- Public Storage가 필요할 경우 별도로 분리 운영
- Endpoint를 사용하여 트래픽이 AWS 네트워크를 벗어나지 않도록 통제
- 암호화: AWS KMS을 사용해 정보 전송 및 저장 시 암호화
(키 자동교체 및 암호화 등)보안 관제(Monitoring + Logging)
ⅰ) Trust Adviser: 비용 최적화, 보안, 관련 등의 “권장 사항 제공”
ⅱ) AWS GuardDuty: 인스턴스 침해, 계정 침해, 버킷 침해 “정찰”
ⅲ) AWS Inspector: AWS에 배포된 애플리케이션의 보안 및 규정 준수 “평가”
ⅳ) AWS Shiled: AWS로 들어오는 트래픽을 검사하여 DDoS 예방
ⅴ) AWS CloudTrail: 계정의 보안 감사 지원 서비스(AWS에서 누가 무엇을 했는지)
ⅵ) AWS CloudWatch: 로그 관리 서비스(AWS에서 무슨일이 일어났는지)
보안 관리
- CSP가 제공하는 권장 사항 설정
- 서비스 접속 이력 및 사용 이력 로깅
- DAST, SAST<br
- 주기적으로 어플리케이션 전체 점검할 시간을 확보하는 것과, 시큐어 코딩을 통해 개발 단계부터 취약한 코드 수정 필요
2) MSP(Managed Service Provider)
CMP(Cloud Management Platform)를 활용해 CSP 운영부터 클라우드 전환/구축/컨설팅 등의 서비스를 전문적으로 제공하는 사업자
- 메가존 CMP
- Hyper billing, Hyper Watch
- 메가존 CMP
- 베스핀 글로벌 CMP
- OpsNow, Dev OS
- 베스핀 글로벌 CMP
- 삼성 SDS CMP
- Cloud in One
- 삼성 SDS CMP
1) 클라우드 도입 절차
단계 내용 목표 설정 도입 이유 등 계획 수립 적합한 클라우드 서비스(IaaS, SaaS, …)
클라우드 설계(Public, Private, …)
적합한 CSP 선정(비용, 편의성 고려)도입
(마이그레이션))ⅰ) Retain: 기존 시스템 유지
ⅱ) RePlatforming: OS/DB 등 플랫폼만 바꿈
ⅲ) ReHosting: 있는 그대로 옮김(빠름)
ⅳ) ReFactoring: 클라우드 환경에 맞춰 새로 개발
ⅴ) RePurchasing: 기존 시스템 폐기 후 SaaS(완제품) 구매
ⅵ) Retire: 불필요한 시스템 폐기운영 지속적인 보안 모니터링
취약점 관리
대응체계 마련
3. 위협
공급망, 서드파티 위험 증가
2) 사례
CSP 문제
- 관리 실수
- 시스템 오류
- 천재지변
사용자 문제
- 관리자 실수
- Snowflake 데이터 유출(크리덴셜 관리 미흡)
- MFA 미적용 및 접근 권한 관리 취약으로 인해 도난당한 로그인 정보를 이용해 클라우드 서버가 공격당함
SKT 해킹사고 사례
3. 대응
1) 아키텍쳐
책임 공유 모델
최근, 멀티/하이브리트 클라우드 환경 확대로 책임 범위가 복잡해졌다.
가용성을 고려한 보안 아키텍쳐
클라우드는 서비스가 24시간 365일 제공되어야 하고, 장애가 발생하더라도 서비스가 유지되어야 한다. 이를 위해서 다음과 같은 구성을 활용할 수 있다.
- Multi-Region: Region간 접근 통제, 이중화, 백업 정책
- Multi-Cloud: 표준화된 보안정책, 멀티클라우드 가시성 확보
- Container: 민감 데이터 격리 등
고성능을 위한 보안 아키텍쳐
고성능을 위해서는 서비스별로 오토 스케일링이 필요하고, 최소한의 잉여자원을 남기는 것이 중요하다.
- 오토 스케일링 설정
- 인터페이스와 공용 클라우드 자원을 최소한으로 설정
비용 효율을 위한 보안 아키텍쳐
온프레미스/Private Cloud 대비 저렴한 비용의 아키텍쳐
- 저렴하거나 무료로 제공되는 경량화된 클라우드 서비스 활용
- 서비스 사용중에만 리소스 사용(e.g. 서버리스 기능 활용)
2) 관리 범위
기업 내부
관리적 보안 기술적 보안 물리적 보안 보안 정책
보안 점검
보안 교육정보 유출 방지
해킹 공격 방어시설 보안
백업 및 분산 저장기업 내/외부
ㅇ
3) 보안 거버넌스
기본적으로 무결성, 기밀성 가용성을 기반으로 책임 추적성까지 적용한다. 이를 위해서는 다음 특성이 필요하다.
- Surface Reduction
- Workload Seperation
- LAnding Zone
보안관리 기준 및 지침
- ISO/IEC 27000시리즈(27017: 클라우드 특화, 27018: 개인정보 특화)
- NIST
예시
- 소규모 클라우드: 비용 효율적인 보안이 중요
대규모 클라우드: 표준화된 자동화, 중앙 집중식 모니터링이 중요
- 접근제어: 관리콘솔에 대해서는 MFA설정 및 사업장 NAT IP에 대해서만 허용
4) 서비스
5) Keyless
클라우드 리소스에 접근하기 위해서는 Access Key가 있어야 한다. 하지만 Key 구조는 Key가 유출되면 접근 권한이 탈취당할 수 있기 때문에, ⅰ) 접근제어(허용된 IP에서만 접근), ⅱ) 보유 수량(IAM 사용자 별 1개의 Key), ⅲ) 교체(90일에 1회 이상 교체, 기존 Key는 15일 이내 파기)의 관리 기준이 존재하였다.
이러한 번거로움을 해결하기 위해 Access Key 대신 클라우드 자체의 권한을 활용하는 방식이 제안되었다.
From AWS
기존 방식
- 키 발급: 관리자가 AWS에서 IAM을 생성하고 Access key & Secret Key를 받음
- 키 저장: 개발자는 이 키를 복사하여 EC2 서버 내부의 소스코드/환경변수/설정파일에 저장.
- 앱 실행: 파일에 저장된 키를 읽어 S3등 AWS 서비스에 요청
- 키 관리: 보안 규정에 따라 키 관리가 필요
보안 설정(Keyless)
- 권한 부여: IAM Role을 만들고(e.g. S3읽기 권한), EC2 인스턴스에 이 Role을 부여
- 자격 증명 요청(앱 → STS)
- 자격 증명 전달(STS → 앱): STS(Security Token Service)는 EC2의 Role을 확인 후, 임시 자격 증명을 발급
- 앱 실행: 임시 키를 사용해 S3 등 AWS 서비스에 요청
이 외에도, AWS에서 Azure/GCP의 자원에 접근하기 위해서 다음과 같은 방식을 사용할 수 있다.
To Azure To GCP @AWS
1) Cognito Identity Pool 생성
2) Pool에서 토큰을 발급받을 수 있는 Role 생성
@Azure
1) Managed Identity 생성
2) Federate Credential에 Cognito URL 등록@GCP
1) WIF Pool 생성 후 AWS ID 등록
2) GCP Service Account와 WIF Pool을 연결
@AWS
1) GCP 자격증명 파일 EC2로 업로드EC2 → Cognito: OIDC 토큰 요청
EC2 → Azure AD: 인증 요청
Azure AD → EC2: Azure Access Token 발급
접속EC2 → GCP: 접속 요청
GCP → EC2: 자격 증명 확인 후 Credential 발급
접속From Azure
보안 설정(Keyless)
- 권한 부여: Azure에서 Managed ID를 생성 후 타깃 Resource에 대한 IAM(RBAC)을 이 ID에 할당.
- 자격 증명 요청 (Azure VM → Azure Entra ID)
- 자격 증명 전달 (Azure Entra ID → Azure VM): Role을 확인 후 임시 자격 증명 전달
- 앱 실행: 임시 키를 사용해 Storage 접속
이 외에도, Azure에서 AWS/GCP의 자원에 접근하기 위해서 다음과 같은 방식을 사용할 수 있다.
To AWS To GCP @Azure
1) Azure Managed ID(User Assigned) 생성 및 할당
@AWS
1) IAM Identity Provider에 Azure AD 등록
2) 해당 Provider를 신뢰하는 IAM Role 생성@Azure
1) App Registration 생성
2) Managed Identity 생성 및 VM 할당
@GCP
1) WIF(Workload Identity Federation) Pool 생성
2) GCP Service Account와 WIF 연결Azure VM → Azure AD: ID Token(OIDC) 요청
Azure VM → AWS STS: ID Token 전달
AWS STS → Azure VM: 임시 자격 증명 발급
접속Azure VM → Azure AD: ID Token 요청
Azure VM → GCP WIF: Token 교환 요청
GCP STS → Azure VM: GCP Access Token 발급
접속From GCP
보안 설정(Key less)
- 권한 부여: Service Account를 생성하여 필요한 Role을 부여하고, VM 생성 시 이 Service Account를 연결(Attach) [cite: 1173-1180].
- 자격 증명 요청(앱 → Metadata Server): VM 내부 앱(Google Client Library)이 메타데이터 서버에 자격 증명을 요청 [cite: 1259-1260].
- 토큰 발급(Metadata Server → 앱): 메타데이터 서버는 Service Account의 권한을 확인하고 Access Token을 반환 [cite: 1254-1256].
- 앱 실행: 발급받은 토큰을 사용하여 GCS(Storage) 등 리소스에 접속 [cite: 1261-1268].
이 외에도, GCP에서 AWS/Azure의 자원에 접근하기 위해서 다음과 같은 방식을 사용할 수 있다.
[cite_start]To AWS [cite: 1287-1293, 1368-1389] [cite_start]To Azure [cite: 1420-1433, 1490-1496] @GCP
1) Service Account 생성 및 VM 할당
@AWS
1) IAM Identity Provider에 Google 등록
2) Web Identity 타입의 IAM Role 생성 (Google 신뢰 설정)@GCP
1) Service Account 생성 및 VM 할당
@Azure
1) App Registration 생성
2) Federated Credential 설정 (Issuer: Google, Subject: GCP SA ID)GCP VM → Metadata: Google ID Token(JWT) 요청
GCP VM → AWS STS:AssumeRoleWithWebIdentity호출
AWS STS → GCP VM: 임시 자격 증명 발급
접속GCP VM → Metadata: Google ID Token 요청
GCP VM → Azure AD: 인증 요청 (ID Token 전달)
Azure AD → GCP VM: Azure Access Token 발급
접속

















