

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

# Chiavi API
<a name="api-keys"></a>

È possibile effettuare facilmente chiamate all’API Amazon Bedrock generando una chiave API Amazon Bedrock e utilizzandola per autenticare la propria identità quando si effettuano richieste all’API Amazon Bedrock.

**Nota**  
Per scopi di controllo e conformità, tutte le chiamate API vengono registrate AWS CloudTrail. Le chiavi API Amazon Bedrock vengono passate come intestazioni di autorizzazione alle richieste API e non vengono registrate.  
Le chiavi API Amazon Bedrock sono limitate alle azioni [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) e [runtime di Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Non è possibile utilizzarle con le operazioni API seguenti:  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Operazioni API [Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) o [runtime di Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Operazioni API [Data Automation per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) o [runtime per Amazon Bedrock Data Automation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Amazon Bedrock consente di generare i seguenti tipi di chiavi API Amazon Bedrock:
+ **A breve termine**: chiave API Amazon Bedrock che duri quanto la sessione (e non più di 12 ore). È necessario disporre già di un [principale IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-structure-terms) configurato con le autorizzazioni appropriate per utilizzare Amazon Bedrock. Questa opzione è preferita rispetto alle chiavi a lungo termine per ambienti di produzione che richiedano un cambio regolare delle credenziali per una maggiore sicurezza.

  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.
+ **A lungo termine**: chiave API Amazon Bedrock con le autorizzazioni per effettuare richieste API di base in Amazon Bedrock. Questa semplice opzione con un solo clic ti consente di iniziare rapidamente a esplorare l'API Amazon Bedrock senza dover comprendere l'infrastruttura di sicurezza sottostante o configurare manualmente le autorizzazioni. AWS Identity and Access Management Se si utilizza Amazon Bedrock per la prima volta, si può provare l’esempio in [Nozioni di base sulle chiavi API di Amazon Bedrock: generazione di una chiave di 30 giorni ed esecuzione della prima chiamata API](getting-started-api-keys.md) per un semplice tutorial per creare una chiave a lungo termine e iniziare a utilizzare Amazon Bedrock.
**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.

Selezionare un argomento per saperne di più sulle chiavi API Amazon Bedrock. Esistono varie opzioni per i diversi tipi di chiavi Amazon Bedrock e vari modi di personalizzarle. Per un tutorial introduttivo su come generare una chiave API Amazon Bedrock a lungo termine e su come utilizzarla per scopi esplorativi, consulta [Nozioni di base sulle chiavi API di Amazon Bedrock: generazione di una chiave di 30 giorni ed esecuzione della prima chiamata API](getting-started-api-keys.md).

**Topics**
+ [Funzionamento delle chiavi API Amazon Bedrock](api-keys-how.md)
+ [Regioni e kit di sviluppo AWS software supportati (SDKs) per le chiavi API di Amazon Bedrock](api-keys-supported.md)
+ [Generare una chiave API Amazon Bedrock](api-keys-generate.md)
+ [Uso di una chiave API Amazon Bedrock](api-keys-use.md)
+ [Modificare le autorizzazioni per chiavi API Amazon Bedrock a lungo e breve termine](api-keys-modify.md)
+ [Gestire chiavi API Amazon Bedrock compromesse a lungo e breve termine](api-keys-revoke.md)
+ [Controllare le autorizzazioni per la generazione e l’utilizzo delle chiavi API Amazon Bedrock](api-keys-permissions.md)

# Funzionamento delle chiavi API Amazon Bedrock
<a name="api-keys-how"></a>

Nell’immagine seguente viene confrontato il processo predefinito per ottenere le credenziali per l’uso della chiave API Amazon Bedrock:

![\[Processo di configurazione dell’API predefinito rispetto al processo di configurazione dell’API con la chiave API Amazon Bedrock\]](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/setup/setup-api.png)


Il flusso più a sinistra nel diagramma mostra il processo predefinito di creazione di un’identità in AWS IAM Identity Center o in IAM. Con questo processo, si collegano le policy IAM a tale identità per fornire le autorizzazioni che consentono di eseguire operazioni API e di generare credenziali AWS generali per tale identità. È quindi possibile utilizzare le credenziali per effettuare chiamate API in AWS.

I nodi blu indicano altri due flussi da autenticare in modo specifico in Amazon Bedrock. Entrambi i flussi prevedono la creazione di una chiave API Amazon Bedrock con cui è possibile eseguire l’autenticazione per utilizzare le azioni Amazon Bedrock. Si possono generare i seguenti tipi di chiavi:
+ **Chiave a breve termine**: opzione sicura che consente l’accesso temporaneo ad Amazon Bedrock.

  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 utilizzata solo nella Regione AWS da cui è stata generata.
+ **Chiave a lungo termine**: consigliata solo per l’esplorazione di Amazon Bedrock. È possibile impostare il tempo dopo il quale scade la chiave. Quando si genera una chiave a lungo termine, viene automaticamente creato un utente IAM adatto, vengono collegate le policy IAM selezionate e viene associata la chiave all’utente. Dopo aver generato la chiave, è possibile utilizzare il servizio IAM per [modificare le autorizzazioni per l’utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).
**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.

# Regioni e kit di sviluppo AWS software supportati (SDKs) per le chiavi API di Amazon Bedrock
<a name="api-keys-supported"></a>

L'elenco seguente mostra le chiavi API Regioni AWS che supportano:
+ ap-northeast-1
+ ap-northeast-2
+ ap-northeast-3
+ ap-south-1
+ ap-south-2
+ ap-southeast-1
+ ap-southeast-2
+ ca-central-1
+ eu-central-1
+ eu-central-2
+ eu-north-1
+ eu-south-1
+ eu-south-2
+ eu-west-1
+ eu-west-2
+ eu-west-3
+ sa-east-1
+ us-east-1
+ us-gov-east-1
+ us-gov-west-1
+ us-west-2

**Nota**  
Le chiavi API Amazon Bedrock sono limitate alle azioni [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) e [runtime di Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Non è possibile utilizzarle con le operazioni API seguenti:  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Operazioni API [Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) o [runtime di Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Operazioni API [Data Automation per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) o [runtime per Amazon Bedrock Data Automation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Le chiavi API Amazon Bedrock sono supportate con quanto segue: AWS SDKs
+ Python
+ Javascript
+ Java

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

Per generare una chiave API Amazon Bedrock, utilizzare la Console di gestione AWS o l’API AWS. Si consiglia di utilizzare la 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 alla Console di gestione AWS con un’identità IAM che disponga delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock all’indirizzo [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 alla scadenza della sessione della console (e non dura più di 12 ore) e consente di effettuare chiamate alla Regione AWS da cui è stata 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) gestita da AWS, che consente l’accesso alle operazioni principali dell’API Amazon Bedrock, è collegata 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 richiesta [CreateUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html) con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html).

1. Collega [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) all’utente IAM inviando una richiesta [AttachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html) 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 richiesta [CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html.html) 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, si utilizzano le operazioni dell’API AWS Identity and Access Management. Verifica innanzitutto di soddisfare il prerequisito:

**Prerequisito**  
Verifica che la configurazione consenta alla AWS CLI di riconoscere automaticamente le credenziali AWS. 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. Creare un utente IAM. Puoi sostituire il nome con uno a tua scelta:

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

1. Collega [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) all’utente. Puoi ripetere questo passaggio con gli ARN di qualsiasi altra policy gestita da AWS o personalizzata che desideri aggiungere alla chiave API:

   ```
   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, sostituendo *\$1\$1NUMBER-OF-DAYS\$1* con il numero di giorni di durata della 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, si utilizzano le operazioni dell’API AWS Identity and Access Management. Verifica innanzitutto di soddisfare il prerequisito:

**Prerequisito**  
Verifica che la configurazione consenta a Python di riconoscere automaticamente le credenziali AWS. 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 utilizzata solo nella Regione AWS da cui è stata generata.

Per le applicazioni di lunga durata, la libreria client [aws-bedrock-token-generator](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md) può creare nuove chiavi API Amazon Bedrock a breve termine, 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 provare, collega la policy [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) gestita da AWS 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).
+ Verifica che la configurazione consenta a Python di riconoscere automaticamente le credenziali AWS. Il metodo predefinito con cui vengono recuperate le credenziali segue una gerarchia definita. Per visualizzare la gerarchia per uno specifico SDK o strumento consulta [Provider di credenziali di SDK AWS standardizzati e strumenti](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-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());
    }
}
```

------

# Uso di una chiave API Amazon Bedrock
<a name="api-keys-use"></a>

La chiave API Amazon Bedrock può essere utilizzata nei modi indicati di seguito.
+ **Impostata come variabile di ambiente**: il servizio Amazon Bedrock riconosce la variabile di ambiente `AWS_BEARER_TOKEN_BEDROCK`. Per impostare la chiave sono disponibili le seguenti opzioni:
  + Apri un terminale:
    + **MacOS/Linux**

      ```
      export AWS_BEARER_TOKEN_BEDROCK=${api-key}
      ```
    + **Windows**

      ```
      setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"
      ```
  + Imposta la chiave come variabile di ambiente nel codice prima di effettuare la richiesta API. Ad esempio, puoi includere le seguenti righe prima di effettuare la richiesta:
    + **Python**

      ```
      import os                      
      os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
      ```
+ **Specificata in una richiesta**: è possibile includere la chiave API Amazon Bedrock nell’intestazione di autorizzazione nei modi seguenti (sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con il valore effettivo):
  + **In una richiesta HTTP diretta**: includi il codice seguente come intestazione dell’autorizzazione:

    ```
    Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK
    ```
  + **Come parametro in un SDK supportato**: specifica il valore nel parametro durante la configurazione del client. Ad esempio, puoi specificare il valore nel campo `api_key` quando configuri un client con [OpenAI Python SDK](https://github.com/openai/openai-python?tab=readme-ov-file#usage).

**Nota**  
Le chiavi API Amazon Bedrock sono limitate alle azioni [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) e [runtime di Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Non è possibile utilizzarle con le operazioni API seguenti:  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Operazioni API [Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) o [runtime di Agent per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Operazioni API [Data Automation per Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) o [runtime per Amazon Bedrock Data Automation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Per esempio di utilizzo della chiave API per inviare una richiesta [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) per generare una risposta, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

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

L’esempio seguente mostra come inviare una richiesta API con AWS SDK per Python (Boto3). Se non hai già impostato la chiave API come variabile di ambiente `AWS_BEARER_TOKEN_BEDROCK`, specificala al posto di *\$1\$1api-key\$1* nel codice seguente:

```
import os
import boto3
                        
# If you already set the API key as an environment variable, you can comment this line out                        
os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"

# Create an Amazon Bedrock client
client = boto3.client(
    service_name="bedrock-runtime",
    region_name="us-east-1" # If you've configured a default region, you can omit this line
)

# Define the model and message
model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
messages = [{"role": "user", "content": [{"text": "Hello"}]}]

response = client.converse(
    modelId=model_id,
    messages=messages,
)
```

------
#### [ HTTP Client (requests package in Python) ]

**Prerequisito:** per installare il pacchetto `requests`, apri un terminale ed esegui questo comando:

```
python3 -m pip install requests
```

L’esempio seguente mostra come inviare direttamente una richiesta API con un client HTTP. Specifica *\$1\$1api-key\$1* nell’intestazione.

```
import requests

url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"

payload = {
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer ${api-key}"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
```

------
#### [ HTTP request using cURL ]

L’esempio seguente mostra come inviare direttamente una richiesta API con cURL. Se non hai impostato la chiave API come variabile di ambiente AWS\$1BEARER\$1TOKEN\$1BEDROCK, devi sostituire `$AWS_BEARER_TOKEN_BEDROCK` nell’esempio con il valore letterale della chiave.

```
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
  -d '{
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
  }'
```

------

# Modificare le autorizzazioni per chiavi API Amazon Bedrock a lungo e breve termine
<a name="api-keys-modify"></a>

Quando si genera una chiave API Amazon Bedrock a lungo termine, si crea un utente IAM associato alla chiave stessa. Per modificare le autorizzazioni associate alla chiave, modificare le autorizzazioni per l’utente IAM tramite il servizio IAM. Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella Guida per l’utente di IAM.

**Nota**  
Se hai generato la chiave a lungo termine in Console di gestione AWS, per impostazione predefinita [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)viene associata ad essa. Se si intende modificare le autorizzazioni, rimuovere la policy prima di impostare le autorizzazioni personalizzate.

## Esempio di modifica delle autorizzazioni per le chiavi API
<a name="api-keys-modify-example"></a>

La procedura seguente mostra come sostituirla [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)con una più restrittiva:

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. Seleziona la scheda **Chiavi API a lungo termine**.

1. Seleziona la chiave API desiderata, quindi scegli **Gestisci nella console IAM**.

1. **Seleziona la scheda **Autorizzazioni**, scegli la **AmazonBedrockLimitedAccess**politica e scegli Rimuovi.**
**Nota**  
A questo punto, hai rimosso tutte le autorizzazioni dalla APi chiave e non potrai farci nulla.

1. Nella sezione **Policy di autorizzazione**, seleziona **Crea policy in linea** nell’elenco a discesa **Aggiungi autorizzazioni**.

1. Nell’**editor delle policy**, seleziona **JSON**. Incolla la seguente policy nell’editor.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:CallWithBearerToken"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:InvokeModel*"
               ],
               "Resource": [
                   "arn:aws:bedrock:us-west-2:111122223333:inference-profile/us.anthropic.claude-3-haiku-20240307-v1:0"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:InvokeModel*"
               ],
               "Resource": [
                   "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
                   "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-haiku-20240307-v1:0"
               ],
               "Condition": {
                   "StringLike": {
                       "bedrock:InferenceProfileArn": "arn:aws:bedrock:us-west-2:111122223333:inference-profile/us.anthropic.claude-3-haiku-20240307-v1:0"
                   }
               }
           }
       ]
   }
   ```

------

1. Scegli **Successivo**, immetti un valore in **Nome policy**, quindi seleziona **Crea policy**.

1. Con questa chiave API, un utente ora può eseguire l’inferenza solo con il profilo di inferenza Anthropic Claude 3 Haiku negli Stati Uniti occidentali (Oregon).

# Gestire chiavi API Amazon Bedrock compromesse a lungo e breve termine
<a name="api-keys-revoke"></a>

Se la chiave API è compromessa, è necessario revocare le autorizzazioni per utilizzarla. Esistono vari metodi che consentono di revocare le autorizzazioni per una chiave API Amazon Bedrock:
+ Per le chiavi API Amazon Bedrock a lungo termine [UpdateServiceSpecificCredential[ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html.html)](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html), puoi utilizzare o [DeleteServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html.html)revocare le autorizzazioni nei seguenti modi:
  + Impostare lo stato della chiave su inattivo. La chiave può essere riattivata in seguito.
  + Ripristinare la chiave. Questa azione genera una nuova password per la chiave.
  + Eliminare la chiave in modo permanente.
**Nota**  
Per eseguire queste azioni tramite l'API, devi autenticarti con AWS credenziali e non con una chiave API Amazon Bedrock.
+ Per le chiavi API Amazon Bedrock sia a lungo che a breve termine, è possibile collegare policy IAM per revocare le autorizzazioni.

**Topics**
+ [Modificare lo stato di una chiave API Amazon Bedrock a lungo termine](#api-keys-change-status)
+ [Ripristinare una chiave API Amazon Bedrock a lungo termine](#api-keys-reset)
+ [Eliminare una chiave API Amazon Bedrock a lungo termine](#api-keys-delete)
+ [Collegare le policy IAM per rimuovere le autorizzazioni per l’utilizzo di una chiave API Amazon Bedrock](#api-keys-iam-policies)

## Modificare lo stato di una chiave API Amazon Bedrock a lungo termine
<a name="api-keys-change-status"></a>

Se si deve impedire che una chiave venga utilizzata temporaneamente, disattivarla. Quando è possibile riutilizzarla, riattivarla.

Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ Console ]

**Come disattivare una chiave**

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. Nella sezione **Chiavi API a lungo termine**, scegli una chiave per cui il campo **Stato** è **Inattivo**.

1. Scegli **Azioni**.

1. Seleziona **Deactivate** (Disattiva).

1. Per confermare, seleziona **Disattiva la chiave API**. Il valore del campo **Stato** della chiave diventa **Inattivo**.

**Come riattivare una chiave**

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. Nella sezione **Chiavi API a lungo termine**, scegli una chiave per cui il campo **Stato** è **Inattivo**.

1. Scegli **Azioni**.

1. Seleziona **Attiva**.

1. Per confermare, seleziona **Attiva la chiave API**. Il valore del campo **Stato** della chiave diventa **Attivo**.

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

Per disattivare una chiave utilizzando l'API, invia una [UpdateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html)richiesta con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) e specifica l'as. `Status` `Inactive` Puoi utilizzare il seguente frammento di codice per disattivare una chiave, sostituendolo *\$1\$1ServiceSpecificCredentialId\$1* con il valore restituito quando hai creato la chiave.

```
import boto3
                        
iam_client = boto3.client("iam")
                      
iam_client.update_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId},
    status="Inactive"
)
```

Per riattivare una chiave utilizzando l'API, invia una [UpdateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html)richiesta con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) e specifica as. `Status` `Active` Puoi utilizzare il seguente frammento di codice per riattivare una chiave, sostituendolo *\$1\$1ServiceSpecificCredentialId\$1* con il valore restituito quando hai creato la chiave.

```
import boto3
                        
iam_client = boto3.client("iam")
                      
iam_client.update_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId},
    status="Active"
)
```

------

## Ripristinare una chiave API Amazon Bedrock a lungo termine
<a name="api-keys-reset"></a>

Se il valore della chiave è stato compromesso o se non possiedi più la chiave, puoi ripristinarla. La chiave non deve essere ancora scaduta. Se è già scaduta, elimina la chiave e creane una nuova.

Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ Console ]

**Come reimpostare una chiave**

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. Nella sezione **Chiavi API a lungo termine**, scegli una chiave.

1. Scegli **Azioni**.

1. Seleziona **Ripristina chiave**.

1. Seleziona **Avanti**.

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

[Per reimpostare una chiave utilizzando l'API, invia una [ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html.html)richiesta con un endpoint IAM.](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) Puoi utilizzare il seguente frammento di codice per reimpostare una chiave, sostituendola *\$1\$1ServiceSpecificCredentialId\$1* con il valore restituito quando hai creato la chiave.

```
import boto3
            
iam_client = boto3.client("iam")
          
iam_client.reset_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId}
)
```

------

## Eliminare una chiave API Amazon Bedrock a lungo termine
<a name="api-keys-delete"></a>

Se non hai più bisogno di una chiave o se la chiave è scaduta, eliminala.

Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

------
#### [ Console ]

**Come eliminare una chiave**

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. Nella sezione **Chiavi API a lungo termine**, scegli una chiave.

1. Scegli **Azioni**.

1. Seleziona **Elimina**.

1. Conferma l’eliminazione.

**Una chiave API è collegata a un utente IAM**  
L'eliminazione di questa chiave API non elimina l'utente IAM che è stato creato con questa chiave come proprietario. Puoi eliminare l'utente IAM dalla console IAM nel passaggio successivo.

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

Per eliminare una chiave utilizzando l'API, invia una [DeleteServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html.html)richiesta con un [endpoint IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). Puoi utilizzare il seguente frammento di codice per eliminare una chiave, sostituendola *\$1\$1ServiceSpecificCredentialId\$1* con il valore restituito quando hai creato la chiave.

```
import boto3
            
iam_client = boto3.client("iam")
          
iam_client.delete_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId}
)
```

------

## Collegare le policy IAM per rimuovere le autorizzazioni per l’utilizzo di una chiave API Amazon Bedrock
<a name="api-keys-iam-policies"></a>

In questa sezione vengono fornite alcune policy IAM che è possibile utilizzare per limitare l’accesso a una chiave API Amazon Bedrock.

### Negare a un’identità la possibilità di effettuare chiamate con una chiave API Amazon Bedrock
<a name="api-keys-iam-policies-deny-call-with-bearer-token"></a>

L’azione che consente a un’identità di effettuare chiamate con una chiave API Amazon Bedrock è `bedrock:CallWithBearerToken`. Per impedire a un’identità di effettuare chiamate con la chiave API Amazon Bedrock, collega una policy IAM a un’identità a seconda del tipo di chiave:
+ **Chiave a lungo termine**: collega la policy all’utente IAM associato alla chiave.
+ **Chiave a breve termine**: collega la policy al ruolo IAM utilizzato per generare la chiave.

La policy IAM che si può collegare all’identità IAM è la seguente:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "bedrock:CallWithBearerToken",
    "Resource": "*"
  }
}
```

------

### Invalidare una sessione di ruolo IAM
<a name="api-keys-iam-policies-invalidate-session"></a>

Se una chiave a breve termine è compromessa, è possibile impedirne l’utilizzo invalidando la sessione di ruolo utilizzata per generare la chiave stessa. Per invalidare la sessione di ruolo, collega la seguente policy all’identità IAM che ha generato la chiave. Sostituisci *2014-05-07T23:47:00Z* con l'ora dopo la quale desideri che la sessione venga invalidata.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
      "DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"}
    }
  }
}
```

------

# Controllare le autorizzazioni per la generazione e l’utilizzo delle chiavi API Amazon Bedrock
<a name="api-keys-permissions"></a>

La generazione e l’utilizzo delle chiavi API Amazon Bedrock sono controllati da azioni e chiavi di condizione nei servizi Amazon Bedrock e IAM.

**Controllo della generazione di chiavi API Amazon Bedrock**  
L'CreateServiceSpecificCredentialazione [iam:](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-actions-as-permissions) controlla la generazione di una chiave specifica del servizio (come una chiave API Amazon Bedrock a lungo termine). È possibile questa azione agli utenti IAM come una risorsa per limitare gli utenti per cui è possibile generare una chiave.

Per imporre condizioni all’autorizzazione per l’azione `iam:CreateServiceSpecificCredential`, è possibile utilizzare le chiavi di condizione seguenti:
+ [iam: ServiceSpecificCredentialAgeDays](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Consente di specificare, nella condizione, il tempo di scadenza della chiave in giorni. Ad esempio, si può utilizzare questa chiave di condizione per consentire solo la creazione di chiavi API che scadono entro 90 giorni.
+ [iam: ServiceSpecificCredentialServiceName](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Consente di specificare, nella condizione, il nome di un servizio. Ad esempio, si può utilizzare questa chiave di condizione per consentire solo la creazione di chiavi API per Amazon Bedrock e non per altri servizi.

**Controllo dell’utilizzo di chiavi API Amazon Bedrock**  
Il [fondamento:](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) l'CallWithBearerTokenazione controlla l'uso di una chiave API Amazon Bedrock a breve o lungo termine.

È possibile utilizzare la chiave di condizione `bedrock:bearerTokenType` con [gli operatori di condizione stringa](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String) per specificare il tipo di token di connessione per cui richiedere l’autorizzazione per `bedrock:CallWithBearerToken`. È possibile specificare uno dei seguenti valori:
+ `SHORT_TERM`: specifica le chiavi API Amazon Bedrock a breve termine nella condizione.
+ `LONG_TERM`: specifica le chiavi API Amazon Bedrock a lungo termine nella condizione.

La tabella seguente riassume come impedire a un’identità di generare o utilizzare chiavi API Amazon Bedrock:


****  

| Scopo | Chiave a lungo termine | Chiave a breve termine | 
| --- | --- | --- | 
| Impedire la generazione di chiavi | Collegare una policy che neghi l’azione iam:CreateServiceSpecificCredential a un’identità IAM. | N/D | 
| Impedire l’uso di una chiave | Collegare una policy che neghi l’azione bedrock:CallWithBearerToken all’utente IAM associato alla chiave. | Collegare una policy che neghi l’azione bedrock:CallWithBearerToken alle identità IAM a cui non si desidera concedere l’autorizzazione a utilizzare la chiave. | 

**avvertimento**  
Poiché una chiave API Amazon Bedrock a breve termine utilizza le credenziali esistenti di una sessione, è possibile impedirne l’utilizzo negando l’azione `bedrock:CallWithBearerToken` all’identità che ha generato la chiave. Tuttavia, non è possibile impedire la generazione di una chiave a breve termine.

## Esempi di policy per controllare la generazione e l’utilizzo delle chiavi API
<a name="api-keys-permissions-examples"></a>

Per un esempio di policy IAM che controllano la generazione e l’utilizzo delle chiavi API, seleziona uno dei seguenti argomenti:

**Topics**
+ [Impedire a un’identità di generare chiavi a lungo termine e di utilizzare chiavi API Amazon Bedrock](#api-keys-permissions-examples-prevent-generation-and-use)
+ [Impedire a un’identità di utilizzare chiavi API a breve termine](#api-keys-permissions-examples-prevent-use-short-term)
+ [Impedire a un’identità di utilizzare chiavi API a breve termine](#api-keys-permissions-examples-prevent-use-long-term)
+ [Impedire in modo esplicito a un’identità di utilizzare chiavi API a breve termine](#api-keys-permissions-examples-deny-use-short-term-explicitly)
+ [Impedire in modo esplicito a un’identità di utilizzare chiavi API a lungo termine](#api-keys-permissions-examples-deny-use-long-term-explicitly)
+ [Consentire la creazione di chiavi Amazon Bedrock solo se scadono entro 90 giorni](#api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days)

### Impedire a un’identità di generare chiavi a lungo termine e di utilizzare chiavi API Amazon Bedrock
<a name="api-keys-permissions-examples-prevent-generation-and-use"></a>

Per impedire a un’identità IAM di generare chiavi API Amazon Bedrock a lungo termine e di utilizzare qualsiasi chiave API Amazon Bedrock, collega la seguente policy all’identità:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"DenyBedrockShortAndLongTermAPIKeys",
      "Effect": "Deny",
      "Action": [
        "iam:CreateServiceSpecificCredential",
        "bedrock:CallWithBearerToken"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

**avvertimento**  
Non è possibile impedire la generazione di chiavi a breve termine.
Questa politica impedirà la creazione di credenziali per tutti i AWS servizi che supportano la creazione di credenziali specifiche per un servizio. Per ulteriori informazioni, consulta [Credenziali specifiche del servizio per gli utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_service-specific-creds.html).

### Impedire a un’identità di utilizzare chiavi API a breve termine
<a name="api-keys-permissions-examples-prevent-use-short-term"></a>

Per impedire a un’identità IAM di utilizzare chiavi API Amazon Bedrock a breve termine, collega la seguente policy all’identità:

### Impedire a un’identità di utilizzare chiavi API a breve termine
<a name="api-keys-permissions-examples-prevent-use-long-term"></a>

Per impedire a un’identità IAM di utilizzare chiavi API Amazon Bedrock a lungo termine, collega la seguente policy all’identità:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        }
    ]
}
```

------

### Impedire in modo esplicito a un’identità di utilizzare chiavi API a breve termine
<a name="api-keys-permissions-examples-deny-use-short-term-explicitly"></a>

Per impedire in modo esplicito a un’identità IAM di utilizzare chiavi API Amazon Bedrock a breve termine consentendo però l’utilizzo di altre chiavi API, collega la seguente policy all’identità:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "SHORT_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### Impedire in modo esplicito a un’identità di utilizzare chiavi API a lungo termine
<a name="api-keys-permissions-examples-deny-use-long-term-explicitly"></a>

Per impedire in modo esplicito a un’identità IAM di utilizzare chiavi API Amazon Bedrock a lungo termine consentendo però l’utilizzo di altre chiavi API, collega la seguente policy all’identità:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### Consentire la creazione di chiavi Amazon Bedrock solo se scadono entro 90 giorni
<a name="api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days"></a>

Per consentire a un’identità IAM di creare una chiave API a lungo termine solo per Amazon Bedrock e se il tempo di scadenza è pari o inferiore a 90 giorni, collega la seguente policy all’identità:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": "iam:CreateServiceSpecificCredential",
           "Resource": "arn:aws:iam::123456789012:user/username",
           "Condition": {
               "StringEquals": {
                   "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com"
               },
               "NumericLessThanEquals": {
                   "iam:ServiceSpecificCredentialAgeDays": "90"
               }
           }
       }
   ]
}
```

------