View a markdown version of this page

Crittografa il tuo AgentCore gateway con una chiave KMS gestita dal cliente - Fondamento Amazon AgentCore

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

Crittografa il tuo AgentCore gateway con una chiave KMS gestita dal cliente

Per impostazione predefinita, Gateway crittografa i dati inattivi utilizzando una chiave del servizio di gestione delle AWS chiavi gestita dal servizio. Tuttavia, puoi opzionalmente fornire la tua chiave KMS gestita dal cliente per crittografare i dati inattivi quando:

  • Crea un gateway.

  • Aggiorna le configurazioni di un gateway.

L'utilizzo di una chiave gestita dal cliente offre un maggiore controllo sul processo di crittografia, inclusa la possibilità di:

  • Ruota la chiave secondo i tuoi orari

  • Controlla l'accesso alla chiave tramite le policy IAM

  • Disabilita o elimina la chiave quando non è più necessaria

  • Controlla l'utilizzo della chiave tramite CloudWatch registri e AWS CloudTrail

Per ulteriori informazioni, consulta AWS la Key Management Service Developer Guide.

Nota

Se scegli di utilizzare una chiave gestita dal cliente, sei responsabile della gestione della chiave e delle relative autorizzazioni. Se la chiave viene disabilitata o eliminata o se Gateway perde l'autorizzazione all'uso della chiave, perderai l'accesso ai dati crittografati.

Prerequisiti per la crittografia del gateway AgentCore

Prima di crittografare il gateway, assicurati di aver soddisfatto i seguenti prerequisiti:

  • Hai accesso a una chiave KMS. Per informazioni sulla creazione di una chiave KMS, consulta Creare una chiave KMS.

  • Alla chiave KMS è associata una politica chiave che consente le seguenti autorizzazioni:

    • Autorizzazioni che consentono al ruolo del servizio gateway di eseguire le seguenti azioni:

      • kms:CreateGrant

      • kms:DescribeKey

      • kms:Decrypt

      • kms:GenerateDataKey

    • (Se abiliti CloudWatch i log per il tuo gateway) Autorizzazioni che consentono al servizio CloudWatch Logs di decrittografare la chiave.

      Per ulteriori informazioni sul controllo delle autorizzazioni IAM per una chiave KMS, consulta l'accesso e le autorizzazioni delle chiavi KMS nella Key Management Service Developer Guide. AWS

Esempio di politica chiave

La seguente politica di esempio fornisce le autorizzazioni necessarie per crittografare un gateway e utilizzare un gateway crittografato. La quarta istruzione consente inoltre a CloudWatch Logs di registrare l'utilizzo delle chiavi per il gateway crittografato. La policy contiene le chiavi di condizione per conformarsi alle migliori pratiche di sicurezza.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowServiceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] } } }, { "Sid": "AllowServiceRoleDecryptKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowServiceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ], "kms:GrantConstraintType": "EncryptionContextSubset" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowKMSDecryptionLogging", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:123456789012:*" } } } ] }

La policy contiene le seguenti dichiarazioni:

  • AllowServiceRoleDescribeKKey— Consente al principale specificato di descrivere la chiave se la richiesta viene effettuata tramite il AgentCore servizio. Sostituisci i valori nei seguenti campi:

    • Principal— Sostituisci il AWS valore con l'ARN effettivo del tuo ruolo di servizio gateway.

    • Condition— Nell'kms:ViaServicearray, sostituiscilo us-east-1 con la AWS regione effettiva per la quale desideri consentire la descrizione della chiave.

  • AllowServiceRoleDecryptKey— Consente al principale specificato di decrittografare la chiave se la richiesta viene effettuata tramite il AgentCore servizio e se l'ARN del gateway a cui viene effettuata la richiesta corrisponde a quello nel campo. kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn Sostituisci i valori seguenti:

    • Principal— Sostituisci il AWS valore con l'ARN effettivo del tuo ruolo di servizio gateway.

    • Condition— Effettuare le seguenti operazioni:

      • Nell'kms:ViaServicearray, us-east-1 sostituiscila con la AWS regione effettiva per la quale desideri consentire la decrittografia della chiave.

      • Sostituisci il kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn valore con l'ARN effettivo del tuo gateway.

  • AllowServiceRoleCreateGrant— Consente al principale specificato di creare una concessione per una chiave se la richiesta viene effettuata tramite il AgentCore servizio e se l'ARN del gateway a cui viene effettuata la richiesta corrisponde a quello nel kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn campo. Sostituisci i valori seguenti:

    • Principal— Sostituisci il AWS valore con l'ARN effettivo del tuo ruolo di servizio gateway.

    • Condition— Effettuare le seguenti operazioni:

      • Nell'kms:ViaServicearray, us-east-1 sostituiscila con la AWS regione effettiva per la quale desideri consentire la decrittografia della chiave.

      • Sostituisci il kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn valore con l'ARN effettivo del tuo gateway (se vuoi consentire).

  • AllowKMSDecryptionLogging— Consente al responsabile specificato di decrittografare una chiave KMS gestita dal cliente per controllare l'utilizzo della chiave tramite Logs. CloudWatch Nel kms:EncryptionContext:SourceArn valore, sostituisci i 123456789012 valori con la regione us-east-1 e l'ID dell'account effettivi. AWS

Esempio
Console
  1. ====== Per crittografare il gateway con una chiave KMS gestita dal cliente

  2. Segui i passaggi della console indicati nella sezione Creazione di un AgentCore gateway Amazon Bedrock ed espandi la chiave KMS (sezione opzionale).

  3. Scegli Personalizza le impostazioni di crittografia (avanzate).

  4. Seleziona una chiave KMS e confermane i dettagli.

    Nota

    Se non vedi la tua chiave KMS, consulta i Prerequisiti per la crittografia del AgentCore gateway e verifica che le autorizzazioni siano configurate correttamente.

  5. Continua con i passaggi rimanenti della console.

CLI
  1. Per crittografare il gateway utilizzando la AWS CLI, includi il valore kms-key-arn quando invii una delle seguenti richieste tramite un client del piano AgentCore di controllo. :

    • crea un gateway

    • gateway di aggiornamento

      L'esempio seguente mostra un esempio di richiesta CLI per creare un gateway con una chiave AWS KMS specificata utilizzando l'argomento: kms-key-arn

      aws bedrock-agentcore-control create-gateway \ --name "MyGateway" \ --role-arn "arn:aws:iam::123456789012:role/GatewayRole" \ --protocol-type "MCP" \ --kms-key-arn "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --authorizer-type "CUSTOM_JWT" \ --authorizer-configuration '{ "customJWTAuthorizer": { "allowedAudience": ["myAudience"], "discoveryUrl": "https://example.com/.well-known/openid-configuration" } }'
Python (Boto3)
  1. Per crittografare il gateway utilizzando AWS Python SDK (Boto3), includi il valore kms-key-arn quando invii una delle seguenti richieste tramite un client del piano di controllo. AgentCore :

    • crea_gateway

    • update_gateway

      L'esempio seguente mostra un esempio di richiesta Boto3 per creare un gateway con una chiave AWS KMS specificata utilizzando l'argomento: kmsKeyArn

      import boto3 # Create client agentcore_client = boto3.client('bedrock-agentcore-control') # Create gateway and specify gateway = agentcore_client.create_gateway( name="MyGateway", roleArn="arn:aws:iam::123456789012:role/GatewayRole", protocolType="MCP", kmsKeyArn="arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" authorizerType="CUSTOM_JWT", authorizerConfiguration= { "customJWTAuthorizer": { "allowedAudience": ["myAudience"], "discoveryUrl": "https://example.com/.well-known/openid-configuration" } } )