Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen - Amazon Simple Storage Service

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.

Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen

Zur Unterstützung bei der Verwaltung Ihrer Aufgaben in Amazon S3 Batch Operations können Sie Aufgaben-Tags hinzufügen. Mit Auftrags-Markierungen können Sie den Zugriff auf Ihre BatchVorgängeaufträge steuern und erzwingen, dass Markierungen angewendet werden, wenn ein Auftrag erstellt wird.

Sie können bis zu 50 Auftrag-Markierungen auf jeden Batchoperations-Auftrag anwenden. Durch die Verwendung von Tags können Sie granulare Richtlinien festlegen, um den Satz von Benutzern einzuschränken, die den Auftrag bearbeiten können. Aufgaben-Markierungen können einem Benutzer die Möglichkeit gewähren oder einschränken, eine Aufgabe abzubrechen, eine Aufgabe im Bestätigungsstatus zu aktivieren oder die Prioritätsstufe einer Aufgabe zu ändern. Darüber hinaus können Sie erzwingen, dass Markierungen auf alle neuen Aufträge angewendet werden, und die zulässigen Schlüssel-Wert-Paare für die Markierungen angeben. Sie können alle diese Bedingungen mit derselben AWS Identity and Access Management (IAM)-Richtliniensprache ausdrücken. Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Authorization-Referenz.

Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.

Das folgende Beispiel zeigt, wie Sie S3-Batchoperations-Auftrags-Markierungen verwenden können, um Benutzern die Berechtigung zu erteilen, nur die Aufträge zu erstellen und zu bearbeiten, die in einer bestimmten Abteilung (z. B. der Abteilung Finanzen oder Compliance) ausgeführt werden. Sie können Aufträge auch basierend auf der Entwicklungsphase zuweisen, auf die sie sich beziehen, z. B QS oder Produktion.

In diesem Beispiel verwenden Sie Auftrags-Tags von S3 Batch Operations in IAM-Richtlinien, um Benutzern die Berechtigung zu erteilen, nur die Aufträge zu erstellen und zu bearbeiten, die innerhalb ihrer Abteilung ausgeführt werden. Sie weisen Aufträge basierend auf der Entwicklungsphase zu, mit der sie verbunden sind, wie QS oder Produktion.

Die folgenden Beispiele verwenden die folgenden Abteilungen, wobei jede Abteilung Batch Operations auf unterschiedliche Weise nutzt:

  • Finanzen

  • Compliance

  • Business Intelligence

  • Entwicklung

Steuern des Zugriffs durch Zuweisen von Markierungen zu Benutzern und Ressourcen

In diesem Szenario verwenden die Administratoren attributbasierte Zugriffssteuerung (Attribute-based Access Control, ABAC). ABAC ist eine IAM-Autorisierungsstrategie, bei der Berechtigungen definiert werden, indem sowohl Benutzern als auch Ressourcen Tags zugewiesen werden. AWS

Benutzern und Jobs wird eines der folgenden Abteilungstags zugewiesen:

Schlüssel : Wert
  • department : Finance

  • department : Compliance

  • department : BusinessIntelligence

  • department : Engineering

    Anmerkung

    Bei Tag-Schlüsseln und -Werten muss die Groß-/Kleinschreibung beachtet werden.

Mit der ABAC-Zugriffssteuerungsstrategie erteilen Sie einem Benutzer in der Finanzabteilung die Berechtigung, S3-Batch-Vorgänge-Aufträge innerhalb seiner Abteilung zu erstellen und zu verwalten, indem Sie das Tag department=Finance mit dem Benutzer verknüpfen.

Darüber hinaus können Sie dem IAM-Benutzer eine verwaltete Richtlinie anfügen, die es jedem Benutzer in seinem Unternehmen ermöglicht, S3-BatchVorgängeaufträge innerhalb seiner jeweiligen Abteilungen zu erstellen oder zu ändern.

Die Richtlinie in diesem Beispiel enthält drei Richtlinienanweisungen:

  • Die erste Anweisung in der Richtlinie ermöglicht es dem Benutzer, einen Batchoperations-Auftrag zu erstellen, vorausgesetzt, die Auftragserstellungsanforderung enthält ein Auftrags-Tag, das der jeweiligen Abteilung entspricht. Dies wird mithilfe der Syntax "${aws:PrincipalTag/department}" ausgedrückt, die zum Zeitpunkt der Richtlinienauswertung durch das Abteilungs-Tag des Benutzers ersetzt wird. Die Bedingung ist erfüllt, wenn der für das Abteilungs-Tag in der Anforderung ("aws:RequestTag/department") angegebene Wert mit dem der Abteilung des Benutzers übereinstimmt.

  • Die zweite Anweisung in der Richtlinie ermöglicht es Benutzern, die Priorität von Aufträgen zu ändern oder den Status eines Auftrags zu aktualisieren, sofern der Auftrag, den der Benutzer aktualisiert, mit der Abteilung des Benutzers übereinstimmt.

  • Die dritte Anweisung ermöglicht es einem Benutzer, die Markierungen eines Batchoperations-Auftrags jederzeit über eine PutJobTagging-Anforderung zu aktualisieren, solange (1) das Abteilung-Tag erhalten bleibt und (2) sich der Auftrag, der aktualisiert wird, innerhalb der Abteilung des Benutzers befindet.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobPriority", "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } } ] }

Markieren von BatchVorgängeaufträgen nach Stufe und Durchsetzen von Limits für die Auftragspriorität

Alle S3-BatchVorgängeaufträge haben eine numerische Priorität, anhand derer Amazon S3 entscheidet, in welcher Reihenfolge die Aufträge ausgeführt werden sollen. In diesem Beispiel beschränken Sie die maximale Priorität, die die meisten Benutzer Aufträgen zuweisen können, wobei höhere Prioritätsbereiche für eine begrenzte Gruppe von berechtigten Benutzern reserviert sind:

  • Prioritätsbereich der QA-Stufe (niedrig): 1-100

  • Prioritätsbereich der Produktionsstufe (hoch): 1-300

Dazu führen Sie einen neuen Tag-Satz ein, der die Phase des Auftrags repräsentiert:

Schlüssel : Wert
  • stage : QA

  • stage : Production

Erstellen und Aktualisieren von Aufträgen mit geringer Priorität in einer Abteilung

Mit dieser Richtlinie werden neben der abteilungsbasierten Einschränkung zwei neue Einschränkungen für die Erstellung und Aktualisierung von S3-BatchVorgängeaufträgen eingeführt:

  • Es ermöglicht Benutzern, Aufträge in ihrer Abteilung mit einer neuen Bedingung zu erstellen oder zu aktualisieren, die erfordert, dass der Auftrag das Tag stage=QA enthält.

  • Es ermöglicht Benutzern, Aufträge mit einer maximalen Priorität von bis 100 zu erstellen oder zu aktualisieren.

{         "Version": "2012-10-17",         "Statement": [         {         "Effect": "Allow",         "Action": "s3:CreateJob",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": [             "s3:UpdateJobStatus"         ],         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}"             }         }     },     {         "Effect": "Allow",         "Action": "s3:UpdateJobPriority",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:ResourceTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": "s3:PutJobTagging",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department" : "${aws:PrincipalTag/department}",                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA",                 "aws:ResourceTag/stage": "QA"             }         }     },     {         "Effect": "Allow",         "Action": "s3:GetJobTagging",         "Resource": "*"     }     ] }

Erstellen und Aktualisieren von Aufträgen mit hoher Priorität in einer Abteilung

Einer kleinen Anzahl von Benutzern muss u. U. möglich sein, Aufträge hoher Priorität in QS oder Produktion zu erstellen. Um diesen Bedarf zu unterstützen, erstellen Sie eine verwaltete Richtlinie durch Abwandlung einer Richtlinie mit niedriger Priorität im vorherigen Abschnitt.

Diese Richtlinie gewährt die folgenden Aktionen:

  • Ermöglicht Benutzern, Aufträge in ihrer Abteilung entweder mit dem Tag stage=QA oder stage=Production zu erstellen oder zu aktualisieren.

  • Ermöglicht Benutzern, bei der Erstellung oder Aktualisierung eines Auftrags als Priorität bis zu 300 anzugeben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:UpdateJobPriority", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ], "aws:ResourceTag/stage": [ "QA", "Production" ] } } } ] }