UNPKG

@cloud-copilot/iam-lens

Version:

Visibility in IAM in and across AWS accounts

27 lines 1.28 kB
import { type Policy, type Statement } from '@cloud-copilot/iam-policy'; import { IamCollectClient } from '../../collect/client.js'; export type StatementPrincipalMatchType = 'PrincipalMatch' | 'AccountMatch' | 'NoMatch'; /** * Checks to see if a statement applies to a principal by running a simulation. * * If the principal is a match return 'PrincipalMatch' * If the account is a match return 'AccountMatch' * Otherwise return 'NoMatch' * * @param statement the statement to check * @param principalArn the arn of the principal to check * @param client the IAM collect client to use for retrieving principal information * @returns Whether the statement applies to the principal */ export declare function statementAppliesToPrincipal(statement: Statement, principalArn: string, client: IamCollectClient): Promise<StatementPrincipalMatchType>; /** * Makes a policy that captures the principal and principal conditions from a statement * and allows all actions on all resources. * * The conditions returned are only those that relate to the principal. * * @param statement the statement to extract the principal from * @returns */ export declare function makePrincipalOnlyPolicyFromStatement(statement: Statement): Policy; //# sourceMappingURL=statements.d.ts.map