Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Blocca l'accesso pubblico ad Amazon RDS utilizzando Cloud Custodian - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Blocca l'accesso pubblico ad Amazon RDS utilizzando Cloud Custodian

Creato da abhay kumar (AWS) e Dwarika Patra (AWS)

Riepilogo

Molte organizzazioni gestiscono i propri carichi di lavoro e servizi su più fornitori di cloud. In questi ambienti cloud ibridi, l'infrastruttura cloud richiede una rigida governance del cloud, oltre alla sicurezza fornita dai singoli provider di cloud. Un database cloud come Amazon Relational Database Service (Amazon RDS) è un servizio importante che deve essere monitorato per eventuali vulnerabilità di accesso e autorizzazione. Sebbene sia possibile limitare l'accesso al database Amazon RDS configurando un gruppo di sicurezza, è possibile aggiungere un secondo livello di protezione per vietare azioni come l'accesso pubblico. Garantire che l'accesso pubblico sia bloccato ti aiuterà a rispettare il Regolamento generale sulla protezione dei dati (GDPR), l'Health Insurance Portability and Accountability Act (HIPAA), il National Institute of Standards and Technology (NIST) e il Payment Card Industry Data Security Standard (PCI DSS).

Cloud Custodian è un motore di regole open source che puoi utilizzare per imporre restrizioni di accesso alle risorse di Amazon Web Services (AWS) come Amazon RDS. Con Cloud Custodian, puoi impostare regole che convalidano l'ambiente rispetto a standard di sicurezza e conformità definiti. Puoi utilizzare Cloud Custodian per gestire i tuoi ambienti cloud contribuendo a garantire la conformità con le politiche di sicurezza, le politiche di tag e la raccolta dei rifiuti di risorse inutilizzate e la gestione dei costi. Con Cloud Custodian, puoi utilizzare un'unica interfaccia per implementare la governance in un ambiente cloud ibrido. Ad esempio, puoi utilizzare l'interfaccia Cloud Custodian per interagire con AWS e Microsoft Azure, riducendo lo sforzo di lavorare con meccanismi come AWS Config, gruppi di sicurezza AWS e policy di Azure.

Questo modello fornisce istruzioni per utilizzare Cloud Custodian su AWS per imporre la restrizione dell'accessibilità pubblica sulle istanze Amazon RDS.

Prerequisiti e limitazioni

Prerequisiti

Architettura

Stack tecnologico Target

  • Amazon RDS

  • AWS CloudTrail

  • AWS Lambda

  • Cloud Custodian

Architettura Target

Il diagramma seguente mostra Cloud Custodian che distribuisce la policy su Lambda, CloudTrail AWS che avvia l'CreateDBInstanceevento e l'impostazione della funzione Lambda su false su Amazon RDS. PubliclyAccessible

Utilizzo di Cloud Custodian su AWS per limitare l'accesso pubblico alle istanze Amazon RDS.

Strumenti

Servizi AWS

  • AWS ti CloudTrail aiuta a controllare la governance, la conformità e il rischio operativo del tuo account AWS.

  • AWS Command Line Interface (AWS CLI) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella shell della riga di comando.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.

  • AWS Lambda è un servizio di elaborazione che ti aiuta a eseguire codice senza dover fornire o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di calcolo che utilizzi.

  • Amazon Relational Database Service (Amazon RDS) ti aiuta a configurare, gestire e scalare un database relazionale nel cloud AWS.

Altri strumenti

  • Cloud Custodian unifica gli strumenti e gli script utilizzati da molte organizzazioni per gestire i propri account cloud pubblici in un unico strumento open source. Utilizza un motore di regole stateless per la definizione e l'applicazione delle politiche, con metriche, output strutturati e report dettagliati per l'infrastruttura cloud. Si integra perfettamente con un runtime serverless per fornire correzioni e risposte in tempo reale con un basso sovraccarico operativo.

Epiche

AttivitàDescrizioneCompetenze richieste

Installa AWS CLI.

Per installare AWS CLI, segui le istruzioni nella documentazione AWS.

Amministratore AWS

Configura le credenziali AWS.

Configura le impostazioni che l'AWS CLI utilizza per interagire con AWS, inclusa la regione AWS e il formato di output che desideri utilizzare.

$>aws configure AWS Access Key ID [None]: <your_access_key_id> AWS Secret Access Key [None]: <your_secret_access_key> Default region name [None]: Default output format [None]:

Per ulteriori informazioni, consulta la documentazione di AWS.

Amministratore AWS

Crea un ruolo IAM.

Per creare un ruolo IAM con il ruolo di esecuzione Lambda, esegui il comando seguente.

aws iam create-role --role-name lambda-ex --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}
AWS DevOps

Configurazione dell'interfaccia a riga di comando di AWS

AttivitàDescrizioneCompetenze richieste

Installa AWS CLI.

Per installare AWS CLI, segui le istruzioni nella documentazione AWS.

Amministratore AWS

Configura le credenziali AWS.

Configura le impostazioni che l'AWS CLI utilizza per interagire con AWS, inclusa la regione AWS e il formato di output che desideri utilizzare.

$>aws configure AWS Access Key ID [None]: <your_access_key_id> AWS Secret Access Key [None]: <your_secret_access_key> Default region name [None]: Default output format [None]:

Per ulteriori informazioni, consulta la documentazione di AWS.

Amministratore AWS

Crea un ruolo IAM.

Per creare un ruolo IAM con il ruolo di esecuzione Lambda, esegui il comando seguente.

