- תיקיית
.devcontainer/מוגדרת עם Dockerfile, devcontainer.json, ו-init-firewall.sh — מוכנה ל-commit - Docker Compose configuration שמריץ Claude Code עם network isolation, resource limits, ו-read-only source mount
- Systemd service file שמריץ pipeline כ-daemon על שרת VPS
- SSH workflow מתועד — שלושה patterns: one-off, interactive, persistent (tmux)
- קובץ הגדרות ספק ענן — Bedrock או Vertex מוגדר ופועל
- תוכנית אימוץ ארגוני (3 שלבים) — מותאמת לגודל הצוות שלכם
- Docker Security Checklist מלא — 7 פריטים מאומתים
- Compliance checklist — data residency, PII handling, audit trails
- תוכלו לבנות סביבת Docker מאובטחת שמריצה Claude Code עם isolation מלא
- תוכלו לפרוס pipelines וסוכנים על שרת VPS ולנהל אותם מרחוק דרך SSH ו-Remote Control
- תוכלו להגדיר Claude Code לעבוד דרך Amazon Bedrock, Google Vertex AI, או Azure AI Foundry
- תוכלו לתכנן תוכנית אימוץ ארגוני ב-3 שלבים — מפיילוט ועד פריסה מלאה עם managed policies
- תוכלו להעריך דרישות compliance ולהתאים את ההגדרות לרגולציה הרלוונטית
- פרקים קודמים: פרק 1 (Headless Mode — הבנת
-pו---bare), פרק 2 (GitHub Actions — CI/CD), פרק 6 (Production Pipelines — המערכות שנפרוס) - כלים נדרשים: Docker Desktop או Docker Engine מותקן, גישה SSH לשרת VPS (אופציונלי — $5-10/חודש), מפתח ANTHROPIC_API_KEY, Claude Code v2.1.81+
- ידע נדרש: בסיס ב-Docker (מהו container, image, volume), בסיס ב-Linux commands, הבנת SSH
- זמן משוער: 3-4 שעות | עלות משוערת: $3-10 (טוקנים + VPS אופציונלי)
בפרק 6 בניתם production pipelines — שרשראות עיבוד רב-שלביות עם error handling, checkpoints, logging, ותיעוד. עכשיו אנחנו לוקחים את ה-pipelines האלה ומכניסים אותם ל-Docker containers, פורסים אותם על שרתים מרוחקים, מגדירים אותם לעבוד עם ספקי ענן ארגוניים, ובונים תוכנית אימוץ לכל הארגון. בפרק 8 נסתכל קדימה — לאן Claude Code הולך, איך המתחרים נראים, ואיך לבנות מערכות שישרדו שינוי.
| מונח (English) | תרגום | הסבר |
|---|---|---|
| Dev Container | קונטיינר פיתוח | סביבת פיתוח שמוגדרת כ-Docker container — כל הכלים, ההרחבות וההגדרות באים בחבילה אחת |
| init-firewall.sh | סקריפט חומת אש | סקריפט של Anthropic שמגביל תקשורת רשת מהקונטיינר רק לדומיינים מורשים (API של Anthropic ועוד) |
| Docker Socket | שקע Docker | /var/run/docker.sock — הגישה ל-Docker daemon. חיבור שלו לקונטיינר נותן גישת root למערכת כולה |
| VPS (Virtual Private Server) | שרת וירטואלי פרטי | שרת Linux שרץ בענן — אתם שוכרים אותו מספק כמו DigitalOcean, Linode, או AWS EC2 |
| tmux | מרבב טרמינלים | כלי שמאפשר להריץ sessions שממשיכים גם כשמתנתקים מ-SSH — קריטי לעבודה מרחוק |
| Remote Control | שליטה מרחוק | יכולת לצפות ולכוון session של Claude Code דרך claude.ai/code או אפליקציית הנייד |
| Amazon Bedrock | שירות AI של אמזון | שירות AWS שמאפשר להריץ מודלי AI (כולל Claude) בתוך תשתית ה-AWS שלכם |
| Google Vertex AI | שירות AI של גוגל | שירות GCP שמאפשר להריץ Claude דרך Google Cloud — עם compliance ו-data residency |
| Managed Policies | מדיניות מנוהלת | כללים שמנהל מערכת מגדיר ברמת הארגון — המשתמש לא יכול לעקוף אותם |
| Cowork | Cowork | אפליקציית דסקטופ שנותנת יכולות Claude Code לאנשים שאינם מפתחים — בלי CLI, בלי טרמינל |
| SSO (Single Sign-On) | כניסה יחידה | התחברות לכל הכלים הארגוניים עם חשבון אחד — SAML או OIDC |
| Data Residency | שהיית נתונים | דרישה רגולטורית שהנתונים ישארו באזור גאוגרפי מסוים (למשל, אירופה ל-GDPR) |
למה Docker ל-Claude Code?
יש לכם pipeline שרץ מצוין על המחשב שלכם. claude -p "run the content pipeline" — הכל עובד. אתם שולחים את הקוד לעמית בצוות ו... זה לא עובד. "אצלי לא מותקן Python 3.11." "אין לי את ה-dependencies האלה." "אצלי ה-path שונה." בעיית "Works on My Machine" — הבעיה הקלאסית ביותר בפיתוח תוכנה.
Docker פותר את זה ברמה הבסיסית ביותר: הקוד שלכם רץ בתוך container — סביבה מבודדת שמכילה בדיוק את מה שהוא צריך. אותו container רץ זהה על הלפטופ שלכם, על השרת של הצוות, ועל ה-CI/CD. אם זה עובד ב-Docker — זה עובד בכל מקום.
אבל ל-Claude Code יש סיבה נוספת, חשובה אפילו יותר: אבטחה. Claude Code מריץ פקודות shell, קורא קבצים, וכותב קוד. כשהוא רץ על המחשב שלכם, ה-sandbox המובנה (Seatbelt ב-macOS, bubblewrap ב-Linux) מגביל אותו. אבל כשאתם פורסים לפרודקשן, אתם רוצים שכבת הגנה נוספת: ה-Docker container עצמו הוא ה-sandbox. גם אם הסוכן "מצליח" לברוח מההגבלות — הוא תקוע בתוך container עם גישה מוגבלת.
Anthropic מספקים תמיכה רשמית ב-Docker: devcontainer.json, Dockerfile, ו-init-firewall.sh — שלושה קבצים שנותנים לכם סביבה מאובטחת ומוכנה לפיתוח. זה לא פתרון שצריך להמציא — זה פתרון מוכן.
Claude Code משתמש בארבע שכבות הגנה כשהוא רץ ב-Docker: (1) Permissions system — הכלי שואל לפני פעולות מסוכנות. (2) OS Sandbox — Seatbelt (macOS) או bubblewrap (Linux) שמגביל filesystem ורשת. (3) Docker container — isolation ברמת ה-kernel, resource limits, network rules. (4) Firewall script — חוסם תקשורת לכל כתובת שאינה Anthropic API. ארבע שכבות שכל אחת מהן עצמאית — גם אם שכבה אחת נפרצת, השאר מגנות.
| אם... | אז... | הסיבה |
|---|---|---|
| פורסים pipeline לפרודקשן | חובה Docker | סביבה אחידה, אבטחה, reproducibility |
| מריצים ב-CI/CD (GitHub Actions, Jenkins) | חובה Docker | ה-runner צריך סביבה מוגדרת מראש |
| צוות של 2+ מפתחים | מומלץ Docker | Dev container = onboarding של 5 דקות |
| צריכים security isolation | חובה Docker | Container = sandbox נוסף מעל ה-sandbox המובנה |
| ניסוי מהיר על הלפטופ | אפשר בלי Docker | ה-sandbox המובנה מספיק; Docker מוסיף תקורה |
| סקריפט חד-פעמי פשוט | אפשר בלי Docker | Overkill — claude -p מספיק |
הדגל --dangerously-skip-permissions ב-Claude Code מבטל את כל הודעות האישור. על המחשב שלכם — לעולם אל תשתמשו בו. בתוך Docker container מאובטח — זה מקובל, כי ה-container עצמו הוא שכבת ההגנה. זו הסיבה שרוב ה-CI/CD pipelines משתמשים ב-Docker + --dangerously-skip-permissions ביחד. (מקור: Anthropic Docs, מרץ 2026)
פתחו טרמינל ובדקו ש-Docker מותקן: docker --version. אם לא מותקן — התקינו Docker Desktop (Windows/Mac) או Docker Engine (Linux). הריצו docker run hello-world כדי לוודא שעובד.
Dev Containers — סביבה אחידה לכל הצוות
Dev Containers הם סטנדרט של VS Code (ורלוונטי גם ל-GitHub Codespaces ו-JetBrains): אתם מגדירים תיקיית .devcontainer/ בפרויקט, ומי שפותח אותו ב-VS Code מקבל סביבה זהה אוטומטית — כל הכלים, הגדרות, extensions, ו-firewall rules. "Clone, open, everything works."
Anthropic מספקים devcontainer רשמי ל-Claude Code. הוא כולל: Node.js, Python, Claude Code CLI מותקן, חוקי firewall שמגבילים תקשורת רשת, ו-security hardening בסיסי. בואו נבנה אחד מאפס.
מבנה התיקייה
.devcontainer/
├── devcontainer.json # הגדרות ה-container: image, extensions, ports
├── Dockerfile # מה מותקן בפנים
└── init-firewall.sh # הגבלת תקשורת רשת
devcontainer.json
{
"name": "Claude Code Dev Environment",
"build": {
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": {
"extensions": [
"anthropic.claude-code"
],
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
}
}
},
"forwardPorts": [3000, 8080],
"postCreateCommand": "bash .devcontainer/init-firewall.sh",
"remoteEnv": {
"ANTHROPIC_API_KEY": "${localEnv:ANTHROPIC_API_KEY}"
},
"runArgs": [
"--memory=4g",
"--cpus=2"
]
}
שימו לב לשלוש נקודות חשובות: (1) ה-API key מועבר מהסביבה המקומית שלכם — לא נכתב בקובץ. (2) ה-postCreateCommand מריץ את סקריפט ה-firewall אוטומטית. (3) runArgs מגביל משאבים — כך שסוכן שהשתולל לא יאכל את כל ה-RAM.
Dockerfile
FROM node:20-slim
# Install Claude Code CLI
RUN npm install -g @anthropic-ai/claude-code
# Install Python (for multi-language pipelines)
RUN apt-get update && apt-get install -y \
python3 python3-pip \
git curl iptables \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN useradd -m -s /bin/bash developer
USER developer
WORKDIR /home/developer/project
המפתח: אנחנו יוצרים משתמש developer שאינו root. Claude Code ירוץ בתור המשתמש הזה — אין לו הרשאות root בתוך ה-container. שכבת הגנה נוספת.
init-firewall.sh
#!/bin/bash
# Allow only Anthropic API and specified domains
iptables -A OUTPUT -d api.anthropic.com -j ACCEPT
iptables -A OUTPUT -d cdn.anthropic.com -j ACCEPT
# Allow DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# Allow established connections
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Block everything else
iptables -A OUTPUT -j DROP
echo "Firewall configured: only Anthropic API allowed"
הסקריפט הזה קריטי: הוא מבטיח שהקונטיינר יכול לתקשר רק עם ה-API של Anthropic. אם סוכן מנסה לשלוח נתונים לשרת חיצוני, או להוריד קוד זדוני — ה-firewall חוסם. זו הגנה מפני prompt injection — תרחיש שבו קוד שהסוכן קורא מכיל הוראות זדוניות שמנסות לגרום לו "לצלצל הביתה" (phone home) עם נתונים רגישים.
מפתחים רבים מגדירים Docker container מצוין — עם non-root user, resource limits, הכל. אבל שוכחים את ה-firewall. התוצאה: ה-container יכול לתקשר עם כל כתובת באינטרנט. בתרחיש של prompt injection, זה אומר שסוכן זדוני יכול לשלוח את הקוד שלכם לשרת חיצוני. הפתרון: תמיד הפעילו init-firewall.sh — או ב-postCreateCommand, או בתוך ה-Dockerfile עצמו.
צרו תיקיית .devcontainer/ בפרויקט שלכם. העתיקו את שלושת הקבצים מלמעלה. פתחו VS Code, הריצו "Dev Containers: Reopen in Container" (Ctrl+Shift+P). אם VS Code לא מוצא את הפקודה — התקינו את ההרחבה "Dev Containers" של Microsoft. [SCREENSHOT NEEDED: VS Code with "Reopen in Container" command]
בסטארטאפים ישראליים, מפתחים חדשים לפעמים מבלים יום שלם בהגדרת סביבת פיתוח. עם Dev Container, ה-onboarding הופך ל-5 דקות: git clone, פתיחה ב-VS Code, לחיצה על "Reopen in Container" — והכל עובד. שמעתי ממנהל פיתוח בסטארטאפ ישראלי: "מפתח חדש התחיל ב-commit ראשון תוך שעה. בלי Dev Container זה היה לוקח יום."
אבטחת Docker — Best Practices
Docker container שלא מוגדר נכון יכול להיות יותר מסוכן ממה שבלעדיו. למה? כי הוא נותן תחושת ביטחון מזויפת. "זה רץ ב-Docker, אז זה בטוח." לא בהכרח. בואו נעבור על 7 כללי אבטחה קריטיים.
כלל 1: לעולם אל תחברו את Docker Socket
# !!!!! לעולם אל תעשו את זה !!!!!
docker run -v /var/run/docker.sock:/var/run/docker.sock my-agent
# למה? כי Docker socket = גישת root למערכת כולה
# הסוכן יכול ליצור container חדש עם full root access
# ולברוח מהסנדבוקס לחלוטין
/var/run/docker.sock הוא הדרך לתקשר עם Docker daemon. אם אתם מחברים אותו לקונטיינר, הסוכן יכול ליצור קונטיינרים חדשים, למחוק קונטיינרים קיימים, ואפילו לקבל גישה לכל ה-filesystem של ה-host. זה שווה ערך לגישת root למערכת שלכם.
כלל 2: Source code כ-read-only
docker run \
-v $(pwd)/src:/project/src:ro \
-v $(pwd)/output:/project/output \
my-claude-agent
ה-:ro אומר read-only. הסוכן יכול לקרוא את קוד המקור, אבל לא לשנות אותו. הוא יכול לכתוב רק לתיקיית /project/output. אם משהו משתבש — קוד המקור שלכם שלם.
כלל 3: Resource Limits
docker run \
--memory=4g \
--memory-swap=4g \
--cpus=2 \
--pids-limit=100 \
--storage-opt size=10G \
my-claude-agent
בלי limits, סוכן שנכנס ללולאה אינסופית יאכל את כל ה-RAM וה-CPU של השרת. ה-flags מגבילים: 4GB RAM (בלי swap נוסף), 2 CPUs, 100 processes מקסימום, 10GB דיסק. אם הסוכן חורג — ה-container נהרג אוטומטית.
כלל 4: Non-root User
# ב-Dockerfile:
RUN useradd -m -s /bin/bash agent
USER agent
# או ב-runtime:
docker run --user 1000:1000 my-claude-agent
כלל 5: Network Isolation
# אפשרות א: הריצו init-firewall.sh כ-postCreate
# אפשרות ב: השתמשו ב-Docker network policy
docker network create --internal isolated-net
docker run --network isolated-net my-claude-agent
כלל 6: Secrets דרך Environment Variables
# נכון: מעבירים בזמן ריצה
docker run -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY my-agent
# לא נכון: בונים לתוך ה-image
# ENV ANTHROPIC_API_KEY=sk-ant-... # !!!!! לעולם אל !!!!!
# כל מי שמושך את ה-image רואה את המפתח
כלל 7: Image Scanning
# סרקו את ה-image לפני פריסה
docker scout cves my-claude-agent:latest
# או השתמשו ב-Trivy:
trivy image my-claude-agent:latest
| פריט | סטטוס | בדיקה |
|---|---|---|
| אין חיבור Docker socket | ☐ | docker inspect — אין /var/run/docker.sock ב-Mounts |
| Source code read-only | ☐ | כל volume של קוד מקור עם :ro |
| Resource limits | ☐ | --memory, --cpus, --pids-limit מוגדרים |
| Non-root user | ☐ | USER ב-Dockerfile, לא root |
| Network isolation | ☐ | Firewall script רץ, או --network internal |
| Secrets via env vars | ☐ | אין ENV עם secrets ב-Dockerfile |
| Image scanned | ☐ | docker scout cves או trivy בלי critical vulnerabilities |
הדגל --dangerously-skip-permissions מבטל את כל שאלות האישור של Claude Code. על המחשב שלכם, לעולם אל תשתמשו בו — הסוכן יוכל למחוק קבצים, להריץ פקודות, ולגשת לכל מה שאתם ניגשים. בתוך Docker container מאובטח — זה מקובל ואפילו הכרחי (ב-CI/CD אין מי שיאשר). הכלל: --dangerously-skip-permissions רק עם Docker מאובטח.
הריצו docker inspect על container קיים שלכם ובדקו: (1) מה ה-user? "User": "" אומר root — בעייתי. (2) יש /var/run/docker.sock ב-Mounts? אם כן — סכנה. (3) מה ה-memory limit? אם 0 — אין limit.
פריסה על VPS — שרת מרוחק
Docker על הלפטופ זה טוב לפיתוח. אבל pipeline שצריך לרוץ כל לילה ב-2:00, או סוכן שצריך להיות זמין 24/7, צריך שרת שעובד גם כשהלפטופ סגור. זה VPS — Virtual Private Server.
Claude Code הוא קל מאוד. כל העיבוד הכבד קורה ב-API של Anthropic. ה-VPS שלכם צריך רק: 2GB RAM (מספיק ב-90% מהמקרים), 1-2 CPU cores, ו-20GB דיסק. זה עולה $5-10 לחודש — DigitalOcean, Linode, Hetzner, או AWS EC2 t3.small. סטארטאפים ישראליים רבים מריצים על Hetzner בגלל היחס מחיר-ביצועים.
התקנת Claude Code על VPS
# התחברו לשרת
ssh [email protected]
# התקינו Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs
# התקינו Claude Code
sudo npm install -g @anthropic-ai/claude-code
# הגדירו API key
echo 'export ANTHROPIC_API_KEY=sk-ant-...' >> ~/.bashrc
source ~/.bashrc
# בדקו שעובד
claude --version
claude -p "say hello" --bare
Systemd Service — סוכן כ-daemon
אתם רוצים שהסוכן/pipeline ירוץ אוטומטית כשהשרת עולה, ויתחיל מחדש אם הוא נופל? Systemd service — הדרך הנכונה ב-Linux.
# /etc/systemd/system/claude-pipeline.service
[Unit]
Description=Claude Code Production Pipeline
After=network.target docker.service
[Service]
Type=simple
User=deploy
WorkingDirectory=/home/deploy/my-project
Environment=ANTHROPIC_API_KEY=sk-ant-your-key-here
ExecStart=/usr/bin/docker run --rm \
--memory=4g --cpus=2 \
-v /home/deploy/my-project/src:/project/src:ro \
-v /home/deploy/my-project/output:/project/output \
-e ANTHROPIC_API_KEY \
my-claude-pipeline
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
# הפעלה
sudo systemctl enable claude-pipeline # התחלה אוטומטית עם boot
sudo systemctl start claude-pipeline # התחלה מיידית
sudo systemctl status claude-pipeline # סטטוס
journalctl -u claude-pipeline -f # logs בזמן אמת
Remote Control (השיק בפברואר 2026) משנה את חווית העבודה עם VPS לגמרי. הפעלתם pipeline על השרת, ואתם רוצים לעקוב אחריו? פתחו claude.ai/code בדפדפן, או את אפליקציית Claude בנייד — ותראו את ה-session בזמן אמת. אפשר גם לכוון — לשנות כיוון, לענות לשאלות, לאשר פעולות. הכל מהטלפון בזמן שאתם בקפה. Pipeline רץ על שרת בגרמניה, אתם מפקחים עליו מתל אביב.
Monitoring — ניטור ב-Production
שרת VPS שרץ סוכנים 24/7 צריך ניטור. אתם לא רוצים לגלות שה-pipeline נפל רק כשהלקוח מתלונן. הנה setup בסיסי עם כלים חינמיים:
# Healthcheck script — שמרו כ-/home/deploy/healthcheck.sh
#!/bin/bash
CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' claude-pipeline 2>/dev/null)
if [ "$CONTAINER_STATUS" != "running" ]; then
curl -X POST "https://hooks.slack.com/services/YOUR/WEBHOOK" \
-d '{"text":"⚠️ Claude pipeline container is DOWN"}'
fi
# Disk space check
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$DISK_USAGE" -gt 85 ]; then
curl -X POST "https://hooks.slack.com/services/YOUR/WEBHOOK" \
-d "{\"text\":\"⚠️ Disk usage at ${DISK_USAGE}%\"}"
fi
# הוסיפו ל-crontab:
# */5 * * * * /home/deploy/healthcheck.sh
בסטארטאפים ישראליים, שימוש ב-UptimeRobot (חינם, עד 50 monitors) נפוץ מאוד — הוא יכול לעקוב אחרי שרת HTTP שאתם מגדירים כ-healthcheck endpoint. אם ה-endpoint לא מגיב — אתם מקבלים התראה ב-SMS, אימייל, או Slack. אפשר גם להשתמש ב-Better Stack (לשעבר Better Uptime) שיש לו tier חינמי נדיב.
מפתחים רבים מגדירים Systemd service מעולה, עם Restart=on-failure — וחושבים שזה מספיק. זה לא. השירות יכול להתחיל מחדש 50 פעמים ביום בגלל שגיאה חוזרת, ואתם לא תדעו. הפתרון: תמיד הגדירו monitoring + alerting. בדקו ש-RestartSec מספיק ארוך (30 שניות לפחות), והגבילו restarts עם StartLimitBurst=5 ו-StartLimitIntervalSec=300 — כך שאחרי 5 נפילות ב-5 דקות, השירות עוצר ואתם מקבלים התראה.
אם יש לכם VPS — התחברו ב-SSH ובדקו: node --version (צריך 18+), docker --version (אם רלוונטי), free -h (כמה RAM פנוי). אם אין לכם VPS — היכנסו ל-Hetzner Cloud ובדקו את המחיר של CX22 (2 vCPU, 4GB RAM) — כ-€4 לחודש. בדקו גם Contabo — ספק גרמני פופולרי עם מחירים מצוינים לצוותי פיתוח ישראליים.
SSH Workflows — עבודה מרחוק
Claude Code על שרתים מרוחקים דרך SSH הוא first-class workflow — לא workaround, לא hack. Anthropic עיצבו את הכלי לעבוד מצוין מעל SSH. בואו נראה שלושה דפוסי עבודה.
Pattern 1: Remote Execution — פקודה אחת
# הריצו משימה על השרת וקבלו תוצאה
ssh deploy@server "cd /project && claude -p 'run all tests and report failures' --bare"
# שלבו עם cron לריצה לילית
# crontab -e:
0 2 * * * ssh deploy@server "cd /project && claude -p 'nightly quality check' --bare" >> /var/log/nightly.log 2>&1
שימו לב לדגלים: -p מפעיל headless mode (בלי ממשק אינטראקטיבי), --bare מדלג על hooks, LSP, plugins — התחלה מהירה. זה מה שלמדנו בפרק 1 — עכשיו אנחנו מפעילים את זה מרחוק.
Pattern 2: Interactive Session — עבודה אינטראקטיבית
# SSH עם -t (terminal allocation) — חובה ל-interactive mode
ssh -t deploy@server "cd /project && claude"
# עכשיו אתם בתוך Claude Code interactive mode
# על השרת — לא על הלפטופ
# כל הקבצים, ה-git, וה-Docker הם של השרת
הדגל -t קריטי — הוא מקצה pseudo-terminal כך ש-Claude Code יכול להציג ממשק אינטראקטיבי. בלעדיו תקבלו שגיאה.
Pattern 3: Persistent Session — tmux
# צרו session בשם "pipeline" על השרת
ssh deploy@server "tmux new-session -d -s pipeline 'cd /project && claude'"
# התנתקו מ-SSH — ה-session ממשיך לרוץ
exit
# שעה אחרי — התחברו בחזרה ובדקו סטטוס
ssh -t deploy@server "tmux attach -t pipeline"
# או: השתמשו ב-Remote Control מהנייד 📱
# claude.ai/code -> ה-session מופיע חי
tmux הוא הכלי שמשנה את הכל. הסוכן ממשיך לרוץ גם כשאתם מנותקים מ-SSH. שילוב של tmux + Remote Control נותן את חוויית העבודה הטובה ביותר: התחילו משימה ארוכה על השרת, התנתקו, עקבו מהנייד, התחברו בחזרה כשצריך להתערב.
| הצורך | הפתרון | דוגמה |
|---|---|---|
| משימה חד-פעמית מהירה | SSH + claude -p --bare |
"הריצו טסטים", "בדקו logs" |
| עבודה אינטראקטיבית | SSH -t + claude |
debugging, code review, פיתוח |
| משימה ארוכה (שעות) | tmux + Remote Control | migration, pipeline רב-שלבי, batch processing |
| ניטור מהנייד | Remote Control | מעקב אחרי pipeline שרץ, אישור שלבים |
| העברת קבצים + עיבוד | scp + claude -p |
העלאת dataset, עיבוד על השרת, הורדת תוצאות |
כשאתם מריצים Claude Code על שרת, אל תשימו SSH private keys בנתיב שהסוכן יכול לקרוא. אם הסוכן קורא קובץ שמכיל prompt injection — הוא עלול לנסות לקרוא את ה-SSH keys שלכם. השתמשו ב-SSH agent forwarding (ssh -A) או ב-deploy keys ספציפיים שמוגבלים ל-repo אחד. גם ה-sandbox המובנה של Claude Code חוסם גישה ל-~/.ssh — אל תבטלו את זה.
SSH Configuration — טיפים מעשיים
הגדרת ~/.ssh/config חוסכת הקלדה חוזרת ומאפשרת חיבור מהיר:
# ~/.ssh/config
Host claude-server
HostName your-server.com
User deploy
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes
ServerAliveInterval 60
ServerAliveCountMax 3
# עכשיו במקום:
# ssh -t -A [email protected]
# פשוט:
# ssh -t claude-server
ServerAliveInterval 60 שולח ping כל 60 שניות — מונע ניתוק בזמן שהסוכן עובד. ServerAliveCountMax 3 מתנתק אחרי 3 pings שלא נענו (3 דקות ללא תגובה). ForwardAgent yes מעביר את ה-SSH agent שלכם לשרת — כך שהסוכן יכול לעשות git push בלי שה-private key נמצא על השרת.
Latency: Claude Code מעל SSH מוסיף כ-10-50ms לכל tool call — זניח לחלוטין. ה-bottleneck הוא תמיד ה-API, לא ה-SSH. אתם לא תרגישו הבדל. שרת ב-Hetzner Falkenstein (גרמניה) נותן latency של כ-50-70ms מישראל — מצוין לעבודה מרחוק.
אם יש לכם שרת: נסו את Pattern 1 — ssh user@server "claude -p 'what OS am I running on?' --bare". אם אין לכם שרת: פתחו tmux session מקומי (tmux new -s test), הריצו Claude Code בפנים, התנתקו (Ctrl+B, D), ושחזרו (tmux attach -t test).
זמן: 30-45 דקות | תוצר: Docker Compose configuration מוכן לפריסה
בנו Docker Compose setup מלא ל-Claude Code pipeline:
- צרו Dockerfile שמתקין Claude Code CLI, Python, Node.js, ומגדיר non-root user
- צרו docker-compose.yml עם: service בשם
claude-pipeline, memory limit של 4GB, CPU limit של 2, volumes לקוד (read-only) ולפלט (read-write) - הוסיפו init-firewall.sh שחוסם הכל חוץ מ-api.anthropic.com
- צרו .env file (רק מקומית — לעולם אל תעלו ל-git) עם ANTHROPIC_API_KEY
- הוסיפו healthcheck ל-docker-compose:
claude -p "echo healthy" --bare - בדקו:
docker compose up, הריצו פקודת Claude Code, ודאו שהפלט מגיע לתיקיית output - הריצו את ה-Security Checklist (7 הפריטים מלמעלה) ותקנו כל פריט שלא עובר
Docker Compose לדוגמה:
version: '3.8'
services:
claude-pipeline:
build: .
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
volumes:
- ./src:/project/src:ro
- ./output:/project/output
- ./prompts:/project/prompts:ro
deploy:
resources:
limits:
memory: 4G
cpus: '2'
healthcheck:
test: ["CMD", "claude", "-p", "echo ok", "--bare"]
interval: 60s
timeout: 30s
retries: 3
תוצר: תיקיית Docker deployment שלמה — Dockerfile, docker-compose.yml, init-firewall.sh, .env.example. מוכן ל-docker compose up על כל שרת.
בונוס: הוסיפו .env.example ל-repo (בלי ערכים אמיתיים) כך שמפתחים חדשים ידעו אילו משתנים צריך:
# .env.example — DO NOT put real values here
ANTHROPIC_API_KEY=sk-ant-your-key-here
PIPELINE_OUTPUT_DIR=./output
LOG_LEVEL=info
בדקו ש-.env נמצא ב-.gitignore שלכם. אם לא — הוסיפו אותו עכשיו: echo ".env" >> .gitignore. API keys שנדחפים ל-GitHub הם אסון — GitHub מסרקת repos ציבוריים ומבטלת מפתחות שנחשפו, אבל repos פרטיים לא נסרקים.
ספקי ענן — Bedrock, Vertex, Foundry
עד עכשיו עבדנו ישירות מול ה-API של Anthropic — עם ANTHROPIC_API_KEY. זה מצוין למפתחים בודדים ולצוותים קטנים. אבל ארגונים גדולים צריכים משהו אחר: בילינג מרכזי (לא 50 API keys אישיים), data residency (הנתונים נשארים ב-AWS/GCP שלכם), compliance (SOC 2, HIPAA, GDPR), ו-אינטגרציה עם IAM (Identity and Access Management).
שלושה ספקי ענן תומכים ב-Claude Code:
Amazon Bedrock
# הגדרה חד-פעמית
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_PROFILE=my-org-profile
# אם משתמשים ב-role:
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-1:123456789:inference-profile/my-profile'
# עכשיו claude עובד דרך AWS Bedrock
claude -p "analyze this code" --bare
Bedrock inference profiles מאפשרים לנתב לגרסאות מודל ספציפיות דרך ARN. השתמשו ב-modelOverrides ב-settings.json כדי למפות את שמות המודלים ל-ARN-ים.
Google Vertex AI
# הגדרה חד-פעמית
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-central1
export ANTHROPIC_VERTEX_PROJECT_ID=my-gcp-project
# אם משתמשים ב-service account:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# עכשיו claude עובד דרך GCP Vertex AI
claude -p "review this PR" --bare
Azure AI Foundry
# הגדרה חד-פעמית
export CLAUDE_CODE_USE_FOUNDRY=1
# הגדירו Azure credentials בהתאם לתיעוד
# עכשיו claude עובד דרך Azure
claude -p "generate report" --bare
modelOverrides — מיפוי מודלים לספקי ענן
אם הארגון שלכם משתמש ב-Bedrock inference profiles עם ARN-ים מותאמים, או רוצה למפות שמות מודלים ספציפיים, השתמשו ב-modelOverrides ב-settings.json:
// .claude/settings.json
{
"modelOverrides": {
"opus": "arn:aws:bedrock:us-east-1:123456789:inference-profile/my-opus-profile",
"sonnet": "arn:aws:bedrock:us-east-1:123456789:inference-profile/my-sonnet-profile"
}
}
עכשיו כשמפתח מחליף מודל עם /model ובוחר "opus" — הוא מנותב אוטומטית ל-Bedrock ARN שהגדרתם. זה שקוף לחלוטין למפתח — הוא לא צריך לדעת שמדובר ב-Bedrock.
חברות ביטוח ופיננסים ישראליות, שכפופות לרגולציה של רשות שוק ההון, בדרך כלל מחויבות לשמור נתונים בשרתים בתוך אזור גאוגרפי מוגדר. Bedrock עם AWS region eu-west-1 (אירלנד) או Vertex עם GCP region europe-west1 (בלגיה) הם הבחירות הנפוצות — קרוב לישראל, תואמים GDPR, ועם latency סביר. חלק מהחברות הישראליות הגדולות (Check Point, CyberArk, Wiz) כבר מריצות workloads של AI דרך ספקי ענן אלה.
WebSearch ו-WebFetch זמינים רק בחיבור ישיר ל-API של Anthropic — לא דרך Bedrock, Vertex, או Foundry. אם ה-pipeline שלכם משתמש בחיפוש אינטרנט — שימו לב. בנוסף, ניתוב דרך ספק ענן מוסיף 50-200ms latency לכל קריאה. לרוב ה-use cases זה זניח, אבל ל-real-time applications זה רלוונטי.
| אם... | אז... |
|---|---|
| יש דרישת data residency (GDPR, תקנות ישראליות) | ספק ענן — הנתונים נשארים באזור שלכם |
| יש הסכם enterprise עם AWS/GCP/Azure | ספק ענן — בילינג מרכזי, הנחות כמות |
| צריכים SOC 2 / HIPAA / GDPR compliance | ספק ענן — הסמכות קיימות |
| צריכים WebSearch / WebFetch | API ישיר — לא זמין דרך ספקי ענן |
| צוות קטן, בלי דרישות compliance | API ישיר — פשוט, מהיר, פחות הגדרות |
| צריכים latency מינימלי | API ישיר — חוסך 50-200ms לקריאה |
אם הארגון שלכם עובד עם ספק ענן, הגדירו את המשתנים ב-~/.claude/settings.json ברמה הגלובלית — כך כל פרויקט משתמש אוטומטית בספק הנכון. לא צריך להגדיר מחדש לכל פרויקט.
בדקו: האם לארגון שלכם יש הסכם עם AWS, GCP, או Azure? אם כן — זה ספק הענן שתשתמשו בו. אם לא — API ישיר של Anthropic הוא הבחירה הנכונה. רשמו את ההחלטה — נצטרך אותה בתרגיל האימוץ הארגוני.
Enterprise — מדיניות מנוהלת וניהול ארגוני
לארגונים גדולים (50+ מפתחים), Anthropic מציעים Enterprise plan שנותן שליטה מלאה על Claude Code ברמת הארגון. זה מה שמאפשר אימוץ בטוח — לא 50 מפתחים שכל אחד עושה מה שהוא רוצה, אלא מערכת מנוהלת עם כללים, לוגים, ותקציבים.
Managed Policies — מדיניות שלא עוקפים
מנהלי מערכת מגדירים managed policies — כללים שהמשתמש לא יכול לעקוף. ה-hierarchy:
Enterprise Managed Policy ← הגבוה ביותר, לא ניתן לעקיפה
↓
User Allow Rules ← לא יכולים לעקוף managed deny
↓
Project Settings ← .claude/settings.json
↓
Defaults ← ברירות מחדל של Claude Code
דוגמאות למדיניות מנוהלת:
- חובת code review לפני commit: hooks שמונעים commit ישיר — כל שינוי עובר PR
- חסימת פקודות מסוכנות:
rm -rf,DROP TABLE,git push --forceחסומות ברמת הארגון - חובת MCP servers ספציפיים: כל session חייב לטעון את שרת ה-logging של הארגון
- CLAUDE.md ארגוני: קובץ CLAUDE.md שנטען אוטומטית בכל session — סטנדרטים, קונבנציות, כללי אבטחה
CLAUDE.md ארגוני — סטנדרטים מרוכזים
אחת היכולות החזקות ביותר של managed policies היא CLAUDE.md ארגוני שנטען אוטומטית בכל session של כל מפתח. דמיינו קובץ שמגדיר:
# Organizational CLAUDE.md (managed, non-overridable)
## Code Standards
- All new code MUST include unit tests (minimum 80% coverage)
- Follow ESLint config from .eslintrc.json — no exceptions
- Hebrew comments for user-facing code, English for infrastructure
- Never use `console.log` in production code — use structured logger
## Security
- Never hardcode secrets — use environment variables or vault
- All API calls MUST go through the company API gateway
- PII must be masked before logging
## Review Process
- Every change requires PR with at least one human reviewer
- Auto-generated code MUST be tagged with [AI-GENERATED] in PR description
המפתח לא יכול לעקוף את הכללים האלה — הם נטענים ברמת הארגון, מעל כל CLAUDE.md אישי או של פרויקט. זה מה שהופך אימוץ ארגוני לבטוח.
Audit Logging — לוגים לכל פעולה
כל פעולה שכל מפתח מריץ דרך Claude Code נרשמת: איזה כלי הופעל, אילו קבצים נקראו, איזו פקודה הורצה, מה היה ה-output. זה קריטי ל-compliance — אם מבקר שואל "מי שינה את הקובץ הזה ומתי" — התשובה קיימת. ב-Enterprise plan, הלוגים מרוכזים ב-dashboard אחד — מנהל הפיתוח רואה את כל הפעילות של כל הצוות.
דוגמה לרשומת audit: "User: [email protected] | Tool: Bash | Command: npm run test | Files read: 12 | Timestamp: 2026-03-24T14:32:00Z | Duration: 45s | Cost: $0.12". מידע כזה מאפשר לזהות patterns — מי משתמש הכי הרבה? על איזה פרויקטים? מה העלות הממוצעת לסשן?
SSO — חיבור למערכת ההזדהות הארגונית
במקום 50 API keys אישיים, כל מפתח מתחבר עם חשבון הארגון שלו (SAML או OIDC). בורד — החשבון מבוטל, הגישה נחסמת מייד. לא צריך לזכור לבטל API key.
ניהול עלויות
| יכולת | מה זה עושה |
|---|---|
| Centralized Billing | חשבונית אחת לכל הארגון, לא 50 חשבונות נפרדים |
| Per-Team Budgets | תקציב לכל צוות — כשנגמר, נחסם |
| Per-User Quotas | מכסה למפתח — מונע ניצול חריג |
| Usage Dashboard | דשבורד שמראה שימוש בזמן אמת — מי, כמה, על מה |
חשבו על הארגון שלכם: מה 3 הכללים שהייתם רוצים לכפות על כל מי שמשתמש ב-Claude Code? (למשל: "חובה לעשות code review", "אסור למחוק קבצי production", "חובה לתעד prompts".) רשמו אותם — אלה יהפכו ל-managed policies בתרגיל האימוץ הארגוני.
Cowork — Claude Code לצוותים לא-טכניים
Cowork (השיק בינואר 2026) הוא Claude Code בלי ה-Code. אפליקציית דסקטופ שנותנת את היכולות של Claude Code — גישה לקבצים, sub-agents, מחקר אינטרנט — אבל בלי טרמינל, בלי CLI, בלי git. מיועד לאנשים שאינם מפתחים.
מה Cowork יכול לעשות:
- פעולות על קבצים: קריאה, כתיבה, ארגון של קבצים ותיקיות
- יצירת מסמכים: Excel, PowerPoint, CSV, PDF — מקובץ נתונים גולמי למסמך מוכן
- Sub-agents: פירוק משימות מורכבות לתת-משימות שרצות במקביל
- מחקר אינטרנט: חיפוש, סיכום, השוואה
מה Cowork לא יכול לעשות:
- אין טרמינל: לא מריץ shell commands
- אין git: לא מנהל version control
- אין Docker: לא יוצר containers
דוגמאות שימוש בפועל
| תפקיד | משימה ב-Cowork | התוצר |
|---|---|---|
| מנהלת מוצר | "קראי את 15 ה-tickets הפתוחים ב-JIRA export וצרי סיכום פרויקט ב-Excel" | קובץ Excel עם סטטוס, עדיפויות, ותמצית לכל ticket |
| מעצב UX | "ארגן את כל ה-PNG files ב-design-assets לפי flow ושנה שמות" | תיקיות מאורגנות עם naming convention אחיד |
| משווקת דיגיטלית | "קחי את ה-CSV של הקמפיינים ובני דו"ח ביצועים ב-PowerPoint" | מצגת עם גרפים, המלצות, ו-action items |
| צוות HR | "השווה בין 3 CV-ים ובנה טבלת השוואה" | מסמך השוואה מובנה עם ציונים לכל קריטריון |
Cowork הוא ב-research preview — זמין למנויי Max על macOS. הוא עדיין לא תומך ב-Windows או Linux, ואין CLI mode. צפו לתמיכה רחבה יותר במהלך 2026. אם הצוות שלכם משתמש ב-Windows — בדקו שוב בעדכון הבא.
למה זה חשוב לפרק הזה? כי אימוץ ארגוני של Claude Code לא מוגבל למפתחים. מנהלת המוצר יכולה להשתמש ב-Cowork ליצירת specs. המעצב יכול לארגן assets. המשווקת יכולה ליצור חומרי קמפיין. כולם באותו פרויקט — המפתחים עם Claude Code CLI, שאר הצוות עם Cowork.
| תפקיד | כלי | הסיבה |
|---|---|---|
| מפתחים (backend/frontend/DevOps) | Claude Code CLI | גישה מלאה: טרמינל, git, Docker, SSH, agents |
| Power Users (tech leads, QA) | Claude Code — VS Code Extension | כוח של CLI + נוחות של IDE |
| צוותים לא-טכניים (PM, Design, Marketing) | Cowork | יכולות AI בלי טרמינל — קבצים, מסמכים, מחקר |
| כולם | Remote Control | מעקב אחרי sessions, אישורים, ניטור מהנייד |
בחברות ישראליות רבות, הצוותים קטנים ומעורבים — PM שגם כותב specs, מעצב שגם מפתח frontend, CTO שגם כותב קוד. ההפרדה בין "טכני" ו-"לא-טכני" לא תמיד חדה. Cowork מאפשר לאנשים לעבוד ברמה שנוחה להם — מי שרוצה CLI יקבל CLI, מי שרוצה ממשק גרפי יקבל Cowork. הם עובדים על אותם קבצים.
חשבו על הצוות שלכם: מי ירוויח מ-Cowork? רשמו 2-3 שמות (או תפקידים). אלה יהיו חלק מתוכנית האימוץ הארגוני בתרגיל הבא.
אימוץ ארגוני — שלב אחר שלב
הטעות הנפוצה ביותר: "בואו ניתן לכולם גישה ל-Claude Code ונראה מה קורה." מה שקורה: בלגן, עלויות לא צפויות, חששות אבטחה, ואנשים שמתאכזבים כי הם לא יודעים להשתמש. אימוץ ארגוני דורש תכנון.
Phase 1: Pilot (2-4 שבועות)
| פריט | פרטים |
|---|---|
| מי | 2-5 מפתחים שמתנדבים, על פרויקט לא-קריטי |
| מה | שימוש חופשי ב-Claude Code על פרויקט אחד, תיעוד של חוויה |
| מדידה | זמן ל-PR, זמן ל-feature, שביעות רצון מפתח (סקר), עלות API |
| תקציב | $50-200 לחודש (API keys אישיים) |
| תוצר | דו"ח פיילוט: מה עובד, מה לא, ROI ראשוני, המלצות |
Phase 2: Team Adoption (1-2 חודשים)
| פריט | פרטים |
|---|---|
| מי | צוות שלם (8-15 מפתחים) |
| מה | CLAUDE.md משותף, settings.json סטנדרטי, hooks, skills, CI/CD integration |
| מדידה | before/after: זמן ל-PR, rate של code review, שגיאות בפרודקשן |
| הכשרה | סדנת 2-3 שעות (קורס 1: בסיסי), תרגול מעשי, buddy system |
| תקציב | Team plan או API keys מרכזיים |
Phase 3: Organization-Wide (2-3 חודשים)
| פריט | פרטים |
|---|---|
| מי | כל הארגון — מפתחים (CLI), Power Users (VS Code), לא-טכניים (Cowork) |
| מה | Enterprise plan, managed policies, SSO, centralized billing, audit logs |
| מדידה | ROI ארגוני: productivity gains, cost savings, developer satisfaction |
| הכשרה | קורס 1 (בסיסי) לכולם, קורס 3 (Power User) למפתחים, קורס 4 (Production) ל-DevOps |
| תקציב | Enterprise plan + ספק ענן (Bedrock/Vertex) |
ארגונים שאימצו Claude Code מדווחים על: ירידה של 30-60% בזמן למשימות שגרתיות, מהירות code review פי 2-3, ושיפור משמעותי ב-developer satisfaction. Claude Code הגיע ל-$2.5 מיליארד annualized run-rate בפברואר 2026 — מה שמעיד על אימוץ מסיבי בתעשייה. (מקורות: Anthropic, הערכות שוק)
Change Management — ניהול שינוי
שלושת החששות הנפוצים ואיך לטפל בהם:
| חשש | תשובה |
|---|---|
| "AI יחליף אותנו" | Claude Code מגביר מפתחים, לא מחליף. הוא מטפל במשימות שגרתיות — כתיבת boilerplate, בדיקות, תיעוד — כך שהמפתח מתמקד בארכיטקטורה, עיצוב, וקבלת החלטות |
| "איכות הקוד תרד" | Claude Code הוא כלי, לא תחליף ל-code review. managed policies כופות review לפני כל commit. בדיוק כמו IDE — הוא כותב, אתם בודקים |
| "בעיות אבטחה" | Sandbox מובנה, Docker isolation, firewall, managed policies, audit logs. עם ההגדרות הנכונות, Claude Code בטוח יותר מהעתק-הדבק מ-StackOverflow |
מדדי הצלחה — איך יודעים שזה עובד?
"אנחנו משתמשים ב-Claude Code" זה לא מדד. אתם צריכים מספרים שמראים שזה שווה את ההשקעה:
| מדד | איך מודדים | יעד |
|---|---|---|
| זמן ממוצע ל-PR | GitHub metrics — משך מ-issue open ל-PR merged | ירידה של 30%+ |
| שביעות רצון מפתחים | סקר שבועי (1-5), שאלה אחת: "כמה Claude Code עזר לך השבוע?" | ממוצע 4+ מתוך 5 |
| שגיאות בפרודקשן | ספירת bugs שנמצאו ב-staging/prod לפני ואחרי אימוץ | ירידה של 20%+ |
| עלות API חודשית | Dashboard של Anthropic או ספק הענן | ROI חיובי — חיסכון בשעות > עלות API |
| אימוץ פעיל | % מפתחים שהשתמשו ב-Claude Code לפחות 3 פעמים בשבוע | 70%+ בתוך 3 חודשים |
בחרו 2 מדדים מהטבלה שמתאימים לארגון שלכם. רשמו מה ה-baseline הנוכחי (לפני Claude Code) — זה ה-"before" שתשוו אליו. אם אין לכם baseline — תתחילו למדוד היום, לפני שמפעילים פיילוט.
זמן: 45-60 דקות | תוצר: מסמך תוכנית אימוץ ב-3 שלבים
- מפו את הארגון שלכם: כמה מפתחים? כמה צוותים? יש ספק ענן? יש דרישות compliance? יש SSO?
- הגדירו Phase 1 (Pilot): מי המפתחים? איזה פרויקט? מה המדדים? מה התקציב?
- הגדירו Phase 2 (Team): צרו CLAUDE.md משותף לצוות, settings.json עם permissions, ו-3 hooks (לפחות: pre-commit formatting, blocked commands, logging)
- הגדירו Phase 3 (Organization): איזה enterprise features צריך? מי מקבל CLI, מי Cowork? מה ה-managed policies?
- הוסיפו תוכנית הכשרה: מה כל אוכלוסייה לומדת? מתי? בן כמה שעות?
- הוסיפו ROI projection: מה העלות (plans + API + זמן הכשרה) מול החיסכון (זמן שנחסך * עלות שעת מפתח)?
- כתבו מסמך אחד שמסכם הכל — זה מה שתציגו להנהלה
תוצר: מסמך "תוכנית אימוץ Claude Code" — שלושה שלבים, לו"ז, תקציב, מדדי הצלחה, ותוכנית הכשרה.
זמן: 45-60 דקות | תוצר: Pipeline שרץ ב-Docker על VPS עם monitoring ו-Remote Control
בתרגיל הזה אתם מחברים את כל מה שלמדנו בקורס — מ-headless mode (פרק 1), דרך CI/CD (פרק 2), SDK (פרק 3-4), agents ו-teams (פרק 5), pipelines (פרק 6), ועד Docker ו-VPS (פרק הזה).
- בחרו pipeline מפרק 6 שבניתם — content pipeline, code review pipeline, או כל pipeline רב-שלבי. ודאו שהוא עובד מקומית עם
claude -p - Dockerize: צרו Dockerfile, docker-compose.yml, ו-init-firewall.sh. הריצו מקומית ב-Docker — ודאו שהתוצאות זהות
- הגדירו security: עיברו על 7 כללי האבטחה. ודאו: non-root user, resource limits, source code read-only, firewall פעיל, אין Docker socket. הריצו
docker inspectובדקו - פרסו ל-VPS: העתיקו את הקבצים לשרת (
scpאוgit push). התקינו Docker, הריצוdocker compose up -d - הגדירו Systemd service עם
Restart=on-failure,RestartSec=30, ו-StartLimitBurst=5. הפעילו:sudo systemctl enable --now claude-pipeline - הגדירו monitoring: healthcheck script שבודק כל 5 דקות, התראות ל-Slack או email. בדקו עם
docker stopשההתראה מגיעה - חברו Remote Control: פתחו
claude.ai/codeבטלפון. ודאו שאתם רואים את ה-session שרץ על ה-VPS. נסו לשלוח הוראה מהנייד - בדקו resilience: עצרו את ה-container (
docker stop). תוך 30 שניות — Systemd צריך להפעיל מחדש. בדקו ב-journalctl -u claude-pipeline
תוצר: pipeline שרץ 24/7 על שרת מרוחק — עם Docker isolation, security hardening, monitoring, auto-restart, ו-Remote Control מהנייד. זהו ה-deliverable המרכזי של הקורס כולו.
Compliance ושליטה על מידע
אם אתם עובדים בארגון רגולטורי — פיננסים, בריאות, ממשלה, או כל תחום עם דרישות פרטיות — יש כמה נקודות שחייבים לדעת לפני שמפרסים Claude Code.
Data Residency — איפה הנתונים?
כשאתם משתמשים ב-API ישיר, הנתונים עוברים לשרתי Anthropic (בדרך כלל ב-US). עם Bedrock (AWS) או Vertex (GCP), הנתונים נשארים באזור שבחרתם — EU, US-East, Asia-Pacific. זה קריטי לעמידה ב-GDPR, ולדרישות רגולטוריות ישראליות.
Data Retention — כמה זמן נשמר?
שיחות מוחזקות כ-checkpoints למשך 30 יום כברירת מחדל. בדקו את מדיניות ה-data retention העדכנית של Anthropic — היא עשויה להשתנות. ב-Enterprise plan ניתן להגדיר retention policies מותאמות.
PII Handling — מידע אישי מזהה
# ב-CLAUDE.md — הוסיפו הנחיה ברורה:
## Data Privacy
- NEVER include PII (names, emails, phone numbers, IDs) in outputs
- When processing user data, anonymize before sending to API
- Log PII incidents immediately
# ב-hooks — redaction אוטומטי:
# PreToolUse hook that strips PII patterns from prompts
Compliance Certifications
| תקן | זמינות | הערות |
|---|---|---|
| SOC 2 Type II | Enterprise plan | בדיקת אבטחה וזמינות |
| GDPR | Bedrock/Vertex + EU region | Data residency באירופה |
| HIPAA | Enterprise plan (BAA נדרש) | לנתוני בריאות — צרו BAA מול Anthropic |
| ISO 27001 | בבדיקה | בדקו סטטוס עדכני עם Anthropic |
חוק הגנת הפרטיות הישראלי
מעבר ל-GDPR ו-SOC 2, חברות ישראליות כפופות לחוק הגנת הפרטיות, התשמ"א-1981 ולתקנות אבטחת מידע (2017). הנקודות הרלוונטיות ל-Claude Code:
- סיווג מאגרי מידע: אם הנתונים שהסוכן מעבד כוללים מידע אישי (שמות, ת.ז., כתובות) — צריך לוודא שהמאגר רשום אצל הרשם. העברת נתונים לשרתי Anthropic ב-US עשויה להיחשב כ"העברה לחו"ל" שדורשת הסכמה מפורשת או עמידה בתנאי התקנות
- אמצעי אבטחה: התקנות מחייבות "אמצעים סבירים" להגנה על המידע. Docker isolation, firewall, encryption in transit, ו-audit logging נחשבים אמצעים סבירים
- בדיקות חדירה: תקנות אבטחת מידע ברמה גבוהה מחייבות בדיקות חדירה תקופתיות — כולל לסביבות AI
היכנסו לאתר הרשות להגנת הפרטיות ובדקו: האם מאגרי המידע שלכם רשומים? האם יש לכם DPA (Data Processing Agreement) עם כל ספקי ה-AI? אם לא בטוחים — סמנו את זה כמשימה לצוות המשפטי.
Air-Gapped Environments — סביבות מנותקות
לרמת האבטחה הגבוהה ביותר: הריצו Claude Code דרך ספק ענן (Bedrock/Vertex) בתוך VPC ללא גישה לאינטרנט. הנתונים לא יוצאים מהרשת שלכם — כל התקשורת עוברת דרך private endpoints. זה רלוונטי במיוחד לחברות ביטחוניות ופיננסיות בישראל שעובדות עם מידע מסווג.
# AWS — VPC Endpoint ל-Bedrock
aws ec2 create-vpc-endpoint \
--vpc-id vpc-12345 \
--service-name com.amazonaws.us-east-1.bedrock-runtime \
--vpc-endpoint-type Interface \
--security-group-ids sg-12345
# עכשיו ה-traffic לא עובר דרך האינטרנט — הכל פנימי ב-AWS
Audit Trails — מסלול ביקורת
ב-Enterprise plan, כל פעולה נרשמת: כל tool call, כל גישה לקובץ, כל פקודת shell. אם מבקר שואל "מי גרם לשינוי הזה בקוד" — יש רשומה מלאה עם timestamp, user ID, ופרטי הפעולה.
לפני פריסת Claude Code בסביבה רגולטורית, בקשו מצוות ה-compliance שלכם לבדוק את ה-Data Processing Agreement (DPA) של Anthropic. המצב מתעדכן — מה שנכון היום עשוי להשתנות. גם אם האמרנו "Enterprise plan כולל SOC 2" — וודאו בעצמכם שזה עדיין תקף לגרסה הנוכחית.
בדקו: האם לארגון שלכם יש דרישות GDPR? SOC 2? HIPAA? רגולציה ישראלית ספציפית (חוק הגנת הפרטיות)? רשמו את הדרישות — נצטרך אותן בתוכנית האימוץ. אם אתם לא בטוחים — שאלו את ה-CISO או את היועץ המשפטי.
זוהי השגרה המאוחדת של כל הקורס. היא כוללת את הפרקים הקודמים: headless runs ו-CLI (פרק 1), CI/CD checks (פרק 2), SDK testing (פרקים 3-4), agent team coordination (פרק 5), pipeline monitoring (פרק 6). הוסיפו את המשימות הבאות מעל השגרות הקיימות:
| תדירות | משימה | פרטים |
|---|---|---|
| יומי | בדקו container health | docker ps — כל ה-containers רצים? healthcheck עובר? Restart count נמוך? |
| יומי | סקירת audit logs | בדקו פעולות חריגות — פקודות שנחסמו, ניסיונות גישה לא מורשים, שגיאות |
| יומי | בדקו עלויות API | שימוש בתקציב — חריגה? צוות שצורך יותר מדי? endpoint יקר? |
| שבועי | עדכון Docker images | סרקו images עם trivy או docker scout — vulnerabilities חדשות? |
| שבועי | ביקורת security checklist | 7 הפריטים: no socket, read-only, limits, non-root, firewall, env vars, scan |
| שבועי | סקירת managed policies | צריך לעדכן כללים? חסימות חדשות? policies שמפריעים? |
| חודשי | סקירת ROI וביצועים | before/after: זמן ל-PR, עלויות, שביעות רצון. עדכנו הנהלה |
| חודשי | עדכון compliance docs | DPA עדכני? הסמכות תקפות? retention policy בתוקף? |
| חודשי | בדיקת גרסאות | Claude Code CLI, SDK, Docker base images — עדכנו אחרי בדיקה |
צרו תיקיית .devcontainer/ עם שלושת הקבצים (devcontainer.json, Dockerfile, init-firewall.sh), עשו git add .devcontainer/ && git commit, ושלחו ל-repo. מהרגע הזה, כל מי שמצטרף לפרויקט מקבל סביבת Claude Code מוכנה ומאובטחת ב-5 דקות. זה הדבר שנותן את ה-ROI הגבוה ביותר — onboarding מהיר, סביבה אחידה, אבטחה מובנית.
ענו על לפחות 4 מתוך 5 כדי לעבור:
- למה חיבור Docker socket (
/var/run/docker.sock) לקונטיינר הוא מסוכן, ומה הסוכן יכול לעשות איתו?
(רמז: Docker socket = גישה ל-Docker daemon = יכולת ליצור containers עם root access) - מה ההבדל בין שלושת ה-SSH patterns — remote execution, interactive, ו-persistent — ומתי כל אחד עדיף?
(רמז: -p --bare לפקודה אחת, -t לאינטראקטיבי, tmux למשימה ארוכה שלא תלויה בחיבור) - למה ארגון גדול ישתמש בספק ענן (Bedrock/Vertex) במקום API ישיר, ומה הוא מפסיד?
(רמז: data residency, compliance, billing מרכזי — אבל מפסיד WebSearch, מוסיף latency) - איך managed policies שונות מ-settings.json רגיל, ולמה ארגונים צריכים אותן?
(רמז: managed policy לא ניתנת לעקיפה, settings.json רגיל ניתן. ארגון צריך כללים שאף אחד לא יכול לשנות) - מה ההבדל בין Claude Code CLI ל-Cowork, ולמה ארגון צריך את שניהם?
(רמז: CLI למפתחים עם טרמינל ו-git, Cowork לצוותים לא-טכניים עם קבצים ומסמכים — אימוץ ארגוני מלא)
הפרק הזה לקח את כל מה שבנינו בקורס — headless scripts, pipelines, סוכנים, צוותים — והעביר אותם מ-"הלפטופ שלי" ל-"כל מקום". התובנה המרכזית: Docker לא רק מייצר reproducibility — הוא שכבת אבטחה קריטית שמאפשרת להריץ Claude Code בפרודקשן בביטחון (7 כללי אבטחה שצריך לזכור). SSH + tmux + Remote Control נותנים חוויית עבודה מרחוק שהיא טובה כמו מקומית. ספקי ענן (Bedrock/Vertex/Foundry) פותחים את הדלת לארגונים עם דרישות compliance — data residency, audit trails, SSO. ואימוץ ארגוני מוצלח הוא לא "לתת לכולם גישה" — הוא תהליך מובנה של 3 שלבים עם מדידה, הכשרה, ו-change management. בפרק הבא נסתכל קדימה — לאן Claude Code הולך, מה מגמות ה-AI-First Development, ואיך לבנות מערכות שישרדו שינוי.
- ☐ התקנתי Docker ובדקתי עם
docker run hello-world - ☐ יצרתי תיקיית
.devcontainer/עם devcontainer.json, Dockerfile, ו-init-firewall.sh - ☐ פתחתי פרויקט ב-VS Code Dev Container ובדקתי שעובד
- ☐ עברתי על 7 כללי אבטחת Docker ובדקתי container קיים
- ☐ בניתי Docker Compose configuration ל-Claude Code pipeline
- ☐ ניסיתי להריץ Claude Code דרך SSH (לפחות Pattern 1)
- ☐ התנסיתי ב-tmux session (מקומי או על שרת)
- ☐ בדקתי איזה ספק ענן הארגון שלי משתמש בו (AWS/GCP/Azure/ישיר)
- ☐ רשמתי 3 managed policies שהייתי רוצה לכפות בארגון
- ☐ זיהיתי 2-3 אנשים בצוות שירוויחו מ-Cowork
- ☐ כתבתי תוכנית אימוץ ארגוני ב-3 שלבים
- ☐ בדקתי דרישות compliance רלוונטיות (GDPR, SOC 2, HIPAA)
- ☐ הגדרתי שגרת עבודה מאוחדת — יומי, שבועי, חודשי
- ☐ עשיתי commit ל-
.devcontainer/ב-repo של הפרויקט