Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Interaktive Sitzungen mit IAM
In diesen Abschnitten werden Sicherheitsüberlegungen für interaktive AWS Glue-Sitzungen beschrieben.
Themen
IAM-Prinzipale, die mit interaktiven Sitzungen verwendet werden
Sie verwenden zwei IAM-Prinzipale, die mit interaktiven AWS Glue-Sitzungen verwendet werden.
-
Client-Prinzipal: Der Client-Prinzipal (entweder ein Benutzer oder eine Rolle) autorisiert API-Vorgänge für interaktive Sitzungen von einem AWS Glue-Client, der mit den identitätsbasierten Anmeldeinformationen des Prinzipals konfiguriert ist. Es könnte auch eine IAM-Rolle sein, mit der Sie normalerweise auf die AWS Glue-Konsole zugreifen. Dies könnte auch eine Rolle sein, die einem Benutzer in IAM zugewiesen wird, dessen Anmeldeinformationen für den Jupyter-Kernel verwendet werden AWS Command Line Interface, oder ein AWS Glue Client, der von den interaktiven Sitzungen verwendet wird.
-
Laufzeitrolle: Die Laufzeitrolle ist eine IAM-Rolle, die der Client-Prinzipal an Operationen der Interactive Sessions API übergibt. AWS Glue verwendet diese Rolle, um Anweisungen in Ihrer Sitzung auszuführen. Zum Beispiel könnte diese Rolle diejenige sein, die zum Ausführen von AWS Glue-ETL-Aufträgen verwendet wird.
Weitere Informationen finden Sie unter Einrichten einer Laufzeitrolle.
Einrichten eines Client-Prinzipals
Sie müssen eine Identitätsrichtlinie an den Client-Prinzipal anhängen, damit er die Interactive-Sessions-API aufrufen kann. Diese Rolle muss iam:PassRole
-Zugriff auf die Ausführungsrolle haben, die Sie an die Interactive-Sessions-API übergeben würden, z. B. CreateSession
. Sie können die AWSGlueConsoleFullAccessverwaltete Richtlinie beispielsweise einer IAM-Rolle zuordnen, sodass Benutzer in Ihrem Konto, an die die Richtlinie angehängt ist, auf alle in Ihrem Konto erstellten Sitzungen zugreifen können (z. B. Runtime Statement oder Cancel Statement).
Wenn Sie Ihre Sitzung schützen und sie nur für bestimmte IAM-Rollen privat machen möchten, z. B. für Rollen, die dem Benutzer zugeordnet sind, der die Sitzung erstellt hat, können Sie die tagbasierte Autorisierungssteuerung von AWS Glue Interactive Session verwenden. TagOnCreate Weitere Informationen finden Sie unter, wie Sie mit einer verwalteten Richtlinie, die Machen Sie Ihre Sitzung privat mit TagOnCreate auf einem Besitzertag basiert, Ihre Sitzung als privat kennzeichnen können. TagOnCreate Weitere Informationen zu identitätsbasierten Richtlinien finden Sie unter Identitätsbasierte Richtlinien für. AWS Glue
Einrichten einer Laufzeitrolle
Sie müssen eine IAM-Rolle an den CreateSession API-Vorgang übergeben, damit Anweisungen in interaktiven Sitzungen angenommen und ausgeführt werden könnenAWS Glue. Die Rolle sollte über dieselben IAM-Berechtigungen verfügen, die zum Ausführen eines gewöhnlichen AWS Glue-Auftrags erforderlich sind. Sie können beispielsweise mithilfe der AWSGlueServiceRoleRichtlinie, die es ermöglicht, Dienste in Ihrem Namen AWS Glue aufzurufen, eine AWS Servicerolle erstellen. Wenn Sie die AWS Glue-Konsole verwenden, erstellt sie automatisch eine Servicerolle in Ihrem Namen oder verwendet eine vorhandene Rolle. Sie können auch Ihre eigene IAM-Rolle erstellen und Ihre eigene IAM-Richtlinie anhängen, um ähnliche Berechtigungen zu gewähren.
Wenn Sie Ihre Sitzung schützen und sie nur für den Benutzer privat machen möchten, der die Sitzung erstellt hat, dann können Sie die Tag-Based Authorization Control von AWS Glue Interactive Session aufrufen TagOnCreate. Weitere Informationen finden Sie unter, wie Sie mit einer verwalteten Richtlinie, die Machen Sie Ihre Sitzung privat mit TagOnCreate auf einem Besitzertag basiert, Ihre Sitzung als privat kennzeichnen können. TagOnCreate Weitere Informationen zu identitätsbasierten Richtlinien finden Sie unter Identitätsbasierte Richtlinien für Glue AWS. Wenn Sie die Ausführungsrolle selbst von der IAM-Konsole aus erstellen und Ihren Service mit dieser TagOnCreate Funktion als privat kennzeichnen möchten, gehen Sie wie folgt vor.
-
Erstellen Sie eine IAM-Rolle und legen Sie
Glue
als Rollentyp fest. -
Hängen Sie diese AWS Glue verwaltete Richtlinie an: AwsGlueSessionUserRestrictedServiceRole
-
Stellen Sie dem Rollennamen den Richtliniennamen voran AwsGlueSessionUserRestrictedServiceRole. Sie können beispielsweise eine Rolle mit dem Namen AwsGlueSessionUserRestrictedServiceRole-myrole erstellen und eine AWS Glue verwaltete Richtlinie anhängen. AwsGlueSessionUserRestrictedServiceRole
-
Fügen Sie eine Vertrauensrichtlinie wie die folgende an, um AWS Glue zu ermöglichen, die Rolle zu übernehmen:
Für einen Jupyter-Kernel für interaktive Sitzungen können Sie den iam_role
Schlüssel in Ihrem Profil angeben. AWS Command Line Interface Weitere Informationen finden Sie unter Konfigurieren von Sitzungen mit ~/.aws/config . Wenn Sie über ein AWS Glue-Notebook mit interaktiven Sitzungen interagieren, können Sie die Ausführungsrolle im %iam_role
Magic in der ersten Zelle, die Sie ausführen, übergeben.
Machen Sie Ihre Sitzung privat mit TagOnCreate
AWS Glue-interaktive Sitzungen unterstützen die Markierung und Tag-Based Authorization (TBAC) für interaktive Sitzungen als benannte Ressource. Zusätzlich zur Verwendung von TBAC TagResource und unterstützen AWS Glue interaktive Sitzungen die TagOnCreate Funktion UntagResource APIs, eine Sitzung nur während der Sitzungserstellung mit CreateSession einem bestimmten Tag zu „taggen“. Das bedeutet auch, dass diese Tags am entfernt werden DeleteSession, aka. UntagOnDelete
TagOnCreate bietet einen leistungsstarken Sicherheitsmechanismus, um Ihre Sitzung für den Ersteller der Sitzung privat zu machen. Sie können beispielsweise eine IAM-Richtlinie mit „owner“ RequestTag und dem Wert $ {aws:UserId} an einen Client-Principal (z. B. einen Benutzer) anhängen, um das Erstellen einer Sitzung nur zu ermöglichen, wenn auf Anfrage ein „owner“ -Tag mit dem entsprechenden Wert der userId des Anrufers als userID-Tag bereitgestellt wird. CreateSession Diese Richtlinie ermöglicht AWS Glue-interaktiven Sitzungen, eine Sitzungsressource zu erstellen und die Sitzung ausschließlich während der Erstellung mit dem userId-Tag zu markieren. Darüber hinaus können Sie den Zugriff (wie das Ausführen von Anweisungen) auf Ihre Sitzung nur auf den Ersteller (auch bekannt als Eigentümer-Tag mit dem Wert $ {aws:UserId}) beschränken, indem Sie der Ausführungsrolle, die Sie während der Sitzung übergeben haben, eine IAM-Richtlinie mit „owner“ ResourceTag anhängen CreateSession.
Um es Ihnen zu erleichtern, die TagOnCreate Funktion zu verwenden, mit der Sie eine Sitzung nur für den Sitzungsersteller sperren können, werden spezielle verwaltete Richtlinien und AWS Glue Servicerollen bereitgestellt.
Wenn Sie eine AWS Glue interaktive Sitzung mithilfe eines AssumeRole IAM-Prinzipals erstellen möchten (d. h. mithilfe von Anmeldeinformationen, die durch die Übernahme einer IAM-Rolle vergeben wurden) und Sie die Sitzung für den Ersteller privat machen möchten, verwenden Sie Richtlinien, die den bzw. entsprechen. AWSGlueSessionUserRestrictedNotebookPolicyAWSGlueSessionUserRestrictedNotebookServiceRole Diese Richtlinien ermöglichen esAWS Glue, $ {aws:PrincipalTag} zu verwenden, um den Besitzer-Tag-Wert zu extrahieren. Dazu müssen Sie ein UserID-Tag mit dem Wert $ {aws:UserId} übergeben, wie SessionTag in den Anmeldeinformationen für die Übernahme der Rolle. Siehe ID-Sitzungs-Tags. Wenn Sie eine EC2 Amazon-Instance mit einem Instance-Profil verwenden, das die Anmeldeinformationen verkauft, und Sie eine Sitzung erstellen oder mit der Sitzung von der EC2 Amazon-Instance aus interagieren möchten, müssen Sie ein UserID-Tag mit dem Wert $ {aws:UserId} übergeben, wie in den Anmeldeinformationen für die Rolle annehmen. SessionTag
Wenn Sie beispielsweise eine Sitzung mit einem AssumeRole IAM-Prinzipalnachweis erstellen und Ihren Service mit dieser Funktion als privat kennzeichnen möchten, gehen Sie wie folgt vor. TagOnCreate
-
Erstellen Sie eine Laufzeitrolle in der IAM-Konsole. Bitte hängen Sie diese AWS Glue verwaltete Richtlinie an AwsGlueSessionUserRestrictedNotebookServiceRoleund stellen Sie dem Rollennamen den Richtliniennamen voran. AwsGlueSessionUserRestrictedNotebookServiceRole Sie können beispielsweise eine Rolle mit dem Namen AwsGlueSessionUserRestrictedNotebookServiceRole-myrole erstellen und eine AWS Glue verwaltete Richtlinie anhängen. AwsGlueSessionUserRestrictedNotebookServiceRole
-
Fügen Sie eine Vertrauensrichtlinie wie folgt an, um AWS Glue zu ermöglichen, die obige Rolle zu übernehmen.
-
Erstellen Sie eine weitere Rolle mit einem Präfix AwsGlueSessionUserRestrictedNotebookPolicyund fügen Sie die AWS Glue verwaltete Richtlinie an AwsGlueSessionUserRestrictedNotebookPolicy, um die Sitzung privat zu machen. Fügen Sie der Rolle, die Sie in Schritt 1 erstellt haben, zusätzlich zur verwalteten Richtlinie die folgende Inline-Richtlinie hinzuPassRole , um iam zuzulassen.
-
Fügen Sie eine Vertrauensrichtlinie wie folgt an, um dem obigen IAM-AWS Glue zu ermöglichen, die Rolle zu übernehmen.
Anmerkung
Optional können Sie eine einzelne Rolle (z. B. die Notebook-Rolle) verwenden und die beiden oben genannten verwalteten Richtlinien AwsGlueSessionUserRestrictedNotebookServiceRoleund AwsGlueSessionUserRestrictedNotebookPolicyanhängen. Fügen Sie außerdem die zusätzliche Inline-Richtlinie an, um die Übergabe Ihrer Rolle mit
iam:passrole
an AWS Glue zuzulassen. Abschließend fügen Sie die oben genannte Vertrauensrichtlinie an, umsts:AssumeRole
undsts:TagSession
zuzulassen.
AWSGlueSessionUserRestrictedNotebookPolicy
Die AWSGlue SessionUserRestrictedNotebookPolicy ermöglicht nur dann Zugriff auf die Erstellung einer AWS Glue interaktiven Sitzung von einem Notizbuch aus, wenn ein Tag-Schlüssel „Besitzer“ und ein Wert mit der AWS Benutzer-ID des Prinzipals (Benutzer oder Rolle) übereinstimmen. Weitere Informationen finden Sie unter Wo Richtlinienvariablen verwendet werden können. Diese Richtlinie ist dem Prinzipal (Benutzer oder Rolle) angefügt, der AWS Glue-Interactive-Sessions-Notebooks von AWS Glue Studio erstellt. Diese Richtlinie ermöglicht auch ausreichenden Zugriff auf das AWS Glue Studio Notizbuch, um mit den Ressourcen für AWS Glue Studio interaktive Sitzungen zu interagieren, die mit dem Tagwert „Besitzer“ erstellt wurden, der der AWS Benutzer-ID des Prinzipals entspricht. Diese Richtlinie verweigert die Berechtigung zum Ändern oder Entfernen von „owner“-Tags einer AWS Glue-Sitzungsressource, nachdem die Sitzung erstellt wurde.
AWSGlueSessionUserRestrictedNotebookServiceRole
Das AWSGlueSessionUserRestrictedNotebookServiceRolebietet ausreichend Zugriff auf das AWS Glue Studio Notizbuch, um mit den Ressourcen für AWS Glue interaktive Sitzungen zu interagieren, die mit dem Tagwert „owner“ erstellt wurden, der der AWS Benutzer-ID des Prinzipals (Benutzer oder Rolle) des Notizbuch-Erstellers entspricht. Weitere Informationen finden Sie unter Wo Richtlinienvariablen verwendet werden können. Diese Dienstrollenrichtlinie ist der Rolle zugeordnet, die als magische Rolle an ein Notizbuch oder als Ausführungsrolle an die CreateSession API übergeben wird. Mit dieser Richtlinie kann auch nur dann eine AWS Glue interaktive Sitzung von einem Notizbuch aus erstellt werden, wenn der Tag-Schlüssel „Besitzer“ und der Wert mit der AWS Benutzer-ID des Prinzipals übereinstimmen. Diese Richtlinie verweigert die Berechtigung zum Ändern oder Entfernen von „owner“-Tags einer AWS Glue-Sitzungsressource, nachdem die Sitzung erstellt wurde. Diese Richtlinie umfasst auch Berechtigungen zum Schreiben und Lesen aus Amazon S3 S3-Buckets, zum Schreiben von CloudWatch Protokollen sowie zum Erstellen und Löschen von Tags für EC2 Amazon-Ressourcen, die von AWS Glue verwendet werden.
Ihre Sitzung mit Benutzer-Richtlinien privat stellen
Sie können die IAM-Rollen AWSGlueSessionUserRestrictedPolicy, die den einzelnen Benutzern in Ihrem Konto zugewiesen sind, zuordnen, um sie daran zu hindern, eine Sitzung nur mit einem Besitzer-Tag zu erstellen, dessen Wert ihrem eigenen $ {aws:UserId} entspricht. Anstatt das AWSGlueSessionUserRestrictedNotebookPolicyund zu verwenden, müssen AWSGlueSessionUserRestrictedNotebookServiceRoleSie ähnliche Richtlinien wie das und verwenden. AWSGlueSessionUserRestrictedPolicyAWSGlueSessionUserRestrictedServiceRole Weitere Informationen finden Sie unter Verwendung identitätsbasierter Richtlinien. Diese Richtlinie beschränkt den Zugriff auf eine Sitzung nur auf den Ersteller, die ${aws:userId} des Benutzers, der die Sitzung erstellt hat, mit einem Besitzer-Tag, der seine eigene ${aws:userId} trägt. Wenn Sie die Ausführungsrolle mithilfe der IAM-Konsole selbst erstellt haben, indem Sie die Schritte unter befolgenEinrichten einer Laufzeitrolle, dann fügen Sie nicht nur die AwsGlueSessionUserRestrictedPolicyverwaltete Richtlinie hinzu, sondern fügen Sie jedem Benutzer in Ihrem Konto auch die folgende Inline-Richtlinie hinzu, iam:PassRole
um die zuvor erstellte Ausführungsrolle zu ermöglichen.
AWSGlueSessionUserRestrictedPolicy
Die AWSGlueSessionUserRestrictedPolicyermöglicht nur dann Zugriff auf die Erstellung einer AWS Glue interaktiven Sitzung mithilfe der CreateSession API, wenn ein Tag-Schlüssel „Eigentümer“ und ein Wert angegeben werden, der der AWS Benutzer-ID entspricht. Diese Identitätsrichtlinie ist an den Benutzer angehängt, der die CreateSession API aufruft. Diese Richtlinie ermöglicht auch die Interaktion mit den Ressourcen für AWS Glue interaktive Sitzungen, die mit einem „Eigentümer“ -Tag und einem Wert erstellt wurden, der ihrer AWS Benutzer-ID entspricht. Diese Richtlinie verweigert die Berechtigung zum Ändern oder Entfernen von „owner“-Tags einer AWS Glue-Sitzungsressource, nachdem die Sitzung erstellt wurde.
AWSGlueSessionUserRestrictedServiceRole
Die AWSGlueSessionUserRestrictedServiceRolebietet vollen Zugriff auf alle AWS Glue Ressourcen mit Ausnahme von Sitzungen und ermöglicht Benutzern, nur die interaktiven Sitzungen zu erstellen und zu verwenden, die dem Benutzer zugeordnet sind. Diese Richtlinie umfasst auch andere Berechtigungen, die für AWS Glue die Verwaltung von Glue-Ressourcen in anderen AWS Diensten erforderlich sind. Die Richtlinie ermöglicht auch das Hinzufügen von Tags zu AWS Glue Ressourcen in anderen AWS Diensten.
Überlegungen zur IAM-Richtlinie
Interaktive Sitzungen sind IAM-Ressourcen in AWS Glue. Da es sich um IAM-Ressourcen handelt, werden der Zugriff auf und die Interaktion mit einer Sitzung durch IAM-Richtlinien geregelt. Basierend auf den IAM-Richtlinien, die an einen Client-Prinzipal oder eine von einem Administrator konfigurierte Ausführungsrolle angehängt sind, kann ein Client-Prinzipal (Benutzer oder Rolle) neue Sitzungen erstellen und mit eigenen Sitzungen und anderen Sitzungen interagieren.
Wenn ein Administrator eine IAM-Richtlinie angehängt hat AWSGlueServiceRole , die beispielsweise AWSGlue ConsoleFullAccess den Zugriff auf alle AWS Glue Ressourcen in diesem Konto ermöglicht, kann ein Client-Principal zusammenarbeiten. Beispielsweise kann ein Benutzer mit Sitzungen interagieren, die von anderen Benutzern erstellt wurden, wenn Richtlinien dies zulassen.
Wenn Sie eine Richtlinie konfigurieren möchten, die auf Ihre spezifischen Bedürfnisse zugeschnitten ist, finden Sie in der IAM-Dokumentation zur Konfiguration von Ressourcen für eine Richtlinie. Um beispielsweise Sitzungen zu isolieren, die einem Benutzer gehören, können Sie die von AWS Glue interaktiven Sitzungen unterstützte TagOnCreate Funktion verwenden. Siehe Machen Sie Ihre Sitzung privat mit TagOnCreate .
Interaktive Sitzungen unterstützen die Einschränkung der Sitzungserstellung basierend auf bestimmten VPC-Bedingungen. Siehe Steuern von Richtlinien, die Einstellungen über Bedingungsschlüssel steuern.