aws iam create-role --role-name lambda-ex --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}
AWS DevOps
AttivitàDescrizioneCompetenze richieste

Installa Cloud Custodian.

Per installare Cloud Custodian per il tuo sistema operativo e ambiente, segui le istruzioni nella documentazione di Cloud Custodian.

DevOps ingegnere

Controlla lo schema Cloud Custodian.

Per visualizzare l'elenco completo delle risorse Amazon RDS su cui è possibile eseguire le policy, usa il comando seguente.

custodian schema aws.rds
DevOps ingegnere

Crea la policy Cloud Custodian.

Salva il codice contenuto nel file di policy di Cloud Custodian nella sezione Informazioni aggiuntive utilizzando un'estensione YAML.

DevOps ingegnere

Definisci le azioni di Cloud Custodian per modificare il flag accessibile al pubblico.

  1. Individua il codice custode (ad esempio,). /Users/abcd/custodian/lib/python3.9/site-packages/c7n/resources/rds.py

  2. Individua la RDSSetPublicAvailability classe nel rds.py file c7n resources rds.py nella sezione Informazioni aggiuntive e modificala utilizzando il codice contenuto nel file c7n resources.

DevOps ingegnere

Esegui una corsa a secco.

(Facoltativo) Per verificare quali risorse sono identificate dalla policy senza eseguire alcuna azione sulle risorse, utilizzate il comando seguente.

custodian run -dryrun <policy_name>.yaml -s <output_directory>
DevOps ingegnere

Configura Cloud Custodian

AttivitàDescrizioneCompetenze richieste

Installa Cloud Custodian.

Per installare Cloud Custodian per il tuo sistema operativo e ambiente, segui le istruzioni nella documentazione di Cloud Custodian.

DevOps ingegnere

Controlla lo schema Cloud Custodian.

Per visualizzare l'elenco completo delle risorse Amazon RDS su cui è possibile eseguire le policy, usa il comando seguente.

custodian schema aws.rds
DevOps ingegnere

Crea la policy Cloud Custodian.

Salva il codice contenuto nel file di policy di Cloud Custodian nella sezione Informazioni aggiuntive utilizzando un'estensione YAML.

DevOps ingegnere

Definisci le azioni di Cloud Custodian per modificare il flag accessibile al pubblico.

  1. Individua il codice custode (ad esempio,). /Users/abcd/custodian/lib/python3.9/site-packages/c7n/resources/rds.py

  2. Individua la RDSSetPublicAvailability classe nel rds.py file c7n resources rds.py nella sezione Informazioni aggiuntive e modificala utilizzando il codice contenuto nel file c7n resources.

DevOps ingegnere

Esegui una corsa a secco.

(Facoltativo) Per verificare quali risorse sono identificate dalla policy senza eseguire alcuna azione sulle risorse, utilizzate il comando seguente.

custodian run -dryrun <policy_name>.yaml -s <output_directory>
DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Implementa la policy utilizzando Lambda.

Per creare la funzione Lambda che eseguirà la policy, utilizzare il comando seguente.

custodian run -s policy.yaml

Questa policy verrà quindi avviata dall' CloudTrail CreateDBInstanceevento AWS.

Di conseguenza, AWS Lambda imposterà il flag accessibile al pubblico su false per le istanze che soddisfano i criteri.

DevOps ingegnere

Implementa la politica

AttivitàDescrizioneCompetenze richieste

Implementa la policy utilizzando Lambda.

Per creare la funzione Lambda che eseguirà la policy, utilizzare il comando seguente.

custodian run -s policy.yaml

Questa policy verrà quindi avviata dall' CloudTrail CreateDBInstanceevento AWS.

Di conseguenza, AWS Lambda imposterà il flag accessibile al pubblico su false per le istanze che soddisfano i criteri.

DevOps ingegnere

Risorse correlate

Informazioni aggiuntive

File YAML della politica di Cloud Custodian

policies: - name: "block-public-access" resource: rds description: | This Enforcement blocks public access for RDS instances. mode: type: cloudtrail events: - event: CreateDBInstance # Create RDS instance cloudtrail event source: rds.amazonaws.com ids: requestParameters.dBInstanceIdentifier role: arn:aws:iam::1234567890:role/Custodian-compliance-role filters: - type: event key: 'detail.requestParameters.publiclyAccessible' value: true actions: - type: set-public-access state: false

file rds.py di risorse c7n

@actions.register('set-public-access') class RDSSetPublicAvailability(BaseAction): schema = type_schema( "set-public-access", state={'type': 'boolean'}) permissions = ('rds:ModifyDBInstance',) def set_accessibility(self, r): client = local_session(self.manager.session_factory).client('rds') waiter = client.get_waiter('db_instance_available') waiter.wait(DBInstanceIdentifier=r['DBInstanceIdentifier']) client.modify_db_instance( DBInstanceIdentifier=r['DBInstanceIdentifier'], PubliclyAccessible=self.data.get('state', False)) def process(self, rds): with self.executor_factory(max_workers=2) as w: futures = {w.submit(self.set_accessibility, r): r for r in rds} for f in as_completed(futures): if f.exception(): self.log.error( "Exception setting public access on %s \n %s", futures[f]['DBInstanceIdentifier'], f.exception()) return rds

Integrazione con Security Hub

Cloud Custodian può essere integrato con AWS Security Hub per inviare risultati di sicurezza e tentare azioni correttive. Per ulteriori informazioni, consulta Annuncio dell'integrazione di Cloud Custodian con AWS Security Hub.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.