Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
iam.assumeModule 31
Module du plan
Cloud credential broker
Donnez à un agent un identifiant cloud de courte durée uniquement tant qu'il détient un lease actif sur le rôle, et laissez l'identifiant mourir avec le lease.
iam.assume délivre des identifiants AWS via STS AssumeRoleWithWebIdentity. Pas de lease sur l'ARN du rôle, pas d'identifiant, et la durée de vie de l'identifiant ne dépasse jamais ce qui reste du lease. Le registre enregistre une émission, jamais les clés. Une route warehouse fait de même pour Snowflake et BigQuery.
Intralock · Baux · Parley · Fleet Map
A Trustvice Product
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
Obligatoire. Le jeton OIDC transmis à STS. AWS le vérifie ; le courtier non.
sessionName
Le nom de session du rôle AWS. Il vaut acp par défaut et n'est qu'une étiquette.
region
La région STS. Elle vaut us-east-1 par défaut.
ttlMs
Facultatif. La durée de vie demandée. Elle ne peut que raccourcir ce que le lease et le plafond permettent.
leaseId
Dans la réponse : le lease qui a justifié l'identifiant. leaseScoped vaut true.
expirationMs
Dans la réponse : quand l'identifiant expire, selon STS.
Mécanisme
Pas à pas
Comment ça marche
Formes et phases
A
Rôle AWS
assume prend un roleArn, un actorDid et un webIdentityToken, et renvoie des identifiants STS pour ce rôle. Le lease requis est détenu sur l'ARN du rôle lui-même.
B
Entrepôt de données
warehouse prend une URN de ressource de la forme imd://warehouse/<snowflake|bigquery>/<account>/<path>, un actorDid et éventuellement un subjectToken, et crée un JWT de paire de clés ou un jeton d'accès fédéré.
Pas à pas
Prendre un lease
L'agent acquiert un lease sur l'ARN du rôle via coordination.lease. Le lease justifie l'identifiant ; rien d'autre ne le fait.
Demander le rôle
assume prend roleArn, actorDid, sessionName, webIdentityToken et éventuellement region et ttlMs. Le jeton doit être de ceux qu'AWS accepte pour le rôle.
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace. Docs iam.assume
Réponses
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
Un agent qui déploie détient un lease sur le rôle de déploiement et rien d'autre. Sans lui, le rôle n'a aucun identifiant à remettre.
L'identifiant meurt avec le lease
Un lease avec vingt minutes restantes ne peut pas produire un identifiant d'une heure ; la durée est la plus petite entre le reste du lease, ttlMs et 3 600 000 ms.
Surveiller les émissions
Chaque émission ajoute un événement iam.assume nommant l'acteur, le rôle et l'expiration. watchdog.check lit ces événements pour détecter des anomalies de rythme.
Garder les joyaux de la couronne à l'écart
Un rôle dont le nom correspond à une classe protégée comme billing ou kms est refusé avec 403, même pour un détenteur de lease.
Quand utiliser autre chose
Acquérir ou libérer le lease. Utilisez coordination.lease ; le courtier ne fait que lire les leases.
Décider si une action dans le cloud est permise. C'est le rôle de l'IAM du cloud ; ce module émet l'identifiant et s'arrête là.
Repérer une rafale de demandes d'identifiants. C'est watchdog.check, qui lit ce que ce module enregistre.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
Un identifiant n'est émis que pour le DID qui détient un lease actif sur l'ARN de rôle exact.
Sa durée de vie est le minimum entre le temps restant du lease, le ttlMs demandé et 3 600 000 ms.
L'événement de registre iam.assume enregistre l'acteur, le rôle et l'expiration, jamais la clé d'accès, le secret ni le jeton de session.
Un lease avec trop peu de temps pour le minimum de 900 secondes de STS est refusé avec 409 au lieu d'être arrondi vers le haut.
Il ne le fait pas
Qu'un lease libéré tue un identifiant déjà émis. L'identifiant vit jusqu'à son expirationMs ; le lease n'arrête que le suivant.
Que le jeton d'identité web est valide pour l'agent. C'est STS qui en décide, et le courtier transmet le jeton tel quel.
Que l'enregistrement au registre a réussi à chaque fois. Une écriture échouée ne bloque pas l'émission ; le contrôle de silence du watchdog couvre cet écart.
Détails
Notes de conception
Avant de construire
Leases courts
AWS STS refuse les sessions de moins de 900 secondes : un lease qui en a moins devant lui ne peut pas devenir un identifiant.
Classes protégées
Le nom du rôle, la partie après le dernier /, est comparé aux classes protégées de l'instantané. Une correspondance est refusée avant toute lecture de lease.
La correspondance du détenteur
Le détenteur du lease est comparé à actorDid, qu'un agent authentifié ne peut définir que sur son propre DID.
Configuration de l'entrepôt
Les chemins Snowflake et BigQuery exigent que leurs propres secrets soient liés. Un entrepôt non configuré répond 501, et une ressource Snowflake sans rôle mappé donne 403.
Limites et mesure
roleArn doit commencer par arn:aws:iam::, webIdentityToken et actorDid sont obligatoires, et l'absence de l'un renvoie 400.
Pas de lease, un lease expiré, un lease détenu par un autre agent ou avec trop peu de temps restant renvoie 409.
La durée de vie de l'identifiant ne dépasse jamais 3 600 000 ms, quel que soit ttlMs.
La réponse contient les clés secrètes une seule fois ; gardez-la hors des journaux, car le registre ne l'aura pas.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
POST/api/v1/acp/iam/assumeÉmettre des identifiants AWS temporaires pour un rôle sous lease.
POST/api/v1/acp/iam/warehouseÉmettre un identifiant Snowflake ou BigQuery pour une ressource sous lease.
Actions MCP
MCPcoordination.iam.assumeDemander des identifiants AWS depuis un agent.
Il refuse avec 403 un nom de rôle de classe protégée, puis avec 409 un lease absent, expiré, étranger ou presque épuisé, avant d'appeler STS.
Utiliser, puis laisser expirer
La réponse contient la clé d'accès, le secret et le jeton de session avec expirationMs. Libérer le lease met fin à la disposition du courtier à émettre, pas aux identifiants déjà émis.
coordination.halt06
Emergency stop switches
Arrêtez d'un coup un agent, un mandat ou une ressource, avec un motif au registre, et levez l'arrêt quand c'est sans risque.