Prévention du problème de l'adjoint confus entre services - Amazon Rekognition

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:SourceArnetaws:SourceAccountdes 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:SourceArnne 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:SourceArnla valeur contient l'identifiant du compte, leaws:SourceAccountla valeur et le compte dans leaws:SourceArnLa 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:SourceArndoit ê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 ARNdoit ê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:SourceArnclé 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:SourceArnclé 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 :

  1. Dans le volet de navigation de la console IAM, choisissezRôlesoption. La console affichera les rôles de votre compte actuel.

  2. 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).

  3. Choisissez Edit trust policy (Modifier la politique).

  4. Sur leModifier la politique de confiancepage, remplacez la politique JSON par défaut par une politique qui utilise l'une ou les deuxaws:SourceArnetaws:SourceAccountclés contextuelles de condition globale. Consultez les exemples de politiques suivants.

  5. Choisissez Update policy (Mettre à jour une politique).

Les exemples suivants sont des politiques de confiance qui montrent comment vous pouvez utiliser leaws:SourceArnetaws:SourceAccountclé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 leStringLikeargument 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" } } } ] }