의료 사이트의 GCP IAM 권한을 Claude Code로 점검하기
의료 사이트의 GCP IAM, 로그, 서비스 계정, 개인정보 경계를 점검하는 절차입니다.
의료 사이트는 겉으로는 단순해 보여도 뒤쪽 권한 흐름은 복잡할 수 있습니다. 문의 폼의 이름, 전화번호, 상담 내용, 예약 희망일이 Cloud Run, 이메일, 로그, CSV, 외주 업체로 흘러갑니다.
이 글은 Claude Code로 GCP IAM을 점검하면서 실제 환자 데이터를 AI 에이전트에게 넘기지 않는 방법을 설명합니다. 목적은 멋진 클라우드 구조가 아니라, 누가 무엇을 볼 수 있는지 경계를 만드는 것입니다.
이 글의 요점
-
Map forms, logs, secrets, CSV exports, and vendors before changing IAM.
-
Let Claude Code prepare inventory tables, not legal or medical conclusions.
-
Split read-only review, staging work, approval-gated changes, and production deploy.
-
Use official references for IAM, service accounts, audit logs, Data Access logs, Sensitive Data Protection, and medical privacy guidance.
-
Send readers to training because this needs clinic-specific review.
현장에서 생기는 실패
의료 사이트의 권한 점검은 role 이름이 아니라 환자가 만지는 화면에서 시작합니다. 문의 폼, 예약 시스템, 알림 메일, 로그, CSV, 백업, 광고 리포트, 제작사의 수정 범위를 한 장의 표에 둡니다. Claude Code는 설정과 코드를 읽고 표, diff, 후보 문제, 체크리스트를 만들 수 있습니다. 사람은 개인정보, 계약, 병원 규칙, 환자 안내, 공개 승인을 결정합니다.
Official references: Use IAM securely, service account best practices, Cloud Audit Logs, Data Access audit logs, Sensitive Data Protection, and medical care privacy guidance.
폼에서 거꾸로 권한을 본다
의료 사이트의 권한 점검은 role 이름이 아니라 환자가 만지는 화면에서 시작합니다. 문의 폼, 예약 시스템, 알림 메일, 로그, CSV, 백업, 광고 리포트, 제작사의 수정 범위를 한 장의 표에 둡니다. Claude Code는 설정과 코드를 읽고 표, diff, 후보 문제, 체크리스트를 만들 수 있습니다. 사람은 개인정보, 계약, 병원 규칙, 환자 안내, 공개 승인을 결정합니다.
| Area | Inventory | Human review |
| --- | --- | --- |
| Form | fields, destination, confirmation | does it ask too much |
| Runtime | service account, env vars | does patient data reach logs |
| Logs | viewers, retention, data access | who needs read evidence |
| Secrets | API keys, mail credentials | are secrets shared safely |
| CSV | fields, viewers, exports | can vendors see patient data |
Claude Code가 할 일과 사람이 볼 일
의료 사이트의 권한 점검은 role 이름이 아니라 환자가 만지는 화면에서 시작합니다. 문의 폼, 예약 시스템, 알림 메일, 로그, CSV, 백업, 광고 리포트, 제작사의 수정 범위를 한 장의 표에 둡니다. Claude Code는 설정과 코드를 읽고 표, diff, 후보 문제, 체크리스트를 만들 수 있습니다. 사람은 개인정보, 계약, 병원 규칙, 환자 안내, 공개 승인을 결정합니다.
3가지 Use case
Use case 1: Retired users and vendors
-
Input: IAM export, service accounts, vendor scope, retired staff list.
-
Output: member, role, purpose, patient-data touch point, reviewer.
-
Human review: confirm contract, clinic owner, and whether the access is still needed.
Use case 2: Patient data in logs
-
Input: form handler code, logger calls, sample log names, email templates.
-
Output: logged fields, mask candidates, remove candidates, debug-only fields.
-
Human review: decide whether names, phone numbers, consultation text, symptoms, and dates belong in logs.
Use case 3: Read-only path for AI agents
-
Input: repository, project ID, resources to inspect, and prohibited data.
-
Output: read-only tasks, staging-only tasks, approval-gated tasks, prohibited tasks.
-
Human review: check credentials, commands, output files, deletion targets, and deployments.
복사해서 쓰는 프롬프트
Review GCP IAM for a medical website. Keep patient data away from unnecessary staff, vendors, and AI agents. Build tables for IAM roles, service accounts, logs, secrets, forms, emails, and CSV exports. Do not run change commands. Do not paste real patient values. Mark human approvals. Main CTA: /training/.
실행 가능한 확인 코드
const iamRows = [{ member: '[email protected]', role: 'roles/editor', purpose: 'LP edit', touchesPatientData: true, reviewer: '' }];
const findings = iamRows.filter((row) => row.role === 'roles/editor' || (row.touchesPatientData && !row.reviewer));
console.log(findings.length ? findings : 'Medical IAM draft passed.');
if (findings.length) process.exitCode = 1;
Pitfall: 권한을 고치려다 권한을 넓히는 함정
의료 사이트의 권한 점검은 role 이름이 아니라 환자가 만지는 화면에서 시작합니다. 문의 폼, 예약 시스템, 알림 메일, 로그, CSV, 백업, 광고 리포트, 제작사의 수정 범위를 한 장의 표에 둡니다. Claude Code는 설정과 코드를 읽고 표, diff, 후보 문제, 체크리스트를 만들 수 있습니다. 사람은 개인정보, 계약, 병원 규칙, 환자 안내, 공개 승인을 결정합니다.
The fix is to name prohibited data first: patient names, phone numbers, consultation text, appointment details, inboxes, raw logs, and downloaded service account keys. Use masked samples, column names, or counts when possible.
FAQ
Q. Can the agent read the repository? A. Code and configuration are a good start; real patient messages are not.
Q. Is removing editor enough? A. No. Logs, secrets, CSV exports, emails, datasets, and CI/CD can still expose data.
Q. Why training? A. Permission boundaries depend on the clinic, vendors, and publishing flow.
상담으로 이어가기
ClaudeCodeLab training can help map forms, GCP IAM, logs, secrets, service accounts, and vendor boundaries for a medical website.
실제로 확인한 결과
This article checks frontmatter, official links, three use cases, input-output-human review labels, code fences, and the /training/ CTA. The code sample is intentionally small and checks broad roles plus missing reviewers.
관련 글
내과·소아과 의원 전화·웹 문의 1차 대응을 AI로 단축하는 실무 절차
내과·소아과 의원 접수창구의 '똑같은 질문 전화 지옥'을 Claude Code로 FAQ와 1차 응대문으로 정리하는 방법. 프롬프트 템플릿과 검증 스크립트 포함.
세무사 사무소에서 Claude Code를 안전하게 쓰는 법: 고객 데이터 익명화와 권한 설정
일본 세무사 사무소를 위한 고객 원본 격리, 익명화, 권한 제한, AI 입력 전 검사 절차를 설명합니다.
클리닉 예약 문의를 Claude Code로 정리하기: 전화, 폼, LINE 역할 나누기
초진 환자가 예약 페이지에서 멈추지 않도록 전화, 웹폼, LINE의 역할을 정리하는 클리닉 운영 흐름입니다.
무료 PDF: Claude Code 치트시트
이메일을 입력하면 명령, 리뷰 습관, 안전한 워크플로를 정리한 PDF를 받을 수 있습니다.
개인정보를 안전하게 관리하며 스팸을 보내지 않습니다.
작성자 소개
Masa
Claude Code 실무 워크플로와 팀 도입을 검증하는 엔지니어입니다.