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

Buat kunci API Amazon Bedrock

Anda dapat membuat kunci Amazon Bedrock API menggunakan API AWS Management Console atau AWS API. Kami menyarankan Anda menggunakan kunci AWS Management Console Amazon Bedrock API dengan mudah dengan beberapa langkah.

Awas

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

Buat kunci Amazon Bedrock API menggunakan konsol

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

  1. Masuk ke AWS Management Console 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 dari jenis kunci berikut:

    • Kunci API jangka pendek — Di tab Kunci API jangka pendek, pilih Hasilkan kunci API jangka pendek. Kunci kedaluwarsa saat sesi konsol Anda kedaluwarsa (dan tidak lebih dari 12 jam) dan memungkinkan Anda melakukan panggilan ke tempat Wilayah AWS Anda membuatnya. Anda dapat memodifikasi Wilayah secara langsung di kunci yang dihasilkan.

    • Kunci API jangka panjang — Di tab Kunci API jangka panjang, pilih Hasilkan 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 kebijakan lain yang akan dilampirkan ke pengguna, perluas bagian Izin lanjutan dan pilih kebijakan yang ingin ditambahkan.

      3. Pilih Hasilkan.

      Awas

      Kami sangat menyarankan untuk membatasi penggunaan kunci Amazon Bedrock API untuk eksplorasi Amazon Bedrock. Ketika Anda siap untuk memasukkan Amazon Bedrock ke dalam aplikasi dengan persyaratan keamanan yang lebih besar, Anda harus beralih ke kredensi 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 Amazon Bedrock API jangka panjang di API adalah sebagai berikut:

  1. Buat pengguna IAM dengan mengirimkan CreateUserpermintaan dengan titik akhir IAM.

  2. Lampirkan AmazonBedrockLimitedAccesske pengguna IAM dengan mengirimkan AttachUserPolicypermintaan 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 Amazon Bedrock API. Untuk contoh kebijakan pembatas waktu dan pembatasan alamat IP yang dapat menggunakan kunci, lihat Mengontrol penggunaan kunci akses dengan melampirkan kebijakan inline ke pengguna IAM.

  3. Buat kunci API Amazon Bedrock jangka panjang dengan mengirimkan CreateServiceSpecificCredentialpermintaan dengan titik akhir IAM dan menentukan bedrock.amazonaws.com sebagai. ServiceName

    • Yang ServiceApiKeyValue dikembalikan dalam respons 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 Amazon Bedrock API 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 bahwa Anda telah memenuhi prasyarat:

Prasyarat

Pastikan bahwa pengaturan Anda memungkinkan AWS CLI untuk secara otomatis mengenali AWS kredensil Anda. Untuk mempelajari selengkapnya, lihat Mengonfigurasi setelan 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 AmazonBedrockLimitedAccesske pengguna. Anda dapat mengulangi langkah ini dengan kebijakan AWS-managed atau custom lainnya yang ingin Anda tambahkan ke kunci API: ARNs

    aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
  3. Buat kunci Amazon Bedrock API 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 bahwa Anda telah memenuhi prasyarat:

Prasyarat

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

Jalankan skrip berikut untuk membuat pengguna IAM, melampirkan izin untuk melakukan tindakan Amazon Bedrock, dan buat kunci Amazon Bedrock API jangka panjang untuk diasosiasikan 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 yang lebih pendek dari nilai-nilai berikut:

    • 12 jam

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

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

  • Hanya dapat digunakan di AWS Wilayah tempat Anda membuatnya.

Untuk aplikasi yang berjalan lama, pustaka aws-bedrock-token-generatorklien dapat membuat kunci API jangka pendek Amazon Bedrock baru sesuai kebutuhan saat kredensil di-refresh. Untuk informasi selengkapnya, lihat Siapkan penyegaran otomatis kunci API Amazon Bedrock jangka pendek.

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

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

  • 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 ke: pom.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 kebuild.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 kredensi 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 kasus penggunaan yang berbeda saat membuat 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 membuat ulang kunci jangka pendek baru secara terprogram setiap kali kunci Anda saat ini telah kedaluwarsa. Pertama, pastikan bahwa Anda telah memenuhi prasyarat di. Buat 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-3-5-haiku-20241022-v1:0/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-3-5-haiku-20241022-v1:0/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-3-5-haiku-20241022-v1:0/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()); } }