Configurazione dell’autenticazione IAM per Server proxy per RDS - Amazon Aurora

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à.

Configurazione dell’autenticazione IAM per Server proxy per RDS

Per configurare l'autenticazione AWS Identity and Access Management (IAM) per RDS Proxy in Amazon RDS, crea e configura una policy IAM che conceda le autorizzazioni necessarie.

Questo argomento fornisce i passaggi per configurare l’autenticazione IAM per Server proxy per RDS, inclusa la creazione della policy IAM richiesta e il suo collegamento a un ruolo IAM.

Suggerimento

Questa procedura è necessaria solo se si desidera creare il proprio ruolo IAM. Altrimenti, RDS può creare automaticamente il ruolo richiesto durante la configurazione del proxy ed è quindi possibile ignorare questa procedura.

Prerequisiti

Prima di configurare l’autenticazione IAM per Server proxy per RDS, assicurati di disporre di quanto segue:

  • AWS Secrets Manager: almeno un segreto archiviato che contiene le credenziali del database. Per istruzioni su come creare i segreti, consulta Impostazione delle credenziali del database per RDS Proxy.

    Questo non è necessario se utilizzi l'autenticazione IAM. end-to-end

  • Autorizzazioni IAM: un ruolo o un utente IAM con autorizzazioni per creare e gestire policy, ruoli e segreti IAM in AWS Secrets Manager.

Creazione di una policy IAM per l'autenticazione end-to-end IAM

Quando si utilizza l'autenticazione end-to-end IAM, RDS Proxy si connette al database utilizzando l'autenticazione IAM anziché recuperare le credenziali da Secrets Manager. Ciò richiede la configurazione del ruolo IAM con rds-db:connect le autorizzazioni per gli account di database che desideri utilizzare con il proxy.

Per autenticare il proxy RDS nel database utilizzando IAM, crea un ruolo IAM con una policy che conceda le autorizzazioni di connessione al database necessarie.

Per creare un ruolo per l'autenticazione end-to-end IAM con il tuo proxy
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Crea una policy di autorizzazione per il ruolo. Per i passaggi generali, consulta Creare policy IAM (console).

    Incolla la policy nell’editor JSON e apporta le seguenti modifiche:

    • Sostituisci l’ID del tuo account.

    • Sostituiscilo us-east-2 con il luogo in cui deve risiedere il proxy.

    • Sostituisci la risorsa del database IDs e i nomi utente con quelli che desideri utilizzare. Il formato dell'ID della risorsa è diverso tra le istanze RDS e. Aurora clusters

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }
  3. Crea il ruolo e collega la policy di autorizzazione a tale ruolo. Per i passaggi generali, consulta Creare un ruolo per delegare le autorizzazioni a un servizio. AWS

    Per Tipo di entità attendibile, scegli Servizio AWS . In Caso d’uso, seleziona RDS e scegli RDS - Aggiungi ruolo al database per il caso d’uso.

  4. In Policy di autorizzazione, scegli la policy che hai creato.

  5. Per Seleziona entità attendibili, inserisci la seguente policy di attendibilità per il ruolo:

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

Per creare il ruolo utilizzando il AWS CLI, invia la seguente richiesta:

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

Collega quindi la policy al ruolo:

aws iam put-role-policy \ --role-name my_e2e_iam_role_name \ --policy-name e2e_iam_db_connect_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }'

Con il ruolo e le autorizzazioni end-to-end IAM configurati per l'autenticazione IAM, ora puoi creare un proxy con DefaultAuthScheme set toIAM_AUTH. Questo proxy si autentica direttamente nel database utilizzando IAM senza richiedere i segreti di Secrets Manager. Per istruzioni, consulta Creazione di un proxy per Amazon Aurora.

Quando utilizzi l'autenticazione end-to-end IAM, assicurati che gli utenti del database siano configurati per l'autenticazione IAM come descritto in. Creazione di un account database tramite l’autenticazione IAM

Creazione di una policy IAM per l’accesso a Secrets Manager

Per consentire a Server proxy per RDS di recuperare le credenziali del database da Secrets Manager, devi creare un ruolo IAM con una policy che concede le autorizzazioni necessarie.

Per creare un ruolo per accedere ai segreti da utilizzare con il proxy
  1. Accedi a AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Crea una policy di autorizzazione per il ruolo. Per i passaggi generali, consulta Creare policy IAM (console).

    Incolla la policy nell’editor JSON e apporta le seguenti modifiche:

    • Sostituisci l’ID del tuo account.

    • Sostituisci us-east-2 con la Regione in cui risiederà il proxy.

    • Sostituisci i nomi di segreto con quelli che hai creato. Per ulteriori informazioni, consulta Specificazione delle chiavi KMS nelle istruzioni della policy IAM.

    • Sostituisci l’ID della chiave KMS con quello utilizzato per crittografare i segreti Secrets Manager, la chiave predefinita o quella personale.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2" ] }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  3. Crea il ruolo e collega la policy di autorizzazione a tale ruolo. Per i passaggi generali, consulta Creare un ruolo per delegare le autorizzazioni a un AWS servizio.

    Per Tipo di entità attendibile, scegli Servizio AWS . In Caso d’uso, seleziona RDS e scegli RDS - Aggiungi ruolo al database per il caso d’uso.

  4. In Policy di autorizzazione, scegli la policy che hai creato.

  5. Per Seleziona entità attendibili, inserisci la seguente policy di attendibilità per il ruolo:

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

Per creare il ruolo utilizzando il AWS CLI, invia la seguente richiesta:

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

Collega quindi la policy al ruolo:

aws iam put-role-policy \ --role-name my_role_name \ --policy-name secret_reader_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }'

Con il ruolo e le autorizzazioni IAM configurati, ora puoi creare un proxy e associarlo al ruolo. Ciò consente al proxy di recuperare le credenziali del database in modo sicuro AWS Secrets Manager e di abilitare l'autenticazione IAM per le applicazioni. Per istruzioni, consulta Creazione di un proxy per Amazon Aurora.