AWS Beispiele für Richtlinien für den Fault Injection Service - AWS Fehlerinjektionsservice

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.

AWS Beispiele für Richtlinien für den Fault Injection Service

Standardmäßig sind Benutzer und Rollen nicht berechtigt, etwas zu erstellen oder zu ändern AWS FISRessourcen. Sie können auch keine Aufgaben ausführen, indem sie die AWS Management Console, AWS Command Line Interface (AWS CLI), oder AWS API. Um Benutzern die Erlaubnis zu erteilen, Aktionen mit den Ressourcen durchzuführen, die sie benötigen, kann ein IAM Administrator IAM Richtlinien erstellen. Der Administrator kann dann die IAM Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen übernehmen.

Informationen zum Erstellen einer IAM identitätsbasierten Richtlinie anhand dieser JSON Beispieldokumente finden Sie unter IAMRichtlinien erstellen im IAMBenutzerhandbuch.

Einzelheiten zu Aktionen und Ressourcentypen, definiert von AWS FIS, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Der Fault Injection Service finden Sie in der Serviceautorisierungsreferenz.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien bestimmen, ob jemand etwas erstellen, darauf zugreifen oder löschen kann AWS FISRessourcen in Ihrem Konto. Diese Aktionen können Kosten für Sie verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:

  • Fangen Sie an mit AWS verwaltete Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten — Um zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren, verwenden Sie AWS verwaltete Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren. Sie sind in Ihrem verfügbar AWS-Konto. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie Folgendes definieren AWS vom Kunden verwaltete Richtlinien, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS verwaltete Richtlinien oder AWS verwaltete Richtlinien für Jobfunktionen im IAMBenutzerhandbuch.

  • Berechtigungen mit den geringsten Rechten anwenden — Wenn Sie Berechtigungen mit IAM Richtlinien festlegen, gewähren Sie nur die Berechtigungen, die für die Ausführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung IAM zum Anwenden von Berechtigungen finden Sie IAMim Benutzerhandbuch unter Richtlinien und Berechtigungen. IAM

  • Verwenden Sie Bedingungen in IAM Richtlinien, um den Zugriff weiter einzuschränken — Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen einzuschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um anzugeben, dass alle Anfragen mit gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über eine bestimmte AWS-Service, wie beispielsweise AWS CloudFormation. Weitere Informationen finden Sie unter IAMJSONRichtlinienelemente: Zustand im IAMBenutzerhandbuch.

  • Verwenden Sie IAM Access Analyzer, um Ihre IAM Richtlinien zu validieren, um sichere und funktionale Berechtigungen zu gewährleisten. IAM Access Analyzer validiert neue und bestehende Richtlinien, sodass die Richtlinien der IAM Richtliniensprache (JSON) und den IAM bewährten Methoden entsprechen. IAMAccess Analyzer bietet mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen, um Sie bei der Erstellung sicherer und funktionaler Richtlinien zu unterstützen. Weitere Informationen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, das IAM Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, schalten Sie MFA für zusätzliche Sicherheit ein. Wenn Sie festlegen möchten, MFA wann API Operationen aufgerufen werden, fügen Sie MFA Bedingungen zu Ihren Richtlinien hinzu. Weitere Informationen finden Sie unter Konfiguration des MFA -geschützten API Zugriffs im IAMBenutzerhandbuch.

Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. IAM

Beispiel: Verwenden Sie den AWS FISKonsole

Um auf die zuzugreifen AWS Für die Fault Injection Service-Konsole benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu folgenden Elementen aufzulisten und anzuzeigen AWS FISRessourcen in Ihrem AWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie nicht wie vorgesehen.

Sie müssen Benutzern, die nur Anrufe tätigen, keine Mindestberechtigungen für die Konsole gewähren AWS CLI oder das AWS API. Erlauben Sie stattdessen nur den Zugriff auf die Aktionen, die dem API Vorgang entsprechen, den sie ausführen möchten.

Die folgende Beispielrichtlinie gewährt die Erlaubnis, alle aufzulisten und anzuzeigen AWS FISRessourcen verwenden AWS FISKonsole, aber nicht, um sie zu erstellen, zu aktualisieren oder zu löschen. Es gewährt auch Berechtigungen zum Anzeigen der verfügbaren Ressourcen, die von allen verwendet werden AWS FISAktionen, die Sie in einer Experimentvorlage angeben könnten.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FISReadOnlyActions", "Effect": "Allow", "Action": [ "fis:List*", "fis:Get*" ], "Resource": "*" }, { "Sid": "AdditionalReadOnlyActions", "Effect": "Allow", "Action": [ "ssm:Describe*", "ssm:Get*", "ssm:List*", "ec2:DescribeInstances", "rds:DescribeDBClusters", "ecs:DescribeClusters", "ecs:ListContainerInstances", "eks:DescribeNodegroup", "cloudwatch:DescribeAlarms", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "PermissionsToCreateServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "fis.amazonaws.com" } } } ] }

Beispiel: Liste verfügbar AWS FISAktionen

Die folgende Richtlinie gewährt die Erlaubnis, die verfügbaren aufzulisten AWS FISAktionen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fis:ListActions" ], "Resource": "arn:aws:fis:*:*:action/*" } ] }

Beispiel: Erstellen Sie eine Experimentvorlage für eine bestimmte Aktion

Die folgende Richtlinie erteilt die Erlaubnis, eine Experimentvorlage für die Aktion zu erstellenaws:ec2:stop-instances.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyExample", "Effect": "Allow", "Action": [ "fis:CreateExperimentTemplate" ], "Resource": [ "arn:aws:fis:*:*:action/aws:ec2:stop-instances", "arn:aws:fis:*:*:experiment-template/*" ] }, { "Sid": "PolicyPassRoleExample", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id:role/role-name" ] } ] }

Beispiel: Starten Sie ein Experiment

Die folgende Richtlinie erteilt die Erlaubnis, ein Experiment mit der angegebenen IAM Rolle und der angegebenen Versuchsvorlage zu starten. Sie ermöglicht auch AWS FISum im Namen des Benutzers eine dienstbezogene Rolle zu erstellen. Weitere Informationen finden Sie unter Verwenden Sie dienstbezogene Rollen für AWS Fehlerinjektionsdienst.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyExample", "Effect": "Allow", "Action": [ "fis:StartExperiment" ], "Resource": [ "arn:aws:fis:*:*:experiment-template/experiment-template-id", "arn:aws:fis:*:*:experiment/*" ] }, { "Sid": "PolicyExampleforServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "fis.amazonaws.com" } } } ] }

Beispiel: Verwenden Sie Tags, um die Ressourcennutzung zu kontrollieren

Die folgende Richtlinie gewährt die Erlaubnis, Experimente anhand von Experimentvorlagen auszuführen, die das Tag enthaltenPurpose=Test. Sie gewährt keine Erlaubnis, Versuchsvorlagen zu erstellen oder zu ändern oder Experimente mit Vorlagen durchzuführen, die nicht über das angegebene Tag verfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "fis:StartExperiment", "Resource": "arn:aws:fis:*:*:experiment-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

Beispiel: Löschen Sie eine Experimentvorlage mit einem bestimmten Tag

Die folgende Richtlinie gewährt die Erlaubnis, eine Experimentvorlage mit Tag zu löschenPurpose=Test.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fis:DeleteExperimentTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

Beispiel: Erteilen der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

Dieses Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, die internen und verwalteten Richtlinien einzusehen, die mit ihrer Benutzeridentität verknüpft sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe von AWS CLI or AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Beispiel: Verwenden Sie Bedingungsschlüssel für ec2:InjectApiError

In der folgenden Beispielrichtlinie wird der ec2:FisTargetArns Bedingungsschlüssel verwendet, um Zielressourcen einzugrenzen. Diese Richtlinie ermöglicht AWS FISAktionen aws:ec2:api-insufficient-instance-capacity-error undaws:ec2:asg-insufficient-instance-capacity-error.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:InjectApiError", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "ec2:FisActionId": [ "aws:ec2:api-insufficient-instance-capacity-error", ], "ec2:FisTargetArns": [ "arn:aws:iam:*:*:role:role-name" ] } } }, { "Effect": "Allow", "Action": "ec2:InjectApiError", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "ec2:FisActionId": [ "aws:ec2:asg-insufficient-instance-capacity-error" ], "ec2:FisTargetArns": [ "arn:aws:autoscaling:*:*:autoScalingGroup:uuid:autoScalingGroupName/asg-name" ] } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeAutoScalingGroups", "Resource": "*" } ] }

Beispiel: Verwenden Sie Bedingungsschlüssel für aws:s3:bucket-pause-replication

Die folgende Beispielrichtlinie verwendet den S3:IsReplicationPauseRequest Bedingungsschlüssel zum Zulassen PutReplicationConfiguration und GetReplicationConfiguration nur, wenn er von AWS FISim Kontext von AWS FISAktionaws:s3:bucket-pause-replication.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "S3:PauseReplication" ], "Resource": "arn:aws:s3:::mybucket", "Condition": { "StringEquals": { "s3:DestinationRegion": "region" } } }, { "Effect": "Allow", "Action": [ "S3:PutReplicationConfiguration", "S3:GetReplicationConfiguration" ], "Resource": "arn:aws:s3:::mybucket", "Condition": { "BoolIfExists": { "s3:IsReplicationPauseRequest": "true" } } }, { "Effect": "Allow", "Action": [ "S3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" } ] }