Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

247
Vistas
Acceda a aws dynamodb usando boto3 cuando se haya configurado MFA. Obtener ClientError

Anteriormente, cuando no configuré MFA para iniciar sesión en la consola de AWS, me conecté a dynamodb mediante

 dynamo = boto3.resource('dynamodb', region_name='ap-northeast-2', endpoint_url='http://dynamodb.ap-northeast-2.amazonaws.com') table = dynamo.Table('tablename')

y preguntar a esa mesa estaba perfectamente bien.

 response = table.query( KeyConditionExpression =Key("user_id").eq(123123) )

Después de configurar MFA para seguridad adicional para iniciar sesión en la consola de AWS y ahora, cuando ejecuto el código anterior, obtengo:

 ClientError: An error occurred (UnrecognizedClientException) when calling the Query operation: The security token included in the request is invalid.

Yo uso el túnel para RDB, ¿hay algo así que pueda usar para conectarme a dynamodb o hay algún permiso que necesito para acceder a dynamodb?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Cuando habilita MFA, SDK no sabe automáticamente cómo trabajar con él. Las claves SECRET y API de su usuario habitual de IAM ya no son suficientes. En su lugar, debe usar credenciales temporales creadas solo para su sesión de MFA.

Para hacer que MFA funcione con boto3, debe llamar explícitamente a get_session_token :

Los usuarios de IAM habilitados para MFA tendrían que llamar a GetSessionToken y enviar un código MFA asociado con su dispositivo MFA. Utilizando las credenciales de seguridad temporales que se devuelven de la llamada, los usuarios de IAM pueden realizar llamadas programáticas a las operaciones de API que requieren autenticación MFA.

Usando get_session_token puede llamar al servicio sts que le proporcionará credenciales temporales basadas en sus detalles de MFA:

 sts = boto3.client('sts') mfa_response = sts.get_session_token( DurationSeconds=123, SerialNumber='string', TokenCode='string' )

La llamada devolverá las credenciales en mfa_response que puede usar para crear una nueva sesión de boto3 . Por ejemplo:

 mfa_session = boto3.session.Session( aws_access_key_id=mfa_session['Credentials']['AccessKeyId'], aws_secret_access_key=mfa_session['Credentials']['SecretAccessKey'], aws_session_token=mfa_session['Credentials']['SessionToken']) dynamo = mfa_session.resource('dynamodb', ...) # and the rest of the code
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda