Serviceübergreifende Confused-Deputy-Prävention - AWS CodeDeploy

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.

Serviceübergreifende Confused-Deputy-Prävention

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine juristische Stelle, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine privilegiertere juristische Stelle zwingen kann, die Aktion auszuführen. In AWS kann ein dienstübergreifendes Identitätswechsels zu einem Problem mit dem verwirrten Stellvertreter führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der Anruf-Dienst) einen anderen Dienst anruft (den aufgerufenen Dienst). Der Anruf-Dienst kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, AWS bietet Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde.

Wir empfehlen die Verwendung der SourceAccount globalen Bedingungsschlüssel aws: SourceArn und aws: in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, die CodeDeploy der Ressource einen anderen Dienst gewähren. 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 diese Option, aws:SourceAccount wenn Sie möchten, dass Ressourcen in diesem Konto mit der dienstübergreifenden Nutzung verknüpft werden.

Bei EC2 /On-Premises-, AWS Lambda- und regulären ECS Amazon-Bereitstellungen aws:SourceArn sollte der Wert von die CodeDeploy Bereitstellungsgruppe enthalten, ARN mit der die Rolle CodeDeploy übernommen werden darf. IAM

Bei Amazon ECS Blue/Green-Bereitstellungen, die durch erstellt wurden AWS CloudFormation, aws:SourceArn sollte der Wert von den CloudFormation Stack enthalten, ARN mit dem die CodeDeploy Rolle übernommen werden darf. IAM

Der wirksamste Schutz vor dem Problem mit dem verwirrten Stellvertreter besteht darin, den aws:SourceArn Schlüssel mit ARN der gesamten Ressource zu verwenden. Wenn Sie den vollständigen Wert nicht kennen ARN oder wenn Sie mehrere Ressourcen angeben, verwenden Sie Platzhalterzeichen (*) für die unbekannten Teile.

Sie könnten beispielsweise die folgende Vertrauensrichtlinie mit einer EC2 /On-Premises-, AWS Lambda- oder regulären Amazon-Bereitstellung verwenden: ECS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

Für eine Amazon ECS Blue/Green-Bereitstellung AWS CloudFormation, die über erstellt wurde, könnten Sie Folgendes verwenden:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }