mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-20 19:02:03 +00:00
fix: aws auth STS assume role
This commit is contained in:
@@ -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}` : ""}`;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user