

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Generare una chiave API Amazon Bedrock
<a name="api-keys-generate"></a>

Puoi generare una chiave API Amazon Bedrock utilizzando l' Console di gestione AWS o l' AWS API. Ti consigliamo di utilizzare il Console di gestione AWS per generare facilmente una chiave API Amazon Bedrock in pochi passaggi.

**avvertimento**  
Si consiglia di limitare l’uso delle chiavi API Amazon Bedrock per l’esplorazione di Amazon Bedrock. Quando è possibile integrare Amazon Bedrock in applicazioni con requisiti di sicurezza più elevati, è opportuno passare a credenziali a breve termine. Per ulteriori informazioni, consulta [Alternative alle chiavi di accesso a lungo termine](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) nella Guida per l’utente di IAM.

**Topics**
+ [Generare una chiave API Amazon Bedrock con la console](#api-keys-generate-console)
+ [Generare una chiave API Amazon Bedrock a lungo termine utilizzando l’API](#api-keys-generate-api-long-term)
+ [Generare una chiave API Amazon Bedrock a breve termine utilizzando una libreria client](#api-keys-generate-short-term)
+ [Configurare l’aggiornamento automatico delle chiavi API Amazon Bedrock a breve termine](#api-keys-refresh-short-term)

## Generare una chiave API Amazon Bedrock con la console
<a name="api-keys-generate-console"></a>

Per generare una chiave API Amazon Bedrock con la console, esegui queste operazioni:

1. Accedi a Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock in [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Nel riquadro di navigazione a sinistra, seleziona **Chiavi API**.

1. Genera uno dei seguenti tipi di chiave:
   + **Chiave API a breve termine**: nella scheda **Chiavi API a breve termine**, scegli **Genera chiavi API a breve termine**. La chiave scade quando scade la sessione della console (e non più di 12 ore) e ti consente di effettuare chiamate verso la piattaforma da Regione AWS cui l'hai generata. È possibile modificare la Regione direttamente nella chiave generata.
   + **Chiave API a lungo termine**: nella scheda **Chiavi API a breve termine**, scegli **Genera chiavi API a lungo termine**.

     1. Nella sezione **Scadenza della chiave API**, scegli l’ora di scadenza della chiave.

     1. (Facoltativo) Per impostazione predefinita, la policy [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) AWS gestita, che garantisce l'accesso alle operazioni principali dell'API Amazon Bedrock, è allegata all'utente IAM associato alla chiave. Per selezionare altre policy da collegare all’utente, espandi la sezione **Autorizzazioni avanzate** e seleziona le policy da aggiungere.

     1. Scegliere **Generate (Genera)**.
**avvertimento**  
Si consiglia di limitare l’uso delle chiavi API Amazon Bedrock per l’esplorazione di Amazon Bedrock. Quando è possibile integrare Amazon Bedrock in applicazioni con requisiti di sicurezza più elevati, è opportuno passare a credenziali a breve termine. Per ulteriori informazioni, consulta [Alternative alle chiavi di accesso a lungo termine](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) nella Guida per l’utente di IAM.



## Generare una chiave API Amazon Bedrock a lungo termine utilizzando l’API
<a name="api-keys-generate-api-long-term"></a>

I passaggi generali per la creazione di una chiave API Amazon Bedrock a lungo termine nell’API sono i seguenti:

1. [Crea un utente IAM inviando una [CreateUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html)richiesta con un endpoint IAM.](https://docs.aws.amazon.com/general/latest/gr/iam-service.html)

1. Collegalo [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)all'utente IAM inviando una [AttachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html)richiesta con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). È possibile ripetere questo passaggio per collegare all’utente altre policy gestite o personalizzate in base alle esigenze.
**Nota**  
Come best practice di sicurezza, consigliamo di collegare le policy IAM all’utente IAM per limitare l’uso delle chiavi API Amazon Bedrock. Per esempi di policy di limitazione temporale e di limitazione degli indirizzi IP che possono utilizzare la chiave, consulta [Controllare l’uso delle chiavi di accesso collegando una policy in linea a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-keys_inline-policy.html).

1. Genera la chiave API Amazon Bedrock a lungo termine inviando una [CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html.html)richiesta con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) e specificando `bedrock.amazonaws.com` come. `ServiceName`
   + La risposta `ServiceApiKeyValue` restituita è la chiave API Amazon Bedrock a lungo termine.
   + Il valore `ServiceSpecificCredentialId` restituito nella risposta può essere utilizzato per eseguire operazioni API relative alla chiave.

Per informazioni su come generare una chiave API Amazon Bedrock, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ CLI ]

Per creare una chiave API Amazon Bedrock a lungo termine, utilizzi le operazioni AWS Identity and Access Management API. Verifica innanzitutto di soddisfare il prerequisito:

**Prerequisito**  
Assicurati che la configurazione consenta loro di AWS CLI riconoscere automaticamente le tue AWS credenziali. Per ulteriori informazioni, consulta [Configurazione delle impostazioni per la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

Aprire una finestra del terminale ed eseguire i comandi seguenti:

1. Crea un utente IAM. Puoi sostituire il nome con uno a tua scelta:

   ```
   aws iam create-user --user-name bedrock-api-user
   ```

1. Allega il [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)all'utente. Puoi ripetere questo passaggio con qualsiasi altra politica AWS gestita o personalizzata che desideri aggiungere alla chiave API: ARNs 

   ```
   aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
   ```

1. Crea la chiave API Amazon Bedrock a lungo termine, sostituendola *\$1\$1NUMBER-OF-DAYS\$1* con il numero di giorni per i quali desideri che duri la chiave:

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

------
#### [ Python ]

Per creare una chiave API Amazon Bedrock a lungo termine, utilizzi le operazioni AWS Identity and Access Management API. Verifica innanzitutto di soddisfare il prerequisito:

**Prerequisito**  
Assicurati che la tua configurazione consenta a Python di riconoscere automaticamente le tue AWS credenziali. Per ulteriori informazioni, consulta [Configurazione delle impostazioni per la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

Esegui lo script seguente per creare un utente IAM, collegare le autorizzazioni per eseguire azioni Amazon Bedrock e generare una chiave API Amazon Bedrock a lungo termine da associare all’utente:

```
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)
```

------

## Generare una chiave API Amazon Bedrock a breve termine utilizzando una libreria client
<a name="api-keys-generate-short-term"></a>

Le chiavi a breve termine hanno le proprietà indicate di seguito.
+ Validità per il minore dei seguenti valori:
  + 12 ore
  + Durata della sessione generata dal principale IAM utilizzato per generare la chiave.
+ Eredita le autorizzazioni collegate al principale utilizzato per generare la chiave.
+ Può essere utilizzato solo nella AWS regione da cui è stato generato.

Per le applicazioni a esecuzione prolungata, la libreria [aws-bedrock-token-generator](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md)client può creare nuove chiavi API a breve termine di Amazon Bedrock, se necessario, quando le credenziali vengono aggiornate. Per ulteriori informazioni, consulta [Configurare l’aggiornamento automatico delle chiavi API Amazon Bedrock a breve termine](#api-keys-refresh-short-term).

**Prerequisiti**
+ Verifica che il principale IAM utilizzato per generare la chiave sia configurato con le autorizzazioni appropriate per utilizzare Amazon Bedrock. Per la sperimentazione, puoi allegare la policy AWS[AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)-managed al principale. Per proteggere le credenziali, consulta [Best practice per la sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
+ Assicurati che la tua configurazione consenta a Python di riconoscere automaticamente le tue AWS credenziali. Il metodo predefinito con cui vengono recuperate le credenziali segue una gerarchia definita. Puoi visualizzare la gerarchia per un SDK o uno strumento specifico nei provider di credenziali standardizzati [AWS SDKs and Tools](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html).
+ Installa il generatore di token Amazon Bedrock. Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ Python ]

Apri un terminale ed esegui questo comando:

```
pip install aws-bedrock-token-generator
```

------
#### [ Javascript ]

Apri un terminale ed esegui questo comando:

```
npm install @aws/bedrock-token-generator
```

------
#### [ Java ]

Se utilizzi Maven, aggiungi la dipendenza seguente a `pom.xml`:

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

Se usi Gradle, aggiungi quanto segue a `build.gradle`:

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

------

**Esempi**  
Per esempi di utilizzo del generatore di token per generare una chiave API Amazon Bedrock a breve termine con le credenziali predefinite in diverse lingue, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ 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();
```

------

Per altri esempi di diversi casi d’uso per la generazione di token, consulta i seguenti link:
+ [Python](https://github.com/aws/aws-bedrock-token-generator-python/blob/main/README.md)
+ [Javascript](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md)
+ [Java](https://github.com/aws/aws-bedrock-token-generator-java/blob/main/README.md)

## Configurare l’aggiornamento automatico delle chiavi API Amazon Bedrock a breve termine
<a name="api-keys-refresh-short-term"></a>

È possibile creare uno script con l’aiuto del pacchetto `aws-bedrock-token-generator` per rigenerare a livello di codice una nuova chiave a breve termine ogni volta che quella attuale è scaduta. Verifica innanzitutto di soddisfare il prerequisito in [Generare una chiave API Amazon Bedrock a breve termine utilizzando una libreria client](#api-keys-generate-short-term). Per esempi di script che recuperano un token ed effettuano una richiesta Converse, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ 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());
    }
}
```

------