View a markdown version of this page

API 키 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

API 키

Amazon Bedrock API 키를 사용하면 AWS 자격 증명 대신 보유자 토큰을 사용하여 API 요청을 인증할 수 있습니다. 두 가지의 유형이 있습니다.

  • 단기 - 최대 12시간(또는 세션 기간 중 더 짧은 시간) 동안 지속됩니다. 권한을 생성하는 데 사용된 IAM 보안 주체의 권한을 상속합니다. 프로덕션용으로 권장됩니다.

  • 장기 - 구성된 만료 날짜까지 지속됩니다. 정책이 연결된 IAM 사용자를 생성합니다. 탐색에만 권장됩니다.

참고

모든 API 호출이 로그인됩니다 AWS CloudTrail. API 키는 권한 부여 헤더로 전달되며 로깅되지 않습니다.

단기 API 키 생성

원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

Console
  1. Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명 AWS Management Console 으로에 로그인합니다. 그 다음 https://console.aws.amazon.com/bedrock에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 API 키를 선택합니다.

  3. 단기 API 키 탭에서 단기 API 키 생성을 선택합니다.

콘솔 세션이 만료되면 키가 만료됩니다(최대 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
  1. Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명 AWS Management Console 으로에 로그인합니다. 그 다음 https://console.aws.amazon.com/bedrock에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 API 키를 선택합니다.

  3. 장기 API 키 탭에서 장기 API 키 생성을 선택합니다.

  4. 만료 시간을 선택하고 선택적으로 고급 권한에 권한을 추가합니다.

  5. 생성을 선택합니다.

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 키 참조.