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à.
Autenticazione di una query pianificata
Quando si pianifica una query, è possibile utilizzare uno dei seguenti metodi di autenticazione durante l'esecuzione di SQL. Ogni metodo richiede una diversa combinazione di input nell'editor di query v2. Questi metodi di autenticazione sono supportati dall'API dei dati utilizzata per eseguire le istruzioni SQL.
L'utente o il ruolo del database utilizzato per eseguire la query deve disporre dei privilegi di database necessari. Ad esempio, per concedere a IAMR:MyRedshiftQEv2Scheduler
i privilegi alla tabella mytable
, esegui il seguente comando SQL.
GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";
Per visualizzare l'elenco degli utenti del database nel cluster o nel gruppo di lavoro, interroga la vista del sistema PG_USER_INFO
.
Nota
Qualsiasi gruppo di lavoro Redshift Serverless per il quale si pianificano le interrogazioni deve essere contrassegnato con la chiave. RedshiftDataFullAccess
Per ulteriori informazioni, consulta Autorizzazione di accesso all'API dati di Amazon Redshift.
In alternativa all'etichettatura del gruppo di lavoro, puoi aggiungere una policy in linea al ruolo IAM (specificata nella pianificazione) che consenta redshift-serverless:GetCredentials
. Per esempio:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups",
"Effect": "Allow",
"Action": "redshift-serverless:GetCredentials",
"Resource": [
"arn:aws:redshift-serverless:*:*:workgroup/*"
]
}
]
}
- AWS Secrets Manager
-
Con questo metodo, fornire il valore del segreto per secret-arn archiviato in AWS Secrets Manager. Questo segreto contiene le credenziali per la connessione al database. Potresti aver creato un segreto con le credenziali corrette al momento della creazione del cluster o del gruppo di lavoro. Il segreto deve essere taggato con la chiave
RedshiftDataFullAccess
. Se la chiave del tag non è già presente, usa la AWS Secrets Manager console per aggiungerla. Per informazioni sulla creazione di un segreto, consultaCreazione di un segreto per le credenziali di connessione al database.Per ulteriori informazioni sulle autorizzazioni minime, consultare Creazione e gestione di segreti con AWS Secrets Managernella Guida per l'utente di AWS Secrets Manager .
- Credenziali temporanee
-
Quando ti connetti a un database in un cluster con questo metodo, fornisci i valori per Nome del database e Utente del database. Quando ti connetti a un database in un gruppo di lavoro, fornisci solo il Nome del database.
Quando ci si connette a un cluster, la policy
AmazonRedshiftDataFullAccess
consente all'utente del database denominat oredshift_data_api_user
l'autorizzazione perredshift:GetClusterCredentials
. Se desideri utilizzare un diverso utente di database per eseguire l'istruzione SQL, aggiungi una policy al ruolo IAM collegato al cluster per consentireredshift:GetClusterCredentials
. La seguente policy di esempio consente gli utenti del databaseawsuser
emyuser
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }