L'excitation monte, les jeux s'animent : c'est le moment de plonger dans l'univers de Blitz Casino. Plus qu'un simple site de jeux, c'est une destination où chaque visite est une fête, remplie de jeux passionnants et de bonus généreux qui transforment le jeu en une aventure mémorable. Dépassez vos limites, gagnez gros et vivez l'extraordinaire !

Pour les amateurs de défis et de gains, Banzai Casino est le terrain de jeu idéal. Avec sa plateforme rapide comme l'éclair et ses tournois qui font monter l'adrénaline, chaque mise est une opportunité de prouver votre talent et de repartir avec des prix fantastiques. L'action vous attend, êtes-vous prêt à jouer ?

Oubliez tout ce que vous savez sur les casinos en ligne et préparez-vous à être ébloui par l'élégance de Play Regal Casino. Un design somptueux, une collection de jeux d'exception et un service VIP personnalisé créent une expérience unique en son genre, où le luxe et les récompenses se marient à la perfection. La fortune sourit aux audacieux, saisissez votre chance !

Découvrez la nouvelle ère du jeu en ligne avec Casino Together. Son approche unique du divertissement est centrée sur vous : des promotions conçues sur mesure, un service client impeccable et un programme de fidélité qui vous fait sentir spécial. Together Casino n'est pas qu'un nom, c'est une promesse de qualité et de récompenses sans pareilles.

For over 5+ years we help companies reach their financial and branding goals. oDesk Software Co., Ltd is a values-driven technology agency dedicated

Gallery

Contacts

Address

108 Tran Dinh Xu, Nguyen Cu Trinh Ward, District 1, Ho Chi Minh City, Vietnam

E-Mail Address

info@odesk.me

Phone

(+84) 28 3636 7951

Hotline

(+84) 76 899 4959

Cloud Development devops Hosting Infrastructure & Operator Technology
Handling Environment Variables in Lambda: The Right Way

Handling Environment Variables in Lambda: The Right Way

The article emphasizes distinguishing between configurable values and sensitive secrets when managing data in AWS Lambda. It advocates for using Lambda Environment Variables for non-sensitive configurations and AWS Secrets Manager for all sensitive data.

Lambda Function Environment Variables

  • What they are: Environment variables are key-value pairs built directly into the Lambda function’s UI. They define the “DNA” or ecosystem of your code’s runtime environment.
  • Purpose: Ideal for non-sensitive, configurable values that change between environments (e.g., development, production). Examples include API endpoints, database table names (like dev_table vs. prod_table), or form IDs.
  • Access in code (Python example)
import os
my_config_value = os.environ.get("MY_CONFIG_KEY")
  • Best Practice: If a variable’s value needs to change when moving between environments (Dev, Prod), set it as an Environment variable instead of hardcoding it. This allows you to deploy the exact same code to different Lambda instances and merely change the environment variables for each environment.

Securely Storing Secrets with AWS Secrets Manager

  • Why not just Environment Variables for secrets? While you could put an API key directly into environment variables, it’s not as secure. Secrets Manager provides a dedicated, more robust solution for sensitive data.
  • Purpose: For actual secrets like API keys, database credentials, or other sensitive information, store their actual values in AWS Secrets Manager.
  • Interaction with Lambda Environment Variables: The “right way” involves a double layer of indirection:
    1. Lambda Environment Variable: Store the name of the secret (the SecretId) that’s in Secrets Manager, not the secret’s actual value.
    2. Lambda Code: Use os.environ.get() to retrieve the secret’s name, and then use the AWS SDK (Boto3 in Python) to make an API call to Secrets Manager to fetch the actual secret value.
  • Example get_secret function (Python): This function retrieves a secret from AWS Secrets Manager using the secret’s name, which is pulled from a Lambda environment variable.
import boto3
import json
import os

def get_secret(secret_name_env_var_key):
    # Get the actual secret name from Lambda's environment variables
    secret_name = os.environ[secret_name_env_var_key]
    # Assumes AWS_REGION is set in Lambda env
    region_name = os.environ['AWS_REGION']

    client = boto3.client('secretsmanager', region_name=region_name)

    try:
        response = client.get_secret_value(SecretId=secret_name)
        secret = response['SecretString']
        return json.loads(secret) # Assuming your secret is stored as a JSON string
    except Exception as e:
        print(f"Error retrieving secret: {e}")
        return None
  • How it works:
    • Your Lambda’s environment variable (e.g., MY_API_SECRET_NAME) holds the string name of the secret (e.g., "prod/my-service/api-key").
    • Your code calls get_secret('MY_API_SECRET_NAME').
    • get_secret uses this name to fetch the actual key-value pair (e.g., {"api_key": "xyz123"}) from Secrets Manager.
  • Benefits of this approach: Enhanced security by not exposing secrets directly in environment variables, dynamic secret rotation capabilities of Secrets Manager, and a cleaner Dev/Prod deployment process.

By combining Environment Variables for configurable values and AWS Secrets Manager for sensitive credentials, you build a more secure, flexible, and maintainable application deployment ecosystem in AWS Lambda.

Author

oDesk Software

Leave a comment