Actualice las claves de API de Amazon Bedrock a corto plazo para aumentar el control y la seguridad - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualice las claves de API de Amazon Bedrock a corto plazo para aumentar el control y la seguridad

Una vez que esté más familiarizado con Amazon Bedrock, le recomendamos encarecidamente que no utilice claves de API de Amazon Bedrock de larga duración. En su lugar, debería pasar a utilizar credenciales de seguridad temporales o claves de API de Amazon Bedrock de corta duración.

Puede crear un script con la ayuda del aws-bedrock-token-generator paquete para regenerar mediante programación una nueva clave de corto plazo cada vez que la actual haya caducado. En primer lugar, asegúrate de cumplir los requisitos previos que se indican en. Genere una clave de API de Amazon Bedrock a corto plazo mediante la API

A continuación, puede utilizar el siguiente script de Python:

from datetime import datetime, timedelta import os import boto3 from botocore.credentials import Credentials from aws_bedrock_token_generator import BedrockTokenGenerator # Replace the following values as necessary SESSION_DURATION = timedelta(hours=12) # 12 hours is the maximum EFFECTIVE_TOKEN_DURATION = min(SESSION_DURATION, timedelta(hours=12)) # The token can last no longer than 12 hours ROLE_ARN = "arn:aws:iam::111122223333:role/TargetRole" # Ensure that the identity you're authenticating with has permissions to assume this role ROLE_SESSION_NAME = "your-session-name" REGION = "us-east-1" def get_session_from_assume(): sts = boto3.client("sts") response = sts.assume_role( RoleArn=ROLE_ARN, RoleSessionName=ROLE_SESSION_NAME, DurationSeconds=int(SESSION_DURATION.total_seconds()) ) creds = response["Credentials"] return Credentials( access_key=creds["AccessKeyId"], secret_key=creds["SecretAccessKey"], token=creds["SessionToken"] ) # Step 1: Generate initial token and note timestamp generator = BedrockTokenGenerator() creds = get_session_from_assume() token = generator.get_token(creds, region=REGION) token_created_at = datetime.utcnow() # Step 2: Later in your long lived process — before using the token if datetime.utcnow() - token_created_at >= EFFECTIVE_TOKEN_DURATION: creds = get_session_from_assume() token = generator.get_token(creds, region=REGION) token_created_at = datetime.utcnow() else: # Token is still valid pass # Set the token as an environment variable so you can use it in API calls os.environ['AWS_BEARER_TOKEN_BEDROCK'] = token