View a markdown version of this page

Cross-service verwirrt, stellvertretender Präventionsdienst - AWS Directory 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.

Cross-service verwirrt, stellvertretender Präventionsdienst

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. Insofern AWS kann dienststellenübergreifender Identitätswechsel zu einem verwirrten Stellvertreterproblem führen. Cross-service Ein Identitätswechsel kann auftreten, wenn ein Dienst (der aufrufende Dienst) einen anderen Dienst (den aufgerufenen Dienst) anruft. Der aufrufende Service kann manipuliert werden, um seine Berechtigungen zu verwenden, um Aktionen auf die Ressourcen eines anderen Kunden auszuführen, für die er sonst keine Zugriffsberechtigung haben sollte. Um dies zu verhindern, bietet AWS Tools, mit denen Sie Ihre Daten für alle Services mit Serviceprinzipalen schützen können, die Zugriff auf Ressourcen in Ihrem Konto erhalten haben.

Wir empfehlen, die Schlüssel aws:SourceArn und den aws:SourceAccount globalen Bedingungskontext in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, die Directory Service für Microsoft Active Directory einem anderen Dienst für die Ressource gewährt werden. Wenn der aws:SourceArn-Wert die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie beide globale Bedingungskontextschlüssel verwenden, um Berechtigungen einzuschränken. Wenn Sie beide globale Bedingungskontextschlüssel verwenden und der aws:SourceArn-Wert die Konto-ID enthält, müssen der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert dieselbe Konto-ID verwenden, wenn sie in der gleichen Richtlinienanweisung verwendet wird. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie aws:SourceAccount, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

Für das folgende Beispiel aws:SourceArn muss der Wert von eine CloudWatch Protokollgruppe sein.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel aws:SourceArn mit Platzhaltern (*) für die unbekannten Teile des ARN. Beispiel, arn:aws:servicename:*:123456789012:*.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungskontextschlüssel in AWS Managed Microsoft AD verwenden können, um das verwirrte Stellvertreter-Problem zu vermeiden.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws/directoryservice/Log_Group_Name:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/Directory_Name" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

Für das folgende Beispiel muss der Wert von aws:SourceArn ein SNS-Thema in Ihrem Konto sein. Sie können beispielsweise etwas verwenden, arn:aws:sns:ap-southeast-1:123456789012:DirectoryMonitoring_d-966739499f bei dem „ap-southeast-1“ Ihre Region ist, „123456789012" Ihre Kundennummer ist und" DirectoryMonitoring _d-966739499f“ der Name des Amazon SNS-Themas ist, den Sie erstellt haben.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel aws:SourceArn mit Platzhaltern (*) für die unbekannten Teile des ARN. Beispiel, arn:aws:servicename:*:123456789012:*.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel und die globalen Bedingungskontextschlüssel in Managed Microsoft AD verwenden können, um das verwirrte Stellvertreter-Problem zu vermeiden. aws:SourceArn aws:SourceAccount AWS

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "SNS:AddPermission", "SNS:RemovePermission", "SNS:DeleteTopic", "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:111122223333:SNS_TOPIC_NAME" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/EXTERNAL_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

Das folgende Beispiel zeigt eine IAM-Vertrauensrichtlinie für eine Rolle, der der Konsolenzugriff delegiert wurde. Der Wert von aws:SourceArn muss eine Verzeichnisressource in Ihrem Konto sein. Weitere Informationen finden Sie unter Ressourcentypen, definiert von Directory Service. Sie können beispielsweise arn:aws:ds:us-east-1:123456789012:directory/d-1234567890 angeben, wo 123456789012 Ihre Kunden-ID und d-1234567890 Ihre Verzeichnis-ID ist.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/YOUR_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }