기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
API 키
Amazon Bedrock API 키를 사용하면 AWS 자격 증명 대신 보유자 토큰을 사용하여 API 요청을 인증할 수 있습니다. 두 가지의 유형이 있습니다.
모든 API 호출이 로그인됩니다 AWS CloudTrail. API 키는 권한 부여 헤더로 전달되며 로깅되지 않습니다.
단기 API 키 생성
원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.
- Console
-
콘솔 세션이 만료되면 키가 만료됩니다(최대 12시간). 다른 리전에 대한 키를 생성하려면 먼저 콘솔에서 리전을 전환합니다.
- Python
-
토큰 생성기를 설치합니다.
pip install aws-bedrock-token-generator
토큰 생성:
from aws_bedrock_token_generator import provide_token
token = provide_token()
print(f"Token: {token}")
- Javascript
-
토큰 생성기를 설치합니다.
npm install @aws/bedrock-token-generator
토큰 생성:
import { getTokenProvider } from "@aws/bedrock-token-generator";
const provideToken = getTokenProvider();
const token = await provideToken();
console.log(`Bearer Token: ${token}`);
- Java
-
종속성(Maven)을 추가합니다.
<dependency>
<groupId>software.amazon.bedrock</groupId>
<artifactId>aws-bedrock-token-generator</artifactId>
<version>1.1.0</version>
</dependency>
토큰 생성:
import software.amazon.bedrock.token.BedrockTokenGenerator;
BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build();
String token = tokenGenerator.getToken();
장기 API 키 생성
원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.
- Console
-
- CLI
-
# Create an IAM user
aws iam create-user --user-name bedrock-api-user
# Attach permissions
aws iam attach-user-policy --user-name bedrock-api-user \
--policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
# Generate the API key (replace NUMBER-OF-DAYS)
aws iam create-service-specific-credential \
--user-name bedrock-api-user \
--service-name bedrock.amazonaws.com \
--credential-age-days ${NUMBER-OF-DAYS}
응답ServiceApiKeyValue의는 API 키입니다.
나중에 키를 비활성화하거나 삭제하려면 응답ServiceSpecificCredentialId에서를 사용합니다.
# Deactivate the key
aws iam update-service-specific-credential \
--user-name bedrock-api-user \
--service-specific-credential-id ${ServiceSpecificCredentialId} \
--status Inactive
# Delete the key permanently
aws iam delete-service-specific-credential \
--user-name bedrock-api-user \
--service-specific-credential-id ${ServiceSpecificCredentialId}
- Python
-
import boto3
iam_client = boto3.client("iam")
# Create IAM user
iam_client.create_user(UserName="bedrock-api-user")
# Attach permissions
iam_client.attach_user_policy(
UserName="bedrock-api-user",
PolicyArn="arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess"
)
# Generate API key
response = iam_client.create_service_specific_credential(
UserName="bedrock-api-user",
ServiceName="bedrock.amazonaws.com",
CredentialAgeDays=30
)
api_key = response["ServiceSpecificCredential"]["ServiceApiKeyValue"]
print(api_key)
API 키 사용
키를 환경 변수로 설정합니다.
# macOS/Linux
export AWS_BEARER_TOKEN_BEDROCK=${api-key}
# Windows
setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"
또는 Authorization 헤더에 직접 전달합니다.
Authorization: Bearer ${api-key}
예: Converse 요청
원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.
- cURL
-
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-d '{
"messages": [{"role": "user", "content": [{"text": "Hello"}]}]
}'
- Python (boto3)
-
import os
import boto3
os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.converse(
modelId="us.anthropic.claude-sonnet-4-6",
messages=[{"role": "user", "content": [{"text": "Hello"}]}]
)
단기 키 자동 새로 고침
장기 실행 애플리케이션의 경우 각 요청 전에 토큰 생성기를 호출합니다. 여전히 유효하거나 새 토큰을 자동으로 생성하는 경우 캐시된 토큰을 반환합니다.
- Python
-
from aws_bedrock_token_generator import provide_token
import requests
url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse"
payload = {"messages": [{"role": "user", "content": [{"text": "Hello"}]}]}
# Call provide_token() before each request — it handles caching/refresh
token = provide_token()
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
- Javascript
-
import { getTokenProvider } from "@aws/bedrock-token-generator";
const provideToken = getTokenProvider();
const url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse";
const payload = {messages: [{role: "user", content: [{text: "Hello"}]}]};
// provideToken() handles caching/refresh automatically
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${await provideToken()}`
};
await fetch(url, {method: 'POST', headers, body: JSON.stringify(payload)});
자세한 예제는 토큰 생성기 설명서: Python | Javascript | Java를 참조하세요.
권한 수정
장기 API 키는 IAM 사용자와 연결됩니다. 권한을 변경하려면 해당 사용자에게 연결된 정책을 수정합니다. IAM 자격 증명 권한 추가 및 제거를 참조하세요.
콘솔에서 API 키 > 장기 API 키 > 키 선택 > IAM 콘솔에서 관리로 이동합니다.
손상된 키
키가 손상된 경우 다음 작업 중 하나를 수행합니다.
| 작업 |
키 유형 |
수정할 수 있다면 방법이 무엇입니까? |
| 비활성화 |
장기 |
콘솔: API 키 > 키 선택 > 작업 > 비활성화. API: UpdateServiceSpecificCredential를 사용합니다Status=Inactive. |
| 재설정 |
장기 |
콘솔: 작업 > 키 재설정. API: ResetServiceSpecificCredential. |
| Delete |
장기 |
콘솔: 작업 > 삭제. API: DeleteServiceSpecificCredential. |
| 세션 무효화 |
단기 |
를 거부하는 자격 증명에 IAM 정책을 연결bedrock:CallWithBearerToken하거나 키를 생성하는 데 사용되는 세션을 무효화합니다. |
API 키를 생성하고 사용할 수 있는 사용자 제어
두 가지 IAM 작업은 API 키 생성 및 사용을 제어합니다.
-
iam:CreateServiceSpecificCredential - 장기 키 생성을 제어합니다. iam:ServiceSpecificCredentialAgeDays 조건 키를 사용하여 만료를 제한합니다(예: 최대 90일).
-
bedrock:CallWithBearerToken - 모든 API 키의 사용을 제어합니다. bedrock:bearerTokenType 조건 키를 값 SHORT_TERM 또는와 함께 사용하여 특정 키 유형을 대상으로 LONG_TERM 지정합니다.
예: 자격 증명이 API 키를 사용하지 못하도록 방지
이 정책을 자격 증명에 연결합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "bedrock:CallWithBearerToken",
"Resource": "*"
}
]
}
예: 수명이 짧은 키만 허용(최대 90일)
이 정책을 자격 증명에 연결합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:CreateServiceSpecificCredential",
"Resource": "*",
"Condition": {
"NumericLessThanEquals": {
"iam:ServiceSpecificCredentialAgeDays": "90"
},
"StringEquals": {
"iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com"
}
}
}
]
}
자세한 정책 예제는 섹션을 참조하세요API 키 참조.