UNPKG

@cloud-copilot/iam-lens

Version:

Visibility in IAM in and across AWS accounts

44 lines 2.41 kB
import { IamCollectClient, type InlinePolicy, type ManagedPolicy, type SimulationOrgPolicies } from './collect/client.js'; export interface PrincipalPolicies { managedPolicies: ManagedPolicy[]; inlinePolicies: InlinePolicy[]; permissionBoundary: ManagedPolicy | undefined; scps: SimulationOrgPolicies[]; rcps: SimulationOrgPolicies[]; groupPolicies?: { group: string; managedPolicies: ManagedPolicy[]; inlinePolicies: InlinePolicy[]; }[]; } /** * Get all the IAM policies for a user, including managed and inline policies, permission boundaries, and group policies. * * @param collectClient the IAM collect client to use for retrieving policies * @param principalArn the ARN of the user to get policies for * @returns an object containing the managed policies, inline policies, permission boundary, and group policies */ export declare function getAllPoliciesForUser(collectClient: IamCollectClient, principalArn: string): Promise<PrincipalPolicies>; /** * Get all the IAM policies for a role, including managed and inline policies and permission boundaries. * * @param collectClient the IAM collect client to use for retrieving policies * @param principalArn the ARN of the role to get policies for * @returns an object containing the managed policies, inline policies, and permission boundary */ export declare function getAllPoliciesForRole(collectClient: IamCollectClient, principalArn: string): Promise<PrincipalPolicies>; export declare function getAllPoliciesForPrincipal(collectClient: IamCollectClient, principalArn: string): Promise<PrincipalPolicies>; export declare function isArnPrincipal(principal: string): boolean; export declare function isServicePrincipal(principal: string): boolean; export declare function isServiceLinkedRole(principal: string): boolean; export declare function isOidcPrincipal(principal: string): boolean; export declare function isSamlPrincipal(principal: string): boolean; /** * Check to see if a principal exists or is an AWS service principal. * * @param principal the principal to check * @param collectClient the IAM collect client to use for checking existence * @returns true if the principal exists or is a service principal, false otherwise */ export declare function principalExists(principal: string, collectClient: IamCollectClient): Promise<boolean>; //# sourceMappingURL=principals.d.ts.map