fix: aws auth STS assume role

This commit is contained in:
Daniel Hougaard
2025-10-22 22:59:24 +04:00
parent 1f5deb9f56
commit 3280cf5e30
2 changed files with 5 additions and 5 deletions
@@ -2,7 +2,7 @@ interface PrincipalArnEntity {
Partition: string;
Service: "iam" | "sts";
AccountNumber: string;
Type: "user" | "role" | "instance-profile";
Type: "user" | "role" | "instance-profile" | "assumed-role";
Path: string;
FriendlyName: string;
SessionInfo: string; // Only populated for assumed-role
@@ -49,7 +49,7 @@ export const extractPrincipalArnEntity = (arn: string): PrincipalArnEntity => {
}
// assumed roles use a special format where the friendly name is the role name
const [roleName, sessionId] = rest;
finalType = "role"; // treat assumed role case as role
finalType = "assumed-role";
friendlyName = roleName;
sessionInfo = sessionId;
break;
@@ -87,5 +87,5 @@ export const extractPrincipalArnEntity = (arn: string): PrincipalArnEntity => {
export const extractPrincipalArn = (arn: string) => {
const entity = extractPrincipalArnEntity(arn);
return `arn:aws:iam::${entity.AccountNumber}:${entity.Type}/${entity.FriendlyName}`;
return `arn:aws:${entity.Service}::${entity.AccountNumber}:${entity.Type}/${entity.FriendlyName}${entity.SessionInfo ? `/${entity.SessionInfo}` : ""}`;
};