View a markdown version of this page

Attribution principale de l'IAM - Amazon Bedrock

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.

Attribution principale de l'IAM

Amazon Bedrock capture automatiquement l'identité principale IAM (utilisateurs IAM et rôles IAM) pour chaque demande d'inférence. Vous pouvez éventuellement associer des balises à vos responsables pour des dimensions de coûts supplémentaires, telles que l'équipe, le département ou le centre de coûts. Cela vous donne une visibilité des coûts par utilisateur et par rôle sans modification de code ni ressources supplémentaires.

L'attribution principale IAM fonctionne avec les API Amazon Bedrock à la fois sur le bedrock-runtime point de terminaison (InvokeModel API/API Converse/API Chat Completions) et sur le bedrock-mantle point de terminaison (API Responses/API Chat Completions).

Comment ça marche

Lorsqu'un utilisateur ou un rôle IAM fait une demande d'inférence, Amazon Bedrock enregistre l'identité de l'appelant. Ces informations sont transmises à AWS Cost Explorer et aux rapports sur les AWS coûts et l'utilisation (CUR 2.0), où vous pouvez filtrer et regrouper les coûts par identité. Aucune modification de vos appels d'API Amazon Bedrock n'est requise. L'attribution est basée sur l'auteur de l'appel et non sur les paramètres de l'API.

Vous pouvez éventuellement associer des balises à vos responsables IAM pour ajouter des dimensions organisationnelles (équipe, département, centre de coûts) à vos données de facturation. Les balises ne sont pas requises pour l'attribution au niveau de l'identité. L'identité de l'appelant est toujours saisie.

Note

L'attribution principale IAM fournit des coûts agrégés à AWS Cost Explorer et à CUR 2.0. Le grain le plus fin est indiqué par type d'utilisation et par jour, attribué par identité ou étiquette ; cela ne produit pas de coût par demande. Pour obtenir des informations détaillées par invite, voir Per-request balisage des métadonnées et. Surveillez l'invocation des modèles à l'aide de CloudWatch Logs et d'Amazon S3

Principaux types

Amazon Bedrock capture l'identité à partir de n'importe quel type de principal IAM. Les deux rôles les plus courants sont les utilisateurs IAM et les rôles IAM.

Les utilisateurs d'IAM appellent Amazon Bedrock directement à l'aide de clés d'accès durables. Le nom d'utilisateur IAM et toutes les balises associées à l'utilisateur sont enregistrés dans AWS Billing.

Les rôles IAM sont assumés par les utilisateurs, les applications ou les identités fédérées via. AWS STS Lorsqu'un principal appellests:AssumeRole, les informations d'identification temporaires qui en résultent portent l'identité du rôle. Les tags peuvent provenir de deux sources :

  • Tags principaux  : tags attachés directement au rôle IAM. Elles sont statiques et s'appliquent à chaque session.

  • Tags de session  : balises transmises au moment de l'attribution du rôle AWS STS. Ils sont dynamiques et peuvent varier d'une session à l'autre, ce qui les rend utiles pour transmettre des attributs spécifiques à l'utilisateur, tels que le courrier électronique, l'équipe ou le centre de coûts, via un rôle partagé.

Important

Si une balise de session et une balise principale partagent la même clé, la valeur de la balise de session remplace la valeur de balise principale de cette session. Pour plus d'informations, consultez la section Passer les balises de session dans AWS STS.

La plupart des organisations utilisent des rôles plutôt que des utilisateurs IAM pour accéder à Amazon Bedrock. Si plusieurs utilisateurs partagent le même rôle, les balises de session vous permettent de les distinguer lors de la facturation.

Configuration de l'attribution principale IAM

Identity-level l'attribution (l'utilisateur IAM ou l'ARN du rôle de l'appelant) est capturée automatiquement pour chaque demande Amazon Bedrock. Pour ajouter des dimensions organisationnelles telles que l'équipe ou le centre de coûts à vos données de facturation, procédez comme suit pour étiqueter vos mandants et activer les balises dans AWS Facturation.

Étape 1 : appliquer des balises à vos principaux IAM (facultatif)

Les tags sont transmis à vos données de facturation de deux manières :

Les balises principales sont associées directement aux utilisateurs ou aux rôles IAM. Configurez-les une seule fois et elles s'appliquent à chaque demande de ce principal. C'est idéal pour baliser des développeurs individuels (utilisateurs IAM) ou des applications (rôles IAM). Vous pouvez appliquer des balises principales à l'aide de la console IAM, de l' AWS interface de ligne de commande (aws iam tag-role,aws iam tag-user) ou de l'API IAM (TagRole,TagUser).

Pour en savoir plus sur le balisage IAM et les meilleures pratiques, consultez la section Tags pour les ressources IAM.

Les balises de session sont transmises de manière dynamique lorsque vous assumez un rôle IAM. AWS STS Elles sont idéales pour les utilisateurs fédérés (s'authentifiant via un fournisseur d'identité tel qu'Okta, Auth0 ou Entra) et pour les passerelles LLM qui effectuent des requêtes proxy pour le compte de plusieurs utilisateurs ou locataires. Les tags de session peuvent être transmis de trois manières :

  • AssumeRole— Passez --tags lors d'un appel sts:AssumeRole (par exemple, une passerelle LLM assumant un rôle Amazon Bedrock par utilisateur ou locataire).

  • AssumeRoleWithWebIdentity (OIDC) — Intégrez des balises à la https://aws.amazon.com/tags demande dans le jeton d'identification émis par votre fournisseur d'identité.

  • AssumeRoleWithSAML— Mappez PrincipalTag:* les attributs dans l'assertion SAML de votre IdP.

La politique de confiance du rôle IAM doit autoriser sts:TagSession le passage des balises de session. Pour en savoir plus, consultez la section Passer les tags de session dans AWS STS.

Les balises principales et les balises de session apparaissent dans CUR 2.0 avec le iamPrincipal/ préfixe.

Étape 2 : activer les balises de répartition des coûts

Pour que vos balises IAM principales apparaissent dans AWS Cost Explorer et CUR 2.0, vous devez les activer en tant que balises de répartition des coûts :

  1. Ouvrez la console de gestion de la AWS facturation et des coûts.

  2. Dans le volet de navigation, choisissez Cost allocation tags (Balises de répartition des coûts).

  3. Filtrez par type de principal IAM pour trouver les balises que vous avez appliquées à vos principaux.

  4. Sélectionnez les balises et choisissez Activer.

Note

Les balises n'apparaissent dans AWS Billing qu'une fois que le responsable IAM a effectué au moins un appel d'API Amazon Bedrock. Les étiquettes de répartition des coûts ne sont pas rétroactives : seuls les coûts engagés après l'activation sont étiquetés. L'affichage des tags peut prendre jusqu'à 24 heures après leur activation.

Étape 3 : Création d'une exportation de données CUR 2.0 avec IAM-level des données

Pour voir la ventilation des coûts au niveau de l'identité, créez une exportation de données CUR 2.0 qui inclut l'identité de l'appelant :

  1. Ouvrez la console de gestion de la AWS facturation et des coûts.

  2. Dans le volet de navigation, choisissez Data Exports.

  3. Choisissez Créer pour créer une nouvelle exportation CUR 2.0.

  4. Configurez l'exportation et assurez-vous de sélectionner l'option permettant d'inclure l'ARN d'identité de l'appelant.

Important

Si vous avez créé une exportation de données CUR 2.0 avant d'activer l'attribution principale IAM, vous devez créer une nouvelle exportation et sélectionner l'option Identité de l'appelant. Les exportations existantes n'incluent pas rétroactivement les données d'identité. Vous devez également vous assurer que vos balises de répartition des coûts sont activées (étape 2) pour que les balises apparaissent dans l'exportation.

Pour plus d'informations, consultez la section Création de rapports dans le Guide de l'utilisateur des rapports sur les AWS coûts et l'utilisation.

Dimensions du marquage

Vous pouvez utiliser n'importe quelle clé de balise qui représente la structure de votre organisation. Les dimensions courantes incluent :

Clé de balise Objectif Exemples de valeur
User Identité individuelle jane@example.com, bob@example.com
Team Ownership PlatformEngineering, DataScience
Department Unité organisationnelle Ingénierie, recherche, marketing
CostCenter Cartographie financière CC-1001, CC-2002
Environment Étape du cycle de vie Production, développement

Vous pouvez appliquer jusqu'à 50 balises principales ou de session par utilisateur ou rôle IAM.

Accès fédéré et balises de session

Pour les organisations utilisant des fournisseurs d'identité fédérés (AWS IAM Identity Center, Okta, Entra, Ping), les balises de session vous permettent de transmettre les attributs utilisateur de votre IdP à. AWS Lorsqu'un utilisateur fédéré assume un rôle via AWS STS, l'IdP peut transmettre des attributs tels que l'adresse e-mail de l'utilisateur, l'équipe et le centre de coûts en tant que balises de session. Ces balises sont capturées en même temps que la requête Amazon Bedrock et sont transmises à AWS CUR 2.0 et à AWS Cost Explorer.

Pour configurer cela :

  1. Configurez votre IdP pour inclure les attributs utilisateur (e-mail, équipe, centre de coûts) en tant qu'attributs SAML ou réclamations OIDC.

  2. Associez ces attributs aux balises de AWS session dans la politique de confiance de votre rôle IAM à l'aide sts:TagSession de.

  3. Les balises de session sont ensuite disponibles en tant que balises de répartition des coûts dans AWS Facturation après activation.

Pour plus d’informations, consultez Transmission des balises de session dans AWS STS.

L'exemple Python suivant montre une passerelle assumant son rôle Amazon Bedrock pour un utilisateur spécifique, en transmettant l'utilisateur à la fois en tant que balise RoleSessionName (qui apparaît identity.arn dans vos journaux d'appel) et en tant que balises de session (qui apparaissent sous forme de données de répartition des AWS coûts dans Cost Explorer et CUR 2.0). La politique de confiance du rôle doit le permettrests:TagSession. Mettez en cache les informations d'identification renvoyées pendant la durée de vie de la session au lieu d'appeler AssumeRole à chaque demande.

import boto3 sts = boto3.client("sts") creds = sts.assume_role( RoleArn="arn:aws:iam::123456789012:role/BedrockGatewayRole", RoleSessionName="alice", # appears in identity.arn Tags=[ {"Key": "user", "Value": "alice@example.com"}, {"Key": "team", "Value": "growth"}, ], # session tags, surface as cost allocation data )["Credentials"] bedrock = boto3.client( "bedrock-runtime", aws_access_key_id=creds["AccessKeyId"], aws_secret_access_key=creds["SecretAccessKey"], aws_session_token=creds["SessionToken"], ) # Every call made with this client is attributed to alice in billing # and carries her identity ARN in invocation logs.
Important

Les étiquettes d'identité et de session sont liées à un AWS STS AssumeRole moment donné et sont enregistrées en fonction de la session et non de la demande individuelle. Leurs valeurs sont constantes pour chaque appel passé avec les informations d'identification de cette session, et elles apparaissent uniquement sous forme de données de facturation agrégées. Les balises de session ne sont pas écrites dans les journaux d'invocation de votre modèle  ; les journaux capturent plutôt celui de identity.arn l'appelant. Pour distinguer les utilisateurs d'une session partagée au niveau de la demande, utilisez un identifiant par utilisateur RoleSessionName afin que l'ARN d'identité diffère d'un utilisateur à l'autre, ou définissez l'utilisateur dans les métadonnées de demande à chaque appel.

Modèles d'invocation

L'attribution principale IAM fonctionne quelle que soit la façon dont votre application appelle Amazon Bedrock :

Modèle Comment l'identité circule
Appel API direct Identité d'utilisateur ou de rôle IAM capturée automatiquement
API Gateway L'identité du rôle invoquant Amazon Bedrock est capturée
LLM Gateway (LiteLM, personnalisé) L'identité du rôle d'exécution de la passerelle est capturée. Transmettez les balises de session depuis la passerelle pour préserver l'attribution au niveau de l'utilisateur.
Identité fédérée (Okta, Entra) Les balises de session de l'IdP sont capturées lors de la prise de rôle

Si vous utilisez une passerelle LLM ou une passerelle API et que vous ne voyez pas d'identité au niveau de l'utilisateur dans AWS Billing, vérifiez que la passerelle transmet des balises de session à chaque demande.

Note

Si votre passerelle redéfinit le rôle par utilisateur pour modifier les balises d'identité ou de session, assumez le rôle une fois par utilisateur et mettez en cache les informations d'identification pendant la durée de vie de la session. Les appels sts:AssumeRole pour chaque demande peuvent dépasser les quotas de AWS STS demande.

Coûts de visionnage

Après avoir activé vos balises de répartition des coûts, vous pouvez analyser les coûts Amazon Bedrock par principal à l'aide des outils suivants :

  • AWS Explorateur de coûts  : filtrez par balises principales pour afficher les tendances des coûts par utilisateur, équipe ou service. Regroupez par étiquette pour comparer les coûts entre les dimensions.

  • AWS Rapports sur les coûts et l'utilisation (CUR 2.0)  : interrogez les données CUR pour obtenir une ventilation des coûts par article par balise principale.

Les données de coûts peuvent prendre jusqu'à 24 heures pour apparaître dans AWS Cost Explorer et CUR 2.0 après qu'une demande a été faite.

Utilisation de l'attribution principale IAM avec d'autres méthodes

L'attribution principale IAM peut être utilisée conjointement avec les profils d'inférence de projets et d'applications. Cela vous donne une visibilité multidimensionnelle des coûts.

Nous vous recommandons d'utiliser Projects pour l'attribution au niveau de l'application et l'attribution principale IAM pour l'attribution au niveau utilisateur au sein d'un même compte.

Méthode Attributs par API prises en charge bedrock-runtime bedrock-mantle
Attribution principale de l'IAM Identité (utilisateur, rôle, équipe) InvokeModel API/API Converse/API de complétion de chat activée bedrock-runtime ; API de réponses/API de complétion de chat activée bedrock-mantle Green circular icon with a white checkmark symbol inside. Green circular icon with a white checkmark symbol inside.
Projets (recommandé) Application ou charge de travail API de réponses/API de complétion des discussions Red circle with white X icon indicating error, cancel, or close action. Green circle with white checkmark icon.
Profils d’inférence d’applications Application ou charge de travail InvokeModel API/API Converse/API de complétion des discussions Green circle with white checkmark icon. Red circle with white X icon indicating error, cancel, or close action.