서비스 계정의 키를 사용하여 Cloud Storage의 IAM 정책을 설정하는 방법은?
_____답변:
1. 서비스 계정 키 생성
- Google Cloud Console에서 서비스 계정을 생성하거나 기존 계정을 선택합니다.
- 해당 서비스 계정의 ‘키’ 탭으로 이동하여 새 키를 생성합니다. JSON 형식을 권장합니다.
- 생성된 키 파일(JSON)을 안전한 위치에 저장합니다.
2. 서비스 계정 키로 인증하기
- 로컬 머신이나 애플리케이션에서 GCP CLI(gcloud) 또는 API를 사용할 경우, 저장된 JSON 키 파일을 통해 인증 가능합니다.
- CLI에서 인증하는 방법:
```bash
gcloud auth activate-service-account --key-file=path/to/key-file.json
```
- 애플리케이션에서는 Google Cloud Client Libraries에 해당 키 경로를 설정하거나, 환경 변수 `GOOGLE_APPLICATION_CREDENTIALS`에 키 파일 경로를 지정합니다.
3. IAM 권한 부여
- 서비스 계정에 Cloud Storage 버킷 또는 오브젝트에 대해 적절한 권한(역할)을 부여합니다.
- 예: `roles/storage.objectViewer`, `roles/storage.objectAdmin`, `roles/storage.admin` 등.
- 콘솔에서 해당 버킷의 “권한” 탭으로 이동하여 서비스 계정을 멤버로 추가하고 필요한 역할을 부여합니다.
- 또는 gcloud CLI로:
gcloud storage buckets add-iam-policy-binding gs://버킷이름 \
--member="serviceAccount:서비스계정이메일" \
--role="roles/storage.objectViewer"
```
4. IAM 정책 적용 확인
- 서비스 계정 키로 인증된 상태에서 GCS 버킷/오브젝트에 접근하여 권한이 정상 적용되었는지 테스트합니다.
- 예를 들어, 객체 목록 조회:
```bash
gsutil ls gs://버킷이름
```
5. 보안 권장사항
- 키는 안전하게 보관하고, 외부에 유출되지 않도록 주의하십시오.
- 필요하지 않은 경우 키 생성을 피하고 워크로드에 Workload Identity Federation 등 더 안전한 인증 방식을 고려하세요.
- 정기적으로 키를 순환 및 폐기하여 보안을 유지합니다.
---
요약:
서비스 계정 키(JSON 파일)를 생성하여 애플리케이션 또는 CLI에서 인증 후, 해당 서비스 계정에 GCS 버킷 IAM 역할을 부여하면 서비스 계정 키를 통해 IAM 정책을 적용받아 Cloud Storage 리소스 접근이 가능해집니다.
서비스 계정의 키를 사용하여 IAM 정책을 설정하는 방법에 대해 자세히 설명하겠습니다.
1. 서비스 계정 생성 및 키 생성 먼저, IAM 정책을 설정하기 위해 사용할 서비스 계정을 생성해야 합니다.
1. Google Cloud Console에 로그인 합니다.
2. IAM 및 관리자 > 서비스 계정 으로 이동합니다.
3. 서비스 계정 만들기 를 클릭합니다.
- 서비스 계정 이름, ID 및 설명을 입력합니다.
4. 만들기 를 클릭합니다.
5. 키 만들기 단계에서 JSON 형식의 키를 선택하고 만들기 를 클릭합니다.
- 이때 생성된 JSON 파일은 안전하게 보관해야 하며, 나중에 서비스 계정을 인증하는 데 사용됩니다.
2. IAM 정책 설정 서비스 계정을 생성한 후, 해당 서비스 계정에 필요한 권한을 부여하여 IAM 정책을 설정할 수 있습니다.
1. Google Cloud Console 에서 Cloud Storage 로 이동합니다.
2. IAM 정책을 설정할 버킷을 선택합니다.
3. 권한 탭으로 이동합니다.
4. 버킷에 대한 권한 추가 를 클릭합니다.
5. 새 원본 추가 에서 생성한 서비스 계정의 이메일 주소를 입력합니다.
6. 역할 선택 에서 서비스 계정에 부여할 역할을 선택합니다.
- 예를 들어, `Storage Object Viewer` 역할을 부여하면 해당 서비스 계정이 버킷의 객체를 읽을 수 있습니다.
- `Storage Object Admin` 역할을 부여하면 객체를 생성, 삭제 및 수정할 수 있습니다.
7. 저장 을 클릭하여 변경 사항을 적용합니다.
3. 서비스 계정 키를 사용하여 인증 서비스 계정 키를 사용하여 GCS에 접근하려면, 클라이언트 애플리케이션에서 해당 키를 사용하여 인증을 수행해야 합니다.
예를 들어, Python을 사용하는 경우 다음과 같은 방법으로 인증할 수 있습니다.
```python from google.cloud import storage from google.oauth2 import service_account 서비스 계정 키 파일 경로 key_path = "path/to/your/service-account-key.json" 서비스 계정으로 인증 credentials = service_account.Credentials.from_service_account_file(key_path) Cloud Storage 클라이언트 생성 client = storage.Client(credentials=credentials) 버킷에 접근 bucket = client.get_bucket('your-bucket-name') 객체 목록 가져오기 blobs = bucket.list_blobs() for blob in blobs: print(blob.name) ```
4. IAM 정책 검토 및 감사 IAM 정책을 설정한 후, 주기적으로 정책을 검토하고 감사하는 것이 중요합니다.
이를 통해 불필요한 권한이 부여되지 않았는지 확인하고, 보안 사고를 예방할 수 있습니다.
1. IAM 및 관리자 > IAM 으로 이동하여 현재 IAM 정책을 검토합니다.
2. Cloud Audit Logs 를 사용하여 서비스 계정의 활동을 모니터링합니다.
결론 서비스 계정의 키를 사용하여 Cloud Storage의 IAM 정책을 설정하는 과정은 서비스 계정을 생성하고, 필요한 권한을 부여하며, 클라이언트 애플리케이션에서 인증을 수행하는 단계로 구성됩니다.
이러한 과정을 통해 GCS 리소스에 대한 안전하고 효율적인 액세스를 관리할 수 있습니다.
IAM 정책을 주기적으로 검토하고 감사하는 것도 잊지 말아야 합니다.
작성자:
이수아 [비회원]
| 작성일자: 1년 전
2024-12-18 16:52:07
조회수: 161 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 161 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.