Verwalten des Zugriffs auf Datenfreigabe-API-Vorgänge mit IAM-Richtlinien - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Verwalten des Zugriffs auf Datenfreigabe-API-Vorgänge mit IAM-Richtlinien

Um den Zugriff auf die API-Operationen für die Datenfreigabe zu steuern, verwenden Sie aktionsbasierte IAM-Richtlinien. Weitere Informationen zum Verwalten von IAM-Richtlinien finden Sie unter Verwalten von IAM-Richtlinien im IAM-Benutzerhandbuch.

Informationen zu den Berechtigungen, die für die Verwendung der API-Vorgänge für die Datenfreigabe erforderlich sind, finden Sie unter Für die Verwendung der API-Vorgänge zur Datenfreigabe erforderliche Berechtigungen im Amazon-Redshift-Clusterverwaltungshandbuch.

Um die kontoübergreifende Datenfreigabe sicherer zu gestalten, können Sie einen bedingten Schlüssel ConsumerIdentifier für die API-Vorgänge AuthorizeDataShare und DeauthorizeDataShare verwenden. Auf diese Weise können Sie explizit steuern, welche AWS-Konten die beiden API-Vorgänge aufrufen dürfen.

Sie können die Autorisierung der Datenfreigabe oder deren Aufhebung für jeden Konsumenten verweigern, der sich nicht in Ihrem eigenen Konto befindet. Geben Sie hierzu die AWS-Konto-Nummer in der IAM-Richtlinie an.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "redshift:AuthorizeDataShare", "redshift:DeauthorizeDataShare" ], "Resource": "*", "Condition": { "StringNotEquals": { "redshift:ConsumerIdentifier": "555555555555" } } } ] }

Sie können einen Produzenten mit einem DataShareArn testshare2 in der IAM-Richtlinie explizit die Freigabe für einen Konsumenten mit einem AWS-Konto 111122223333 gestatten.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "redshift:AuthorizeDataShare", "redshift:DeauthorizeDataShare" ], "Resource": "arn:aws:redshift:us-east-1:666666666666:datashare:af06285e-8a45-4ee9-b598-648c218c8ff1/testshare2", "Condition": { "StringEquals": { "redshift:ConsumerIdentifier": "111122223333" } } } ] }