Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Prévention interservices confuse des adjoints dans Stacks AWS OpsWorks
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post
Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé d’accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte.
Nous recommandons d'utiliser les clés de contexte de condition aws:SourceAccount
globale aws:SourceArn
et les clés de contexte dans les politiques d'accès aux piles afin de limiter les autorisations que AWS OpsWorks Stacks accorde à un autre service aux piles. Si la valeur aws:SourceArn
ne contient pas l'ID du compte, tel qu'un ARN de compartiment Amazon S3, vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur aws:SourceArn
contient l'ID de compte, la valeur aws:SourceAccount
et le compte dans la valeur aws:SourceArn
doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. À utiliser aws:SourceArn
si vous souhaitez qu'une seule pile soit associée à l'accès multiservice. À utiliser aws:SourceAccount
si vous souhaitez autoriser toute pile de ce compte à être associée à l'utilisation interservices.
La valeur de aws:SourceArn
doit être l'ARN d'une AWS OpsWorks pile.
Le moyen le plus efficace de se protéger contre le problème de confusion des adjoints consiste à utiliser la clé de contexte de condition aws:SourceArn
globale avec l'ARN complet de la pile AWS OpsWorks
Stacks. Si vous ne connaissez pas l'ARN complet ou si vous spécifiez plusieurs ARN de pile, utilisez la clé de condition de contexte aws:SourceArn
global avec des caractères génériques (*
) pour les parties inconnues de l'ARN. Par exemple, arn:aws:
.servicename
:*:123456789012
:*
La section suivante explique comment utiliser les clés contextuelles aws:SourceArn
et les clés de contexte de condition aws:SourceAccount
globale dans AWS OpsWorks Stacks pour éviter le problème de confusion des adjoints.
Empêchez les exploits secondaires confus dans AWS OpsWorks Stacks
Cette section décrit comment vous pouvez empêcher les exploits secondaires confus dans AWS OpsWorks
Stacks et inclut des exemples de politiques d'autorisation que vous pouvez associer au rôle IAM que vous utilisez pour accéder AWS OpsWorks à Stacks. Pour des raisons de sécurité, nous vous recommandons d'ajouter les clés de aws:SourceAccount
condition aws:SourceArn
et aux relations de confiance que votre rôle IAM entretient avec d'autres services. Les relations de confiance permettent à AWS OpsWorks Stacks d'assumer un rôle pour effectuer des actions dans d'autres services nécessaires à la création ou à la gestion de vos AWS OpsWorks stacks Stacks.
Pour modifier les relations de confiance afin d'ajouter aws:SourceArn
et de aws:SourceAccount
conditionner des clés
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation de gauche, choisissez Rôles.
-
Dans la zone de recherche, recherchez le rôle que vous utilisez pour accéder à AWS OpsWorks Stacks. Le rôle AWS géré est
aws-opsworks-service-role
. -
Sur la page Résumé du rôle, choisissez l'onglet Relations de confiance.
-
Dans l'onglet Relations de confiance, choisissez Modifier la politique de confiance.
-
Sur la page Modifier la politique de confiance, ajoutez au moins l'une des clés de
aws:SourceAccount
conditionaws:SourceArn
ou à la politique.aws:SourceArn
À utiliser pour restreindre la relation de confiance entre les services croisés (tels qu'Amazon EC2) et AWS OpsWorks Stacks à des piles Stacks spécifiques AWS OpsWorks , ce qui est plus restrictif. Ajoutezaws:SourceAccount
pour limiter la relation de confiance entre cross services et AWS OpsWorks Stacks aux piles d'un compte spécifique, ce qui est moins restrictif. Voici un exemple. Notez que si vous utilisez les deux clés de condition, les identifiants de compte doivent être identiques.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "arn:aws:opsworks:us-east-2:123456789012:stack/EXAMPLEd-5699-40a3-80c3-22c32EXAMPLE/" } } } ] }
-
Lorsque vous avez terminé d'ajouter des clés de condition, choisissez Mettre à jour la politique.
Vous trouverez ci-dessous d'autres exemples de rôles qui limitent l'accès aux piles en utilisant aws:SourceArn
etaws:SourceAccount
.
Rubriques
Exemple : accès aux piles dans une région spécifique
La déclaration de relation de confiance suivante permet d'accéder à toutes les AWS OpsWorks piles Stacks de la région USA Est (Ohio) (). us-east-2
Notez que la région est spécifiée dans la valeur ARN deaws:SourceArn
, mais que la valeur de l'ID de pile est un caractère générique (*).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks:us-east-2:123456789012:stack/*" } } } ] }
Exemple : ajout de plusieurs ARN de pile à aws:SourceArn
L'exemple suivant limite l'accès à un tableau de deux AWS OpsWorks piles Stacks dans l'ID de compte 123456789012.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:opsworks:us-east-2:123456789012:stack/
unique_ID1
", "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID2
" ] } } } ] }