6 6
7> AWS 인증, IAM 액세스 제어 및 AWS Marketplace 청구를 사용하여 Anthropic 운영 Claude API를 사용하도록 Claude Code를 구성합니다.7> AWS 인증, IAM 액세스 제어 및 AWS Marketplace 청구를 사용하여 Anthropic 운영 Claude API를 사용하도록 Claude Code를 구성합니다.
8 8
9export const ContactSalesCard = ({surface}) => {
10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;
11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
12 <line x1="5" y1="12" x2="19" y2="12" />
13 <polyline points="12 5 19 12 12 19" />
14 </svg>;
15 const STYLES = `
16.cc-cs {
17 --cs-slate: #141413;
18 --cs-clay: #d97757;
19 --cs-clay-deep: #c6613f;
20 --cs-gray-000: #ffffff;
21 --cs-gray-700: #3d3d3a;
22 --cs-border-default: rgba(31, 30, 29, 0.15);
23 font-family: inherit;
24}
25.dark .cc-cs {
26 --cs-slate: #f0eee6;
27 --cs-gray-000: #262624;
28 --cs-gray-700: #bfbdb4;
29 --cs-border-default: rgba(240, 238, 230, 0.14);
30}
31.cc-cs-card {
32 display: flex; align-items: center; justify-content: space-between;
33 gap: 16px; padding: 14px 16px; margin: 0;
34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);
35 border-radius: 8px; flex-wrap: wrap;
36}
37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }
38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }
39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
40.cc-cs-btn-clay {
41 display: inline-flex; align-items: center; gap: 8px;
42 background: var(--cs-clay-deep); color: #fff; border: none;
43 border-radius: 8px; padding: 8px 14px;
44 font-size: 13px; font-weight: 500;
45 transition: background-color 0.15s; white-space: nowrap;
46}
47.cc-cs-btn-clay:hover { background: var(--cs-clay); }
48.cc-cs-btn-ghost {
49 display: inline-flex; align-items: center; gap: 8px;
50 background: transparent; color: var(--cs-gray-700);
51 border: 0.5px solid var(--cs-border-default);
52 border-radius: 8px; padding: 8px 14px;
53 font-size: 13px; font-weight: 500;
54}
55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }
57@media (max-width: 720px) {
58 .cc-cs-actions { width: 100%; }
59}
60`;
61 return <div className="cc-cs not-prose">
62 <style>{STYLES}</style>
63 <div className="cc-cs-card">
64 <div className="cc-cs-text">
65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.
66 </div>
67 <div className="cc-cs-actions">
68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">
69 View plans
70 </a>
71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">
72 Contact sales {iconArrowRight()}
73 </a>
74 </div>
75 </div>
76 </div>;
77};
78
79export const Experiment = ({flag, treatment, children}) => {
80 const VID_KEY = 'exp_vid';
81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);
82 const fnv1a = s => {
83 let h = 0x811c9dc5;
84 for (let i = 0; i < s.length; i++) {
85 h ^= s.charCodeAt(i);
86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);
87 }
88 return h >>> 0;
89 };
90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';
91 const [decision] = useState(() => {
92 const params = new URLSearchParams(location.search);
93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];
94 const force = params.get('gb-force');
95 if (force) {
96 for (const p of force.split(',')) {
97 const [k, v] = p.split(':');
98 if (k === flag) return {
99 variant: v || 'treatment',
100 track: false
101 };
102 }
103 }
104 if (navigator.globalPrivacyControl) {
105 return {
106 variant: 'control',
107 track: false
108 };
109 }
110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);
111 if (prefsMatch) {
112 try {
113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {
114 return {
115 variant: 'control',
116 track: false
117 };
118 }
119 } catch {
120 return {
121 variant: 'control',
122 track: false
123 };
124 }
125 } else {
126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];
127 if (!country || CONSENT_COUNTRIES.has(country)) {
128 return {
129 variant: 'control',
130 track: false
131 };
132 }
133 }
134 let vid;
135 try {
136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);
137 if (ajsMatch) {
138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');
139 } else {
140 vid = localStorage.getItem(VID_KEY);
141 if (!vid) {
142 vid = crypto.randomUUID();
143 }
144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;
145 }
146 try {
147 localStorage.setItem(VID_KEY, vid);
148 } catch {}
149 } catch {
150 return {
151 variant: 'control',
152 track: false
153 };
154 }
155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);
156 return {
157 variant,
158 track: true,
159 vid
160 };
161 });
162 useEffect(() => {
163 if (!decision.track) return;
164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {
165 method: 'POST',
166 headers: {
167 'Content-Type': 'application/json',
168 'x-service-name': 'claude_code_docs'
169 },
170 body: JSON.stringify({
171 events: [{
172 event_type: 'GrowthbookExperimentEvent',
173 event_data: {
174 device_id: decision.vid,
175 anonymous_id: decision.vid,
176 timestamp: new Date().toISOString(),
177 experiment_id: flag,
178 variation_id: decision.variant === 'treatment' ? 1 : 0,
179 environment: 'production'
180 }
181 }]
182 }),
183 keepalive: true
184 }).catch(() => {});
185 }, []);
186 return decision.variant === 'treatment' ? treatment : children;
187};
188
189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />
190
191AWS의 Claude Platform은 AWS 인증, IAM 액세스 제어 및 AWS Marketplace 청구를 지원하는 Anthropic 운영 Claude API입니다. 요청은 Anthropic의 API에 직접 도달하므로 동일한 릴리스 일정에 따라 [Claude API](https://platform.claude.com/docs)와 동일한 모델 및 API 기능을 사용할 수 있습니다. AWS 자격 증명 또는 워크스페이스 API 키로 인증하며, AWS Marketplace를 통해 비용을 지불합니다.9AWS의 Claude Platform은 AWS 인증, IAM 액세스 제어 및 AWS Marketplace 청구를 지원하는 Anthropic 운영 Claude API입니다. 요청은 Anthropic의 API에 직접 도달하므로 동일한 릴리스 일정에 따라 [Claude API](https://platform.claude.com/docs)와 동일한 모델 및 API 기능을 사용할 수 있습니다. AWS 자격 증명 또는 워크스페이스 API 키로 인증하며, AWS Marketplace를 통해 비용을 지불합니다.
192 10
193Anthropic의 기능 플래그 서비스를 통해 Claude Code가 활성화하는 클라이언트 측 기능은 기본적으로 비활성화되어 있으며, [어드바이저 도구](/docs/ko/advisor)는 사용할 수 없습니다. 전체 목록은 [기능 가용성 매트릭스](/docs/ko/feature-availability#summary-by-provider)를 참조하십시오.11Anthropic의 기능 플래그 서비스를 통해 Claude Code가 활성화하는 클라이언트 측 기능은 기본적으로 비활성화되어 있으며, [어드바이저 도구](/docs/ko/advisor)는 사용할 수 없습니다. 전체 목록은 [기능 가용성 매트릭스](/docs/ko/feature-availability#summary-by-provider)를 참조하십시오.
194 12
195이 가이드를 사용하여 Claude Platform on AWS를 통해 이미 프로비저닝한 워크스페이스를 가리키도록 Claude Code를 설정합니다. 이 전에 필요한 AWS 구독 및 워크스페이스 설정은 [Claude Platform on AWS 설명서](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)를 참조하십시오.13이 가이드를 사용하여 Claude Platform on AWS를 통해 이미 프로비저닝한 워크스페이스를 가리키도록 Claude Code를 설정합니다. 이 전에 필요한 AWS 구독 및 워크스페이스 설정은 [Claude Platform on AWS 설명서](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)를 참조하십시오.
196 14
197<Note>15> [!NOTE]
198 AWS Marketplace를 통해 구독하면 AWS 계정에 연결된 새로운 Anthropic 조직이 프로비저닝됩니다. 이 조직은 Anthropic에서 이미 보유한 모든 조직과 별개이며, 자격 증명은 조직 간에 전송되지 않습니다. AWS 연결 조직의 워크스페이스 ID 및 API 키를 사용하고, 기존 Claude Console 계정의 키는 사용하지 마십시오.16>
199</Note>17> AWS Marketplace를 통해 구독하면 AWS 계정에 연결된 새로운 Anthropic 조직이 프로비저닝됩니다. 이 조직은 Anthropic에서 이미 보유한 모든 조직과 별개이며, 자격 증명은 조직 간에 전송되지 않습니다. AWS 연결 조직의 워크스페이스 ID 및 API 키를 사용하고, 기존 Claude Console 계정의 키는 사용하지 마십시오.
200 18
201<h2 id="prerequisites">19## 필수 조건
202 필수 조건
203</h2>
204 20
205Claude Code를 구성하기 전에 다음이 필요합니다.21Claude Code를 구성하기 전에 다음이 필요합니다.
206 22
209* Anthropic 서비스를 호출할 수 있는 권한이 있는 IAM 주체 또는 워크스페이스로 범위가 지정된 API 키25* Anthropic 서비스를 호출할 수 있는 권한이 있는 IAM 주체 또는 워크스페이스로 범위가 지정된 API 키
210* 환경, `~/.aws/credentials` 또는 SigV4 인증을 원하는 경우 연결된 IAM 역할의 AWS 자격 증명. AWS CLI는 SSO 로그인 흐름에만 필요합니다.26* 환경, `~/.aws/credentials` 또는 SigV4 인증을 원하는 경우 연결된 IAM 역할의 AWS 자격 증명. AWS CLI는 SSO 로그인 흐름에만 필요합니다.
211 27
212<h2 id="setup">28## 설정
213 설정
214</h2>
215 29
216<h3 id="1-configure-aws-credentials">30### AWS 자격 증명 구성
217 1. AWS 자격 증명 구성
218</h3>
219 31
220Claude Code는 Claude Platform on AWS에 대해 두 가지 인증 방법을 지원합니다. 팀이 액세스를 관리하는 방식에 맞는 방법을 선택하십시오.32Claude Code는 Claude Platform on AWS에 대해 두 가지 인증 방법을 지원합니다. 팀이 액세스를 관리하는 방식에 맞는 방법을 선택하십시오.
221 33
222* [SigV4를 사용한 AWS 자격 증명](#use-aws-credentials-with-sigv4): 표준 AWS 자격 증명 체인의 자격 증명을 사용하여 IAM 주체로 인증합니다34* [SigV4를 사용한 AWS 자격 증명](#use-aws-credentials-with-sigv4): 표준 AWS 자격 증명 체인의 자격 증명을 사용하여 IAM 주체로 인증합니다
223* [워크스페이스 API 키](#use-a-workspace-api-key): AWS Console에서 생성한 장기 키로 인증합니다35* [워크스페이스 API 키](#use-a-workspace-api-key): AWS Console에서 생성한 장기 키로 인증합니다
224 36
225<h4 id="use-aws-credentials-with-sigv4">37#### SigV4를 사용한 AWS 자격 증명 사용
226 SigV4를 사용한 AWS 자격 증명 사용
227</h4>
228 38
229Claude Code는 표준 AWS 자격 증명 체인을 사용하여 SigV4로 요청에 서명합니다. 환경 변수, `~/.aws/credentials`의 공유 자격 증명, IAM 역할, AWS SSO 세션 및 AWS SDK가 지원하는 기타 소스입니다.39Claude Code는 표준 AWS 자격 증명 체인을 사용하여 SigV4로 요청에 서명합니다. 환경 변수, `~/.aws/credentials`의 공유 자격 증명, IAM 역할, AWS SSO 세션 및 AWS SDK가 지원하는 기타 소스입니다.
230 40
249 59
250`awsAuthRefresh`가 구성되면 `/login`을 실행하고 **3rd-party platform**을 선택한 다음 **Using 3rd-party platforms** 아래에서 **Claude Platform on AWS · refresh credentials**를 선택하십시오. Claude Code는 구성된 명령을 실행하고 재시작 없이 AWS 자격 증명을 다시 읽습니다.60`awsAuthRefresh`가 구성되면 `/login`을 실행하고 **3rd-party platform**을 선택한 다음 **Using 3rd-party platforms** 아래에서 **Claude Platform on AWS · refresh credentials**를 선택하십시오. Claude Code는 구성된 명령을 실행하고 재시작 없이 AWS 자격 증명을 다시 읽습니다.
251 61
252<h4 id="use-a-workspace-api-key">62#### 워크스페이스 API 키 사용
253 워크스페이스 API 키 사용
254</h4>
255 63
256워크스페이스 API 키는 장기 보안 비밀이며, 페더레이션된 AWS 자격 증명을 관리하지 않으려는 경우에 유용합니다. AWS Console의 **Claude Platform on AWS → API keys** 아래에서 생성하고 `ANTHROPIC_AWS_API_KEY`로 설정하십시오.64워크스페이스 API 키는 장기 보안 비밀이며, 페더레이션된 AWS 자격 증명을 관리하지 않으려는 경우에 유용합니다. AWS Console의 **Claude Platform on AWS → API keys** 아래에서 생성하고 `ANTHROPIC_AWS_API_KEY`로 설정하십시오.
257 65
263 71
264워크스페이스 API 키를 다른 프로덕션 자격 증명처럼 취급하십시오. [사용자 설정 파일](/docs/ko/settings) `env` 블록은 전역으로 내보내지 않고 키를 컴퓨터로 범위를 지정하는 편리한 방법입니다.72워크스페이스 API 키를 다른 프로덕션 자격 증명처럼 취급하십시오. [사용자 설정 파일](/docs/ko/settings) `env` 블록은 전역으로 내보내지 않고 키를 컴퓨터로 범위를 지정하는 편리한 방법입니다.
265 73
266<Note>74> [!NOTE]
267 `/login` 및 `/logout` 명령은 Claude Platform on AWS에 대해 Claude.ai 구독에 로그인하지 않습니다. 인증은 AWS 자격 증명 또는 워크스페이스 API 키를 통해 실행됩니다.75>
268</Note>76> `/login` 및 `/logout` 명령은 Claude Platform on AWS에 대해 Claude.ai 구독에 로그인하지 않습니다. 인증은 AWS 자격 증명 또는 워크스페이스 API 키를 통해 실행됩니다.
269 77
270<h3 id="2-configure-claude-code">78### Claude Code 구성
271 2. Claude Code 구성
272</h3>
273 79
274Claude Code를 기본 Anthropic API 대신 Claude Platform on AWS를 통해 라우팅하는 환경 변수를 설정하십시오.80Claude Code를 기본 Anthropic API 대신 Claude Platform on AWS를 통해 라우팅하는 환경 변수를 설정하십시오.
275 81
285 91
286Claude Platform on AWS는 환경에 AWS 자격 증명이 있어도 선택 사항입니다. Amazon Bedrock 및 Microsoft Foundry는 공급자 라우팅에서 우선하므로 설정된 경우 `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_FOUNDRY`를 해제하십시오.92Claude Platform on AWS는 환경에 AWS 자격 증명이 있어도 선택 사항입니다. Amazon Bedrock 및 Microsoft Foundry는 공급자 라우팅에서 우선하므로 설정된 경우 `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_FOUNDRY`를 해제하십시오.
287 93
288<h3 id="3-pin-model-versions">94### 모델 버전 고정
289 3. 모델 버전 고정
290</h3>
291 95
292Claude Platform on AWS는 직접 Claude API와 동일한 모델 ID를 사용합니다.96Claude Platform on AWS는 직접 Claude API와 동일한 모델 ID를 사용합니다.
293 97
308 112
309주 대화와 Claude Code가 외부에서 수행하는 요청에 대해 다른 TTL을 설정하려면 [TTL을 직접 선택하십시오](/docs/ko/prompt-caching#choose-the-ttl-yourself).113주 대화와 Claude Code가 외부에서 수행하는 요청에 대해 다른 TTL을 설정하려면 [TTL을 직접 선택하십시오](/docs/ko/prompt-caching#choose-the-ttl-yourself).
310 114
311<h3 id="4-launch-and-verify">115### 시작 및 확인
312 4. 시작 및 확인
313</h3>
314 116
315Claude Code를 시작하고 라우팅을 확인하십시오:117Claude Code를 시작하고 라우팅을 확인하십시오:
316 118
320 122
321시작 배너는 공급자가 활성화되면 `Claude Platform on AWS`를 표시합니다. `/status`를 실행하여 세부 정보를 확인하십시오. `API provider` 줄은 `Claude Platform on AWS`를 읽고, 출력에는 `Workspace ID`, `AWS region` 및 재정의를 설정한 경우 `Claude Platform on AWS base URL`이 포함됩니다.123시작 배너는 공급자가 활성화되면 `Claude Platform on AWS`를 표시합니다. `/status`를 실행하여 세부 정보를 확인하십시오. `API provider` 줄은 `Claude Platform on AWS`를 읽고, 출력에는 `Workspace ID`, `AWS region` 및 재정의를 설정한 경우 `Claude Platform on AWS base URL`이 포함됩니다.
322 124
323<h2 id="use-the-agent-sdk">125## Agent SDK 사용
324 Agent SDK 사용
325</h2>
326 126
327[Agent SDK](/docs/ko/agent-sdk/overview)는 CLI와 동일한 환경 변수를 읽으므로 Claude Code 하위 프로세스를 생성하는 모든 프로그램은 호출 전에 `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` 및 `ANTHROPIC_AWS_API_KEY` 또는 AWS 자격 증명을 내보내 Claude Platform on AWS를 대상으로 할 수 있습니다.127[Agent SDK](/docs/ko/agent-sdk/overview)는 CLI와 동일한 환경 변수를 읽으므로 Claude Code 하위 프로세스를 생성하는 모든 프로그램은 호출 전에 `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` 및 `ANTHROPIC_AWS_API_KEY` 또는 AWS 자격 증명을 내보내 Claude Platform on AWS를 대상으로 할 수 있습니다.
328 128
340 140
341이 예제는 SigV4에 대한 주변 AWS 자격 증명 체인을 사용합니다. 대신 워크스페이스 API 키로 인증하려면 동일한 방식으로 `ANTHROPIC_AWS_API_KEY`를 설정하십시오. 더 광범위한 Agent SDK 표면은 [Agent SDK 개요](/docs/ko/agent-sdk/overview)를 참조하십시오.141이 예제는 SigV4에 대한 주변 AWS 자격 증명 체인을 사용합니다. 대신 워크스페이스 API 키로 인증하려면 동일한 방식으로 `ANTHROPIC_AWS_API_KEY`를 설정하십시오. 더 광범위한 Agent SDK 표면은 [Agent SDK 개요](/docs/ko/agent-sdk/overview)를 참조하십시오.
342 142
343<h2 id="route-through-a-corporate-proxy">143## 기업 프록시를 통해 라우팅
344 기업 프록시를 통해 라우팅
345</h2>
346 144
347프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 트래픽을 라우팅하려면 `ANTHROPIC_AWS_BASE_URL`을 프록시의 주소로 설정하십시오. Claude Code는 동일한 워크스페이스 및 인증 헤더를 사용하여 해당 URL로 요청을 보내므로 변경되지 않은 상태로 전달하는 모든 게이트웨이가 작동합니다.145프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 트래픽을 라우팅하려면 `ANTHROPIC_AWS_BASE_URL`을 프록시의 주소로 설정하십시오. Claude Code는 동일한 워크스페이스 및 인증 헤더를 사용하여 해당 URL로 요청을 보내므로 변경되지 않은 상태로 전달하는 모든 게이트웨이가 작동합니다.
348 146
361export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com159export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com
362```160```
363 161
364<h2 id="troubleshooting">162## 문제 해결
365 문제 해결
366</h2>
367 163
368`/status`를 실행하여 확인된 공급자 및 명시적으로 구성된 워크스페이스 ID, 지역, 기본 URL 재정의 및 인증 건너뛰기 설정을 확인하십시오. 이것이 Claude Code가 Claude Platform on AWS를 대상으로 하는지 확인하는 가장 빠른 방법입니다.164`/status`를 실행하여 확인된 공급자 및 명시적으로 구성된 워크스페이스 ID, 지역, 기본 URL 재정의 및 인증 건너뛰기 설정을 확인하십시오. 이것이 Claude Code가 Claude Platform on AWS를 대상으로 하는지 확인하는 가장 빠른 방법입니다.
369 165
370<h3 id="403-forbidden-or-accessdenied-on-every-request">166### 모든 요청에서 `403 Forbidden` 또는 `AccessDenied`
371 모든 요청에서 `403 Forbidden` 또는 `AccessDenied`
372</h3>
373 167
374Claude Code가 확인한 IAM 주체는 워크스페이스에서 Anthropic 서비스를 호출할 수 있는 권한이 없을 가능성이 높습니다. AWS 프로필에 연결된 역할 또는 Claude Code를 시작한 실행기를 확인하고 [IAM 작업 참조](https://platform.claude.com/docs/ko/api/claude-platform-on-aws-iam-actions)에 설명된 `aws-external-anthropic` 작업이 있는지 확인하십시오.168Claude Code가 확인한 IAM 주체는 워크스페이스에서 Anthropic 서비스를 호출할 수 있는 권한이 없을 가능성이 높습니다. AWS 프로필에 연결된 역할 또는 Claude Code를 시작한 실행기를 확인하고 [IAM 작업 참조](https://platform.claude.com/docs/ko/api/claude-platform-on-aws-iam-actions)에 설명된 `aws-external-anthropic` 작업이 있는지 확인하십시오.
375 169
376`ANTHROPIC_AWS_API_KEY`를 설정한 경우 키가 SigV4보다 우선하고 오래된 키는 동일한 오류를 생성합니다. AWS Console의 **Claude Platform on AWS → API keys** 아래에서 키를 다시 생성하거나 변수를 해제하여 AWS 자격 증명으로 돌아가십시오.170`ANTHROPIC_AWS_API_KEY`를 설정한 경우 키가 SigV4보다 우선하고 오래된 키는 동일한 오류를 생성합니다. AWS Console의 **Claude Platform on AWS → API keys** 아래에서 키를 다시 생성하거나 변수를 해제하여 AWS 자격 증명으로 돌아가십시오.
377 171
378<h3 id="requests-fail-with-a-missing-workspace-error">172### 요청이 누락된 워크스페이스 오류로 실패합니다.
379 요청이 누락된 워크스페이스 오류로 실패합니다.
380</h3>
381 173
382`ANTHROPIC_AWS_WORKSPACE_ID`가 설정되지 않았거나 비어 있을 가능성이 높습니다. 모든 Claude Platform on AWS 요청에는 워크스페이스 ID가 포함되어야 합니다. AWS 자격 증명에 의해 암시되지 않습니다. Claude Platform on AWS 설정에서 ID를 찾고 Claude Code를 시작하기 전에 내보내십시오.174`ANTHROPIC_AWS_WORKSPACE_ID`가 설정되지 않았거나 비어 있을 가능성이 높습니다. 모든 Claude Platform on AWS 요청에는 워크스페이스 ID가 포함되어야 합니다. AWS 자격 증명에 의해 암시되지 않습니다. Claude Platform on AWS 설정에서 ID를 찾고 Claude Code를 시작하기 전에 내보내십시오.
383 175
384<h3 id="requests-still-go-to-api-anthropic-com">176### 요청이 여전히 `api.anthropic.com`으로 이동합니다.
385 요청이 여전히 `api.anthropic.com`으로 이동합니다.
386</h3>
387 177
388`CLAUDE_CODE_USE_ANTHROPIC_AWS`가 설정되지 않았거나 truthy로 구문 분석되지 않는 값으로 설정되었을 가능성이 높습니다. `1`로 설정하고 `/status`를 실행하여 확인된 공급자를 확인하십시오. `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_FOUNDRY`도 설정된 경우 Claude Platform on AWS보다 우선합니다.178`CLAUDE_CODE_USE_ANTHROPIC_AWS`가 설정되지 않았거나 truthy로 구문 분석되지 않는 값으로 설정되었을 가능성이 높습니다. `1`로 설정하고 `/status`를 실행하여 확인된 공급자를 확인하십시오. `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_FOUNDRY`도 설정된 경우 Claude Platform on AWS보다 우선합니다.
389 179
390<h2 id="additional-resources">180## 추가 리소스
391 추가 리소스
392</h2>
393 181
394Claude Code 구성 전에 필요한 Claude Platform on AWS 구독, 워크스페이스 및 IAM 설정은 플랫폼 설명서에서 다룹니다.182Claude Code 구성 전에 필요한 Claude Platform on AWS 구독, 워크스페이스 및 IAM 설정은 플랫폼 설명서에서 다룹니다.
395 183