Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci API
Kunci Amazon Bedrock API memungkinkan Anda mengautentikasi permintaan API menggunakan token pembawa, bukan kredensional. AWS Ada dua jenis:
-
Short-term— Berlangsung hingga 12 jam (atau durasi sesi Anda, mana yang lebih pendek). Mewarisi izin dari prinsipal IAM yang digunakan untuk menghasilkannya. Direkomendasikan untuk penggunaan produksi.
-
Long-term— Berlangsung hingga tanggal kedaluwarsa yang dikonfigurasi. Membuat pengguna IAM dengan kebijakan terlampir. Direkomendasikan hanya untuk eksplorasi.
Semua panggilan API masuk AWS CloudTrail. Kunci API diteruskan sebagai header otorisasi dan tidak dicatat.
Menghasilkan kunci API jangka pendek
Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- Console
-
Masuk ke Konsol Manajemen AWS dengan identitas IAM yang memiliki izin untuk menggunakan konsol Amazon Bedrock. Kemudian, buka konsol Amazon Bedrock di https://console.aws.amazon.com/bedrock.
Di panel navigasi kiri, pilih kunci API.
Di tab Kunci Short-term API, pilih Hasilkan kunci API jangka pendek.
Kunci kedaluwarsa saat sesi konsol Anda kedaluwarsa (maks 12 jam). Untuk membuat kunci untuk Wilayah yang berbeda, alihkan Wilayah di konsol terlebih dahulu.
- Python
-
Instal generator token:
pip install aws-bedrock-token-generator
Menghasilkan token:
from aws_bedrock_token_generator import provide_token
token = provide_token()
print(f"Token: {token}")
- Javascript
-
Instal generator token:
npm install @aws/bedrock-token-generator
Menghasilkan token:
import { getTokenProvider } from "@aws/bedrock-token-generator";
const provideToken = getTokenProvider();
const token = await provideToken();
console.log(`Bearer Token: ${token}`);
- Java
-
Tambahkan ketergantungan (Maven):
<dependency>
<groupId>software.amazon.bedrock</groupId>
<artifactId>aws-bedrock-token-generator</artifactId>
<version>1.1.0</version>
</dependency>
Menghasilkan token:
import software.amazon.bedrock.token.BedrockTokenGenerator;
BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build();
String token = tokenGenerator.getToken();
Hasilkan kunci API jangka panjang
Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- Console
-
Masuk ke Konsol Manajemen AWS dengan identitas IAM yang memiliki izin untuk menggunakan konsol Amazon Bedrock. Kemudian, buka konsol Amazon Bedrock di https://console.aws.amazon.com/bedrock.
Di panel navigasi kiri, pilih kunci API.
Di tab Kunci Long-term API, pilih Hasilkan kunci API jangka panjang.
Pilih waktu kedaluwarsa dan secara opsional tambahkan izin di Izin lanjutan.
Pilih Hasilkan.
- 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}
Responsnya adalah kunci API Anda. ServiceApiKeyValue
Untuk menonaktifkan atau menghapus kunci nanti, gunakan ServiceSpecificCredentialId dari respons:
# 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)
Menggunakan kunci API
Tetapkan kunci sebagai variabel lingkungan:
# macOS/Linux
export AWS_BEARER_TOKEN_BEDROCK=${api-key}
# Windows
setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"
Atau berikan langsung di Authorization header:
Authorization: Bearer ${api-key}
Contoh: Membuat permintaan Converse
pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- 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"}]}]
)
Auto-refresh kunci jangka pendek
Untuk aplikasi yang berjalan lama, hubungi generator token sebelum setiap permintaan. Ia mengembalikan token cache jika masih valid atau menghasilkan yang baru secara otomatis:
- 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)});
Untuk contoh lainnya, lihat dokumentasi generator token: Python | Javascript | Java.
Ubah izin
Kunci API jangka panjang dikaitkan dengan pengguna IAM. Untuk mengubah izinnya, ubah kebijakan yang dilampirkan pada pengguna tersebut. Lihat Menambahkan dan menghapus izin identitas IAM.
Dari konsol: buka kunci API> kunci API> Long-term pilih kunci Anda> Kelola di Konsol IAM.
Kunci yang dikompromikan
Jika kunci dikompromikan, lakukan salah satu tindakan berikut:
| Tindakan |
Tipe Kunci |
Bagaimana |
| Nonaktifkan |
Long-term |
Konsol: Kunci API> pilih kunci> Tindakan > Nonaktifkan. API: UpdateServiceSpecificCredential denganStatus=Inactive. |
| Setel ulang |
Long-term |
Konsol: Tindakan> Tombol reset. API:ResetServiceSpecificCredential. |
| Delete |
Long-term |
Konsol: Tindakan> Hapus. API:DeleteServiceSpecificCredential. |
| Sesi tidak valid |
Short-term |
Lampirkan kebijakan IAM ke identitas yang menyangkalbedrock:CallWithBearerToken, atau membatalkan sesi yang digunakan untuk menghasilkan kunci. |
Kontrol siapa yang dapat membuat dan menggunakan kunci API
Dua tindakan IAM mengontrol pembuatan dan penggunaan kunci API:
-
iam:CreateServiceSpecificCredential— Mengontrol pembuatan kunci jangka panjang. Gunakan tombol iam:ServiceSpecificCredentialAgeDays kondisi untuk membatasi kedaluwarsa (misalnya, maks 90 hari).
-
bedrock:CallWithBearerToken— Mengontrol penggunaan kunci API apa pun. Gunakan tombol bedrock:bearerTokenType kondisi dengan nilai SHORT_TERM atau LONG_TERM untuk menargetkan jenis kunci tertentu.
Contoh: Mencegah identitas menggunakan kunci API apa pun
Lampirkan kebijakan ini pada identitas:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "bedrock:CallWithBearerToken",
"Resource": "*"
}
]
}
Contoh: Izinkan hanya kunci berumur pendek (maks 90 hari)
Lampirkan kebijakan ini pada identitas:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:CreateServiceSpecificCredential",
"Resource": "*",
"Condition": {
"NumericLessThanEquals": {
"iam:ServiceSpecificCredentialAgeDays": "90"
},
"StringEquals": {
"iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com"
}
}
}
]
}
Untuk contoh kebijakan yang lebih rinci, lihatReferensi kunci API.