E-mail beállítása az MWAA-ban a titkok használatával

Python and Bash

Biztonságos e-mail beállítása az MWAA-ban

Az Amazon Managed Workflows for Apache Airflow (MWAA) kezelése gyakran automatikus e-mailek küldésével jár, amelyek SMTP-konfigurációkon keresztül állíthatók be. Az SMTP-beállításokat általában közvetlenül a konfigurációs fájlokban helyezik el, vagy a környezet beállítási oldalán módosítják. A fokozott biztonság és felügyelhetőség érdekében azonban érdemes ezeket az érzékeny adatokat az AWS Secret Managerben tárolni.

A Secret Manager használata nemcsak a kapcsolat részleteit védi meg az illetéktelen hozzáféréstől, hanem leegyszerűsíti a konfigurációs folyamatot a különböző környezetekben anélkül, hogy érzékeny információkat kódolna. Ez a beállítás biztosítja, hogy az e-mail munkafolyamatok biztonságosak és hatékonyak legyenek, lehetővé téve a felhasználók számára a hitelesítő adatok dinamikus és biztonságos kezelését az MWAA példányaikon belül.

Az AWS Secrets Manager integrálása az MWAA-val az e-mail értesítésekhez

Python szkript Boto3 és Airflow használatával

import boto3
from airflow.models import Variable
from airflow.utils.email import send_email_smtp
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
def get_secret(secret_name):
    client = boto3.client('secretsmanager')
    response = client.get_secret_value(SecretId=secret_name)
    return response['SecretString']
def send_email():
    email_config = json.loads(get_secret('my_smtp_secret'))
    send_email_smtp('example@example.com', 'Test Email', 'This is a test email from MWAA.', smtp_mail_from=email_config['username'])
default_args = {'owner': 'airflow', 'start_date': datetime(2021, 1, 1)}
dag = DAG('send_email_using_secret', default_args=default_args, schedule_interval='@daily')
send_email_task = PythonOperator(task_id='send_email_task', python_callable=send_email, dag=dag)

Környezeti változók konfigurálása az MWAA-ban AWS CLI használatával

Bash szkript az AWS CLI műveletekhez

#!/bin/bash
AWS_SECRET_NAME="my_smtp_secret"
AWS_REGION="us-east-1"
# Retrieve SMTP configuration from AWS Secrets Manager
SMTP_SECRET=$(aws secretsmanager get-secret-value --secret-id $AWS_SECRET_NAME --region $AWS_REGION --query SecretString --output text)
# Parse and export SMTP settings as environment variables
export SMTP_HOST=$(echo $SMTP_SECRET | jq -r .host)
export SMTP_PORT=$(echo $SMTP_SECRET | jq -r .port)
export SMTP_USER=$(echo $SMTP_SECRET | jq -r .username)
export SMTP_PASSWORD=$(echo $SMTP_SECRET | jq -r .password)
# Example usage in a script that sends an email
python3 send_email.py

Az MWAA biztonság fokozása az AWS Secrets Manager segítségével

Amikor az Amazon Managed Workflows for Apache Airflow (MWAA) munkafolyamat-automatizálásával foglalkozunk, az érzékeny adatok, például az e-mail-értesítések SMTP hitelesítő adatainak biztonsága a legfontosabb. Az AWS Secrets Manager robusztus megoldást kínál azáltal, hogy lehetővé teszi ezen hitelesítő adatok biztonságos tárolását és kezelését. A Secrets Manager integrálása az MWAA-val nemcsak az érzékeny részletek elrejtését segíti elő a munkafolyamat-szkriptekből, hanem az adatvédelmi előírások betartását is. Ez a módszer biztosítja, hogy a hitelesítő adatok elforgathatók és kezelhetők legyenek a munkafolyamat-szkriptek módosítása nélkül, csökkentve ezzel a biztonsági rések kockázatát.

Ezenkívül a Secrets Manager használata lehetővé teszi a fejlesztők számára, hogy részletes hozzáférés-szabályozást és auditálási lehetőségeket alkalmazzanak. A titkokhoz való hozzáférés korlátozható az IAM-szerepek és szabályzatok alapján, a titkok felhasználása pedig nyomon követhető az AWS CloudTrail segítségével. Ez az integráció nemcsak leegyszerűsíti a hitelesítő adatok kezelését összetett környezetekben, hanem egyértelmű ellenőrzési nyomvonalat is biztosít arról, hogy mikor és kik fértek hozzá a hitelesítő adatokhoz, így javítva a vállalat általános biztonsági helyzetét.

  1. Mi az AWS Secrets Manager?
  2. Az AWS Secrets Manager egy olyan szolgáltatás, amely segít megvédeni az alkalmazásaihoz, szolgáltatásaihoz és informatikai erőforrásaihoz való hozzáférést anélkül, hogy a saját infrastruktúra üzemeltetésével kapcsolatos előzetes beruházásokat és folyamatos karbantartási költségeket kellene felszámítania.
  3. Hogyan növeli a Secrets Manager integrálása az MWAA biztonságát?
  4. Megvédi az érzékeny adatokat, például az SMTP-hitelesítő adatokat azáltal, hogy titkosítja a nyugalmi információkat, és lehetővé teszi az IAM-irányelveken keresztüli ellenőrzött hozzáférést, ezáltal javítva az adatvédelmet és a megfelelőséget.
  5. A Secrets Manager képes kezelni az automatikus hitelesítő adatok elforgatását?
  6. Igen, az AWS Secrets Manager támogatja az automatikus hitelesítő adatok elforgatását, amely a hozzáférési kulcsok emberi beavatkozás nélkül történő rendszeres megváltoztatásával segít fenntartani a biztonságot.
  7. Szükséges-e módosítani a munkafolyamat-szkripteket, ha a hitelesítési adatok megváltoznak?
  8. Nem, a Secrets Manager használatával a munkafolyamat-szkriptek módosítása nélkül kezelheti a hitelesítési adatokat, mivel a hitelesítő adatok dinamikusan lekérhetők futás közben.
  9. Hogyan ellenőrizhetem a titkok használatát?
  10. Az AWS CloudTrail használható a Secrets Manager titkaihoz való hozzáférés naplózására és figyelésére, lehetővé téve a titkos használat részletes ellenőrzési nyomvonalát.

Összefoglalva, az AWS Secrets Manager és az Amazon MWAA integrálása az SMTP-beállítások kezeléséhez biztonságos és hatékony módszert kínál a munkafolyamatok e-mailes kommunikációjához szükséges érzékeny információk kezelésére. Ez a megoldás nemcsak megvédi az adatokat az illetéktelen hozzáféréstől, hanem leegyszerűsíti a kezelési feladatokat és javítja a biztonsági szabályzatoknak való megfelelést. Az érzékeny információk tárolásának központosításával a szervezetek javíthatják biztonsági helyzetüket, és csökkenthetik a kemény kódolt hitelesítő adatokkal kapcsolatos működési kockázatokat.