Ricerca nel sito web

Abilitazione del monitoraggio avanzato per Amazon RDS


Su questa pagina

  1. Cosa vedremo qui?
  2. Cos'è l'autorizzazione Passrol?
  3. Prerequisiti per passare un ruolo a un servizio
  4. Creazione del ruolo
  5. Aggiunta della policy IAM per l'utente IAM
  6. Database senza ruolo
  7. Allegare il ruolo al database
  8. Conclusione

Amazon RDS fornisce una funzionalità di monitoraggio avanzata per i database. Utilizzando questa funzionalità, Amazon RDS può monitorare e registrare i parametri del database in Amazon CloudWatch Logs. Tuttavia, l'abilitazione di questa funzione richiede l'associazione di un ruolo ad Amazon RDS e questo richiede che l'utente disponga dell'autorizzazione PassRole.

Cosa vedremo qui?

In questo tutorial imparerai come utilizzare l'autorizzazione IAM Passrole per abilitare un monitoraggio avanzato per Amazon RDS. Lo vedremo dimostrando un semplice esempio.

Che cos'è l'autorizzazione Passrol?

Durante la configurazione di molti servizi AWS, l'utente/amministratore deve passare un ruolo a tale servizio. Il servizio assume quindi tale ruolo per eseguire le azioni consentite all'interno di tale ruolo. Nella maggior parte dei casi, il ruolo viene passato al servizio solo una volta durante l'impostazione del servizio e non ogni volta che il ruolo viene assunto dal servizio.

Un utente deve disporre dei diritti per passare un ruolo a un servizio. Questo è un forte aspetto di sicurezza in quanto solo gli utenti autorizzati possono passare un ruolo al servizio. Inoltre, gli amministratori possono controllare quale tipo di ruolo un utente può passare al servizio.

Prerequisiti per il passaggio di un ruolo a un servizio

Un utente IAM può passare un ruolo a un servizio AWS se dispone dei seguenti tre prerequisiti:

  1. In primo luogo, una policy, per il ruolo che creeremo, che deciderà il limite di autorizzazione o l'ambito del nostro ruolo IAM.
  2. Successivamente, una policy di attendibilità associata a questo ruolo che sostanzialmente consentirà al servizio AWS (RDS nel nostro caso) di assumere/assumere il ruolo e utilizzare le autorizzazioni elencate con il ruolo.
  3. Infine, all'utente IAM viene collegata una policy di autorizzazione IAM che gli consente di passare i ruoli che è autorizzato a passare.

Creazione del ruolo

In questa sezione, creeremo un ruolo chiamato RDS-Monitoring-Role e vi collegheremo una policy AmazonRDSEnhancedMonitoringRole gestita da AWS.

Passaggio 1. Vai alla dashboard IAM dall'amministratore o dall'account root e seleziona Ruoli sotto l'opzione Gestione accessi. Fai clic sul pulsante Crea ruolo.

Passaggio 2. Nella sezione Seleziona entità attendibile, vedrai il Tipo di entità attendibile, seleziona l'opzione Servizio AWS qui. Ora cerca RDS in Casi d'uso per altri servizi AWS e seleziona l'opzione RDS - Monitoraggio avanzato.

Passaggio 3. Nella sezione successiva Aggiungi autorizzazioni, allega una policy AmazonRDSEnhancedMonitoringRole e fai clic su Avanti:

Passo 4. Qui inserisci un nome per il ruolo: RDS-Monitoring-Role e una descrizione facoltativa per esso. Tieni presente che una policy di attendibilità verrà automaticamente associata a questo ruolo:

{
	"Version": "2012-10-17",
	"Statement": [
    	{
        	"Sid": "",
        	"Effect": "Allow",
        	"Principal": {
            	"Service": "monitoring.rds.amazonaws.com"
        	},
        	"Action": "sts:AssumeRole"
    	}
	]
}

Passaggio 5. Infine, fai clic sul pulsante Crea ruolo per creare il ruolo sopra:

Aggiunta della policy IAM per l'utente IAM

Finora abbiamo creato un ruolo e gli abbiamo allegato una policy e quindi abbiamo anche una policy attendibile. Questo ha soddisfatto due dei nostri prerequisiti. Passando ora al terzo prerequisito, creeremo una policy per l'utente IAM stesso. In questa policy, abbiamo concesso all'utente l'autorizzazione per l'accesso completo a EC2 e RDS e anche l'autorizzazione per associare il ruolo RDS-Monitoring-Role sopra alla nostra istanza RDS. Puoi controllare tu stesso il livello di autorizzazione IAM per EC2 e RDS, ci interessa solo dimostrare l'autorizzazione PassRole:

Passaggio 1. Di nuovo vai alla dashboard IAM dall'amministratore o dall'account root e seleziona Politiche e fai clic sul pulsante Crea politica.

Passaggio 2. Nella procedura guidata Crea criterio, fare clic sulla scheda JSON e incollare semplicemente il seguente codice JSON per questo criterio:

{
	"Version": "2012-10-17",
	"Statement": [
    	{
        	"Sid": "VisualEditor0",
        	"Effect": "Allow",
        	"Action": "iam:PassRole",
        	"Resource": "arn:aws:iam::account_number:role/RDS-Monitoring-Role"
    	},
    	{
        	"Sid": "VisualEditor1",
        	"Effect": "Allow",
        	"Action": [
            	"rds:*",
            	"logs:Describe*",
            	"logs:List*",
            	"logs:StartQuery",
            	"ec2:*",
            	"iam:ListRoles",
            	"logs:StopQuery",
            	"logs:TestMetricFilter",
            	"logs:FilterLogEvents",
            	"logs:Get*",
            	"cloudwatch:GetMetricData"
        	],
        	"Resource": "*"
    	}
	]
}

Nel codice precedente, sostituisci IAM_User_ID con il numero di account o l'ID dell'utente IAM e RDS-Monitoring-Role con il nome del ruolo nel tuo caso. Fai clic su Avanti: tag.

Passaggio 3. Specifica eventuali tag facoltativi che desideri utilizzare e fai clic su Avanti: revisione:

Passaggio 4. Inserire qui un nome per questa politica (RDS-Monitoring-User-Policy nel nostro caso) e infine fare clic sul pulsante Crea politica per creare questa politica:

Passaggio 5. Collega la policy creata in precedenza all'utente IAM:

Database senza ruolo

Di seguito possiamo vedere lo scenario di configurazione del database senza allegare il ruolo sopra creato (RDS-Monitoring-Role). Qui possiamo vedere che stiamo ricevendo un errore di cloudwatch:GetMetricData.

Collegamento del ruolo al database

Ora collegheremo il RDS-Monitoring-Role al database e verificheremo se l'errore di CloudWatch precedente va o meno. Un ruolo può essere associato a un'istanza RDS al momento della sua creazione o dopo che è stata creata. Nel caso in cui tu abbia già creato il database, devi modificare l'istanza db. In ogni caso, vai alla console RDS e apri il blocco Configurazione aggiuntiva sotto l'impostazione del database di destinazione. Cerca la sezione Monitoraggio e qui seleziona la casella corrispondente a Abilita monitoraggio avanzato. Sotto Ruolo di monitoraggio, seleziona il tuo ruolo dal menu a discesa e fai clic su continua:

Nella finestra successiva, scegli l'azione per quando applicare le modifiche e fai clic su Modifica istanza database:

Questa volta quando vedi i dettagli della configurazione del database, l'errore CloudWatch dovrebbe essere sparito:

Conclusione

In questa guida, abbiamo appreso come utilizzare l'autorizzazione PassRole per abilitare la funzionalità di monitoraggio avanzato per RDS. PassRole è un'ottima funzionalità per concedere i privilegi minimi a un utente IAM per l'accesso ad altri servizi AWS a cui non è autorizzato ad accedere.