Cross-service prévention confuse des adjoints
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 un problème de confusion chez les adjoints. Cross-service l'usurpation d'identité 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 auprès des principaux fournisseurs de services qui ont obtenu l'accès aux ressources de votre compte.
Nous recommandons d'utiliser les clés contextuelles de condition SourceAccount globale aws : SourceArn et aws : dans les politiques relatives aux ressources afin de limiter les autorisations qu'Amazon Bedrock AgentCore accorde à un autre service à la ressource. Utilisez aws:SourceArn si vous souhaitez qu’une seule ressource soit associée à l’accès entre services. Utilisez aws:SourceAccount si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.
Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale aws:SourceArn avec l’ARN complet de la ressource. Si vous ne connaissez pas l'ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition contextuelle aws:SourceArn globale avec des caractères génériques (*) pour les parties inconnues de l'ARN. Par exemple, arn:aws:servicename : *:123456789012 : *.
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.
L'exemple suivant montre comment vous pouvez utiliser les touches de contexte de condition aws:SourceAccount globale aws:SourceArn et globale AgentCore pour éviter le problème de confusion des adjoints.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AssumeRolePolicy", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] }