View a markdown version of this page

Menghasilkan kunci API Amazon Bedrock - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menghasilkan kunci API Amazon Bedrock

Anda dapat membuat kunci API Amazon Bedrock menggunakan API Konsol Manajemen AWS atau AWS API. Kami menyarankan Anda menggunakan Konsol Manajemen AWS untuk membuat kunci API Amazon Bedrock dengan mudah dengan beberapa langkah.

Awas

Kami sangat menyarankan untuk membatasi penggunaan kunci API Amazon Bedrock untuk eksplorasi Amazon Bedrock. Ketika Anda siap untuk memasukkan Amazon Bedrock ke dalam aplikasi dengan persyaratan keamanan yang lebih besar, Anda harus beralih ke kredenSIAL jangka pendek. Untuk informasi selengkapnya, lihat Alternatif untuk kunci akses jangka panjang di Panduan Pengguna IAM.

Buat kunci API Amazon Bedrock menggunakan konsol

Untuk membuat kunci API Amazon Bedrock menggunakan konsol, lakukan hal berikut:

  1. 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.

  2. Di panel navigasi kiri, pilih kunci API.

  3. Hasilkan salah satu jenis kunci berikut:

    • Short-term Kunci API — Di tab kunci Short-term API, pilih Buat kunci API jangka pendek. Kunci kedaluwarsa saat sesi konsol berakhir (dan tidak lebih dari 12 jam) dan memungkinkan Anda melakukan panggilan ke tempat Anda membuatnya. Wilayah AWS Untuk menghasilkan kunci untuk Wilayah yang berbeda, pilih Wilayah itu di konsol sebelum membuat kunci.

    • Long-term Kunci API — Di tab kunci Long-term API, pilih Buat kunci API jangka panjang.

      1. Di bagian kedaluwarsa kunci API, pilih waktu setelah kunci akan kedaluwarsa.

      2. (Opsional) Secara default, kebijakan AmazonBedrockLimitedAccess AWS-managed, yang memberikan akses ke operasi inti Amazon Bedrock API, dilampirkan ke pengguna IAM yang terkait dengan kunci. Untuk memilih lebih banyak kebijakan untuk dilampirkan ke pengguna, per luas bagian Izin lanjutan dan pilih kebijakan yang ingin Anda tambahkan.

      3. Pilih Menghasilkan.

      Awas

      Kami sangat menyarankan untuk membatasi penggunaan kunci API Amazon Bedrock untuk eksplorasi Amazon Bedrock. Ketika Anda siap untuk memasukkan Amazon Bedrock ke dalam aplikasi dengan persyaratan keamanan yang lebih besar, Anda harus beralih ke kredenSIAL jangka pendek. Untuk informasi selengkapnya, lihat Alternatif untuk kunci akses jangka panjang di Panduan Pengguna IAM.

Buat kunci API Amazon Bedrock jangka panjang menggunakan API

Langkah-langkah umum untuk membuat kunci API Amazon Bedrock jangka panjang di API adalah sebagai berikut:

  1. Buat pengguna IAM dengan mengirimkan CreateUser permintaan dengan titik akhir IAM.

  2. Lampirkan AmazonBedrockLimitedAccess ke pengguna IAM dengan mengirimkan AttachUserPolicy permintaan dengan titik akhir IAM. Anda dapat mengulangi langkah ini untuk melampirkan kebijakan terkelola atau kustom lainnya yang diperlukan kepada pengguna.

    catatan

    Sebagai praktik keamanan terbaik, kami sangat menyarankan Anda melampirkan kebijakan IAM ke pengguna IAM untuk membatasi penggunaan kunci API Amazon Bedrock. Untuk contoh kebijakan batas waktu dan membatasi alamat IP yang dapat menggunakan kunci, lihat Mengon trol penggunaan kunci akses dengan melampirkan kebijakan sebaris ke pengguna IAM.

  3. Hasilkan kunci API Amazon Bedrock jangka panjang dengan mengirimkan CreateServiceSpecificCredential permintaan dengan titik akhir IAM dan tentukan bedrock.amazonaws.com sebagai. ServiceName

    • Yang ServiceApiKeyValue dikembalikan dalam tanggapan adalah kunci API Amazon Bedrock jangka panjang Anda.

    • Yang ServiceSpecificCredentialId dikembalikan dalam respons dapat digunakan untuk melakukan operasi API yang terkait dengan kunci.

Untuk mempelajari cara membuat kunci API Amazon Bedrock jangka panjang, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

CLI

Untuk membuat kunci API Amazon Bedrock jangka panjang, Anda menggunakan operasi AWS Identity and Access Management API. Pertama, pastikan Anda telah memenuhi prasyarat:

Prasyarat

Pastikan bahwa pengaturan Anda memungkinkan AWS CLI untuk mengenali AWS kredenSIAL Anda secara otomatis. Untuk mempelajari selengkapnya, lihat Mengonfigurasi pengaturan untuk AWS CLI.

Buka terminal dan jalankan perintah berikut:

  1. Buat pengguna IAM. Anda dapat mengganti nama dengan salah satu pilihan Anda:

    aws iam create-user --user-name bedrock-api-user
  2. Lampirkan AmazonBedrockLimitedAccess ke pengguna. Anda dapat mengulangi langkah ini dengan ARN dari kebijakan AWS-managed atau kustom lainnya yang ingin Anda tambahkan ke kunci API:

    aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
  3. Buat kunci API Amazon Bedrock jangka panjang, ganti ${NUMBER-OF-DAYS} dengan jumlah hari yang Anda inginkan kuncinya bertahan:

    aws iam create-service-specific-credential \ --user-name bedrock-api-user \ --service-name bedrock.amazonaws.com \ --credential-age-days ${NUMBER-OF-DAYS}
Python

Untuk membuat kunci API Amazon Bedrock jangka panjang, Anda menggunakan operasi AWS Identity and Access Management API. Pertama, pastikan Anda telah memenuhi prasyarat:

Prasyarat

Pastikan bahwa pengaturan Anda memungkinkan Python untuk secara otomatis mengenali AWS kredenSIAL Anda. Untuk mempelajari selengkapnya, lihat Mengonfigurasi pengaturan untuk AWS CLI.

Jalankan skrip berikut untuk membuat pengguna IAM, melampirkan izin untuk melakukan tindakan Amazon Bedrock, dan buat kunci API Amazon Bedrock jangka panjang untuk dikaitkan dengan pengguna:

import boto3 from datetime import datetime, timedelta # Replace with name for your IAM user username = "bedrock-api-user" # Add any AWS-managed or custom policies that you want to the user bedrock_policies = [ "arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess", # Limited access # "arn:aws:iam::aws:policy/AmazonBedrockMarketplaceAccess", # Optional: Access to Amazon Bedrock Marketplace actions ] # Set the key expiration time to a number of your choice expiration_time_in_days = 30 iam_client = boto3.client("iam") # Create IAM user user = iam_client.create_iam_user(username) # Attach policies to user for policy_arn in bedrock_policies: iam_client.attach_managed_policy(username, policy_arn) # Create long-term Amazon Bedrock API key and return it service_credentials = iam_client.create_service_specific_credential( user_name=username, service_name="bedrock", credential_age_days=expiration_time_in_days ) api_key = service_credentials["ServiceApiKeyValue"] print(api_key)

Buat kunci API Amazon Bedrock jangka pendek menggunakan pustaka klien

Kunci jangka pendek memiliki properti berikut:

  • Berlaku untuk nilai yang lebih pendek dari berikut:

    • 12 jam

    • Durasi sesi yang dihasilkan oleh prinsipal IAM yang digunakan untuk menghasilkan kunci.

  • Mewarisi izin yang dilampirkan ke prinsipal yang digunakan untuk menghasilkan kunci.

  • Dapat digunakan hanya di Wil AWS ayah tempat Anda membuatnya.

Untuk aplikasi yang berjalan lama, pustaka klien aws-bedrock-token-generator dapat membuat kunci API jangka pendek Amazon Bedrock baru sesuai kebutuhan saat kredenSIAL diperbarui. Untuk informasi selengkapnya, lihat Siapkan penyegaran otomatis kunci API Amazon Bedrock jangka pendek.

Prasyarat
  • Pastikan prinsip IAM yang Anda gunakan untuk menghasilkan kunci diatur dengan izin yang tepat untuk menggunakan Amazon Bedrock. Untuk eksperimen, Anda dapat melampirkan AmazonBedrockLimitedAccess kebijakan AWS-managed ke prinsipal. Anda dapat merujuk ke praktik terbaik Keamanan di IAM untuk melindungi kredenSIAL Anda.

  • Pastikan bahwa pengaturan Anda memungkinkan Python untuk secara otomatis mengenali AWS kredenSIAL Anda. Metode default dimana kredenSIAL diambil mengikuti hierarki yang ditentukan. Anda dapat melihat hierarki untuk SDK atau alat tertentu di penyedia kredensia standar AWS SDK dan Alat.

  • Instal generator token Amazon Bedrock. Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Python

Buka terminal dan jalankan perintah berikut:

pip install aws-bedrock-token-generator
Javascript

Buka terminal dan jalankan perintah berikut:

npm install @aws/bedrock-token-generator
Java

Jika Anda menggunakan Maven, tambahkan dependensi berikut kepom.xml:

<dependency> <groupId>software.amazon.bedrock</groupId> <artifactId>aws-bedrock-token-generator</artifactId> <version>1.1.0</version> </dependency>

Jika Anda menggunakan Gradle, tambahkan yang berikut ini ke: build.gradle

implementation 'software.amazon.bedrock:aws-bedrock-token-generator:1.1.0'
Contoh

Untuk melihat contoh penggunaan generator token untuk menghasilkan kunci API Amazon Bedrock jangka pendek dengan kredenSIAL default Anda dalam berbagai bahasa, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Python
from aws_bedrock_token_generator import provide_token token = provide_token() print(f"Token: {token}")
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; // Create a token provider that uses default credentials and region providers. // You can configure it to use other credential providers. const provideToken = getTokenProvider(); async function example() { const token = await provideToken(); // Use the token for API calls. The token has a default expiration of 12 hour. // If the expiresInSeconds parameter is specified during token creation, the // expiration can be configured up to a maximum of 12 hours. However, the actual // token validity period will always be the minimum of the requested expiration // time and the AWS credentials' expiry time console.log(`Bearer Token: ${token}`); }
Java
import software.amazon.bedrock.token.BedrockTokenGenerator; // Credentials and region will be picked up from the default provider chain BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); tokenGenerator.getToken();

Untuk melihat lebih banyak contoh untuk kasus penggunaan yang berbeda saat menghasilkan token, lihat tautan berikut:

Siapkan penyegaran otomatis kunci API Amazon Bedrock jangka pendek

Anda dapat membuat skrip dengan bantuan aws-bedrock-token-generator paket untuk secara terprogram membuat ulang kunci jangka pendek baru setiap kali kunci Anda saat ini telah kedaluwarsa. Pertama, pastikan Anda telah memenuhi prasyarat diBuat kunci API Amazon Bedrock jangka pendek menggunakan pustaka klien. Untuk melihat contoh skrip yang mengambil token dan membuat permintaan Converse, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Python
from aws_bedrock_token_generator import provide_token import requests def get_new_token(): url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" payload = { "messages": [ { "role": "user", "content": [{"text": "Hello"}] } ] } # Create a token provider that uses default credentials and region providers. # You can configure it to use other credential providers. # https://github.com/aws/aws-bedrock-token-generator-python/blob/main/README.md # It can be used for each API call as it is inexpensive. token = provide_token() headers = { "Content-Type": "application/json", "Authorization": f"Bearer {token}" } response = requests.post(url, headers=headers, json=payload) print(response.json()) if __name__ == "__main__": get_new_token()
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; // Create a token provider that uses default credentials and region providers. // You can configure it to use other credential providers. // https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md // This can be created just once. Use await provideToken() to fetch the token const provideToken = getTokenProvider(); async function example() { 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" }] } ] }; const headers = { "Content-Type": "application/json", // provideToken retrieves a valid token. It can be used for each API call as it is inexpensive. "Authorization": `Bearer ${await provideToken()}` }; await fetch(url, { method: 'POST', headers: headers, body: JSON.stringify(payload) }) }
Java
package com.amazon.bedrocktoken; import software.amazon.bedrock.token.BedrockTokenGenerator; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class GetNewToken { public static void main(String[] args) throws Exception { // Use default credentials and region from environment/profile chain // Create a token generator that uses default credentials and region providers. // You can configure it to use other credential providers. // https://github.com/aws/aws-bedrock-token-generator-java/blob/main/README.md BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); // getToken() retrieves a valid token. It can be used for each API call as it is inexpensive. String token = tokenGenerator.getToken(); String url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse"; String payload = "{\n" + " \"messages\": [\n" + " {\n" + " \"role\": \"user\",\n" + " \"content\": [{ \"text\": \"Hello\" }]\n" + " }\n" + " ]\n" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + token) .POST(HttpRequest.BodyPublishers.ofString(payload)) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } }