es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener los parámetros de aws-sdk sin una sesión.

Me pregunto si esto es incluso posible: necesito obtener parámetros de la tienda de AWS para utilizar ciertos valores en cada entorno sin tener que implementar de nuevo la aplicación Angular cada vez para recoger el cambio en appSettings.json.

Tengo el siguiente código que funciona bien hasta que el SessionToken caduca. Este es un sitio público, por lo que no tendrá un usuario autenticado.

import { Injectable } from '@angular/core';
import { SSMClient, GetParameterCommand, GetParameterCommandInput } from '@aws-sdk/client-ssm';
import { fromTemporaryCredentials } from '@aws-sdk/credential-providers';

@Injectable({
  providedIn: 'root'
})
export class SsmService {

  constructor() {}

  creds = {
    accessKeyId: 'accessKeyId',
    secretAccessKey: 'secretAccessKey',
    sessionToken: 'sessionToken'
  }

  tempCreds = fromTemporaryCredentials({
    masterCredentials: this.creds,
    params: {
      RoleArn: 'arn:RoleArn',
      RoleSessionName: 'RoleSessionName',
      DurationSeconds: 3600
    },
    clientConfig: {
      region: 'eu-west-2'
    }
  });

  client: SSMClient = new SSMClient(
    {
      region: 'eu-west-2',
      credentials: this.tempCreds
    });

  async getParameterValue(name: string): Promise<string> {
    const input: GetParameterCommandInput = {
      Name: name
    }

    const command = new GetParameterCommand(input);

    return await this.client.send(command).Parameter?.Value ?? '';
  }
}

¿Es posible obtener parámetros sin el SessionToken?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    No, no es posible obtener parámetros de la tienda de AWS sin un token de sesión válido o credenciales. El token de sesión es necesario para autenticar y autorizar las solicitudes de API a los servicios de AWS, incluido el acceso al Almacén de parámetros de AWS Systems Manager (SSM) donde se almacenan los parámetros. Sin un token de sesión válido o credenciales, las solicitudes de API serán rechazadas por AWS. Por lo tanto, deberá obtener un nuevo token de sesión o credenciales cuando expire el existente para poder seguir accediendo a la tienda de AWS.

Comments are closed.