Connessione al dell'istanza database tramite Autenticazione IAM e AWS SDK for .NET - 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à.

Connessione al dell'istanza database tramite Autenticazione IAM e AWS SDK for .NET

Puoi connetterti a un cluster di database Aurora MySQL o Aurora PostgreSQL con la AWS SDK for .NET come descritto di seguito.

Prerequisiti

Di seguito sono riportati i prerequisiti per la connessione alcluster di DB utilizzando l'autenticazione IAM:

Esempi

Il seguente esempio di codice mostra come generare un token di autenticazione e utilizzarlo per eseguire la connessione a un cluster del database.

Per eseguire questo codice di esempio è necessario AWS SDK for .NET, disponibile sul sito AWS. I pacchetti AWSSDK.CORE e AWSSDK.RDS sono obbligatori. Per connetterti a un cluster database, utilizza il connettore di database .NET per il motore di database, ad esempio MySQLConnector per MariaDB o MySQL o Npgsql per PostgreSQL.

Questo codice si connette a un cluster di database Aurora MySQL. Modifica i valori delle variabili seguenti in base alle esigenze.

  • server: l'endpoint del cluster database cui vuoi accedere

  • user – L'account database cui vuoi accedere.

  • database – Database a cui accedere.

  • port – Numero di porta usato per la connessione al dell'istanza database

  • SslMode – Modalità SSL da utilizzare.

    Quando si utilizza SslMode=Required, la connessione SSL verifica l'endpoint del cluster database rispetto a quello nel certificato SSL.

  • SslCa - Percorso completo del certificato SSL per Amazon Aurora

    Per scaricare un certificato, consultare .

Nota

Non è possibile utilizzare un record DNS Route 53 personalizzato o un endpoint personalizzato Aurora anziché l'endpoint del cluster database per generare il token di autenticazione.

using System; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; using Amazon; namespace ubuntu { class Program { static void Main(string[] args) { var pwd = Amazon.RDS.Util.RDSAuthTokenGenerator.GenerateAuthToken(RegionEndpoint.USEast1, "mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com", 3306, "jane_doe"); // for debug only Console.Write("{0}\n", pwd); //this verifies the token is generated MySqlConnection conn = new MySqlConnection($"server=mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com;user=jane_doe;database=mydB;port=3306;password={pwd};SslMode=Required;SslCa=full_path_to_ssl_certificate"); conn.Open(); // Define a query MySqlCommand sampleCommand = new MySqlCommand("SHOW DATABASES;", conn); // Execute a query MySqlDataReader mysqlDataRdr = sampleCommand.ExecuteReader(); // Read all rows and output the first column in each row while (mysqlDataRdr.Read()) Console.WriteLine(mysqlDataRdr[0]); mysqlDataRdr.Close(); // Close connection conn.Close(); } } }

Questo codice si connette a un cluster di database Aurora PostgreSQL.

Modifica i valori delle variabili seguenti in base alle esigenze.

  • Server: l'endpoint del cluster database cui vuoi accedere

  • User ID – L'account database cui vuoi accedere.

  • Database – Database a cui accedere.

  • Port – Numero di porta usato per la connessione al dell'istanza database

  • SSL Mode – Modalità SSL da utilizzare.

    Quando si utilizza SSL Mode=Required, la connessione SSL verifica l'endpoint del cluster database rispetto a quello nel certificato SSL.

  • Root Certificate - Percorso completo del certificato SSL per Amazon Aurora

    Per scaricare un certificato, consultare .

Nota

Non è possibile utilizzare un record DNS Route 53 personalizzato o un endpoint personalizzato Aurora anziché l'endpoint del cluster database per generare il token di autenticazione.

using System; using Npgsql; using Amazon.RDS.Util; namespace ConsoleApp1 { class Program { static void Main(string[] args) { var pwd = RDSAuthTokenGenerator.GenerateAuthToken("postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com", 5432, "jane_doe"); // for debug only Console.Write("{0}\n", pwd); //this verifies the token is generated NpgsqlConnection conn = new NpgsqlConnection($"Server=postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com;User Id=jane_doe;Password={pwd};Database=mydb;SSL Mode=Require;Root Certificate=full_path_to_ssl_certificate"); conn.Open(); // Define a query NpgsqlCommand cmd = new NpgsqlCommand("select count(*) FROM pg_user", conn); // Execute a query NpgsqlDataReader dr = cmd.ExecuteReader(); // Read all rows and output the first column in each row while (dr.Read()) Console.Write("{0}\n", dr[0]); // Close connection conn.Close(); } } }

Se desideri connetterti a un cluster di database tramite un proxy, consulta Connessione a un proxy mediante autenticazione IAM.