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 du problème de l'adjoint confus entre services
DansAWS, l'usurpation d'identité entre services peut se produire lorsqu'un service (leservice d'appel) appelle un autre service (leservice appelé). Le service d'appel peut être manipulé pour agir sur les ressources d'un autre client même s'il ne doit pas disposer des autorisations appropriées, ce qui crée un problème confus d'adjoint.
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 vous recommandons d'utiliser leaws:SourceArn
etaws:SourceAccount
des clés contextuelles de condition globale dans les politiques relatives aux ressources pour limiter les autorisations qu'Amazon Rekognition accorde à un autre service sur la ressource.
Si la valeur deaws:SourceArn
ne contient pas l'identifiant du compte, tel que l'ARN d'un compartiment Amazon S3. Vous devez utiliser les deux clés pour limiter les autorisations. Si vous utilisez les deux touches et leaws:SourceArn
la valeur contient l'identifiant du compte, leaws:SourceAccount
la valeur et le compte dans leaws:SourceArn
La valeur doit utiliser le même identifiant de compte lorsqu'elle est utilisée dans la même déclaration de politique.
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.
La valeur deaws:SourceArn
doit être l'ARN de la ressource utilisée par Rekognition, qui est spécifiée au format suivant :arn:aws:rekognition:region:account:resource
.
La valeur dearn:User ARN
doit être l'ARN de l'utilisateur qui appellera l'opération d'analyse vidéo (l'utilisateur qui assume un rôle).
L'approche recommandée pour résoudre le problème confus des adjoints consiste à utiliser leaws:SourceArn
clé contextuelle de la condition globale 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 leaws:SourceArn
clé avec caractères génériques (*
) pour les parties inconnues de l'ARN. Par exemple, arn:aws:
. rekognition
:*:111122223333:*
Afin de vous protéger contre le problème confus des députés, procédez comme suit :
-
Dans le volet de navigation de la console IAM, choisissezRôlesoption. La console affichera les rôles de votre compte actuel.
-
Choisissez le nom du rôle que vous souhaitez modifier. Le rôle que vous modifiez doit avoir leAmazonRekognitionServiceRolepolitique d'autorisations. Sélectionnez l'onglet Trust Relationships (Relations d'approbation).
-
Choisissez Edit trust policy (Modifier la politique).
-
Sur leModifier la politique de confiancepage, remplacez la politique JSON par défaut par une politique qui utilise l'une ou les deux
aws:SourceArn
etaws:SourceAccount
clés contextuelles de condition globale. Consultez les exemples de politiques suivants. -
Choisissez Update policy (Mettre à jour une politique).
Les exemples suivants sont des politiques de confiance qui montrent comment vous pouvez utiliser leaws:SourceArn
etaws:SourceAccount
clés contextuelles relatives à la condition globale dans Amazon Rekognition pour éviter tout problème de confusion chez les adjoints.
Si vous travaillez sur des vidéos stockées et que vous diffusez en continu, vous pouvez utiliser une politique similaire à la suivante dans votre rôle IAM :
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "StringLike":{ "aws:SourceArn":"arn:aws:rekognition:region:111122223333:streamprocessor/*" } } } ] }
Si vous travaillez exclusivement avec des vidéos stockées, vous pouvez utiliser une politique similaire à la suivante dans votre rôle IAM (notez que vous n'êtes pas obligé d'inclure leStringLike
argument qui spécifie lestreamprocessor
) :
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" } } } ] }