Steuern von Berechtigungen für S3-Batch-Vorgänge mithilfe von Auftrags-Markierungen - 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 S3-Batch-Vorgänge mithilfe von Auftrags-Markierungen

Zur Unterstützung bei der Verwaltung Ihrer S3-Batch-Vorgänge-Aufträge können Sie Auftrags-Markierungen 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. Auf diese Weise können Sie sehr detaillierte Richtlinien festlegen, die die Gruppe von Benutzern einschrä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 IAM-Richtliniensprache ausdrücken. Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Autorisierungs-Referenz.

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 S3-Batchoperationenauftrags-Tags in AWS Identity and Access Management (IAM)-Richtlinien, um Benutzern die Berechtigung zu erteilen, nur die Aufträge zu erstellen und zu bearbeiten, die in ihrer Abteilung ausgeführt werden. Sie weisen Aufträge basierend auf der Entwicklungsphase zu, mit der sie verbunden sind, wie QS oder Produktion.

In diesem Beispiel werden die folgenden Abteilungen verwendet, die Batch-Vorgänge auf jeweils unterschiedliche Weise einsetzen:

  • 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, die Berechtigungen definiert, indem Tags sowohl an Benutzer als auch an AWS Ressourcen angehängt werden.

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 enthäl stage=QA.

  • 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" ] } } } ] }