UNPKG

@csermet/multiprovider

Version:

cloud-graph provider plugin for AWS used to fetch AWS cloud data.

60 lines (59 loc) 2.01 kB
import IAM, { AccessKeyLastUsed, AccessKeyMetadata, AttachedPolicy, MFADevice, User, VirtualMFADevice } from 'aws-sdk/clients/iam'; import { Config } from 'aws-sdk/lib/config'; import { TagMap } from '../../types'; export interface RawAwsAccessKey extends AccessKeyMetadata { AccessKeyLastUsed: AccessKeyLastUsed; } export interface RawAwsIamUserReport { User: string; Arn: string; UserCreationTime: string; PasswordEnabled: string; PasswordLastUsed: string; PasswordLastChanged: string; PasswordNextRotation: string; MfaActive: string; AccessKey1Active: string; AccessKey1LastRotated: string; AccessKey1LastUsedDate: string; AccessKey1LastUsedRegion: string; AccessKey1LastUsedService: string; AccessKey2Active: string; AccessKey2LastRotated: string; AccessKey2LastUsedDate: string; AccessKey2LastUsedRegion: string; AccessKey2LastUsedService: string; Cert1Active: string; Cert1LastRotated: string; Cert2Active: string; Cert2LastRotated: string; } export interface RawAwsIamUser extends Omit<User, 'Tags'> { AccessKeyLastUsedData: RawAwsAccessKey[]; MFADevices: MFADevice[]; VirtualMFADevices?: VirtualMFADevice[]; Groups: string[]; Policies: string[]; ManagedPolicies: AttachedPolicy[]; ReportData?: RawAwsIamUserReport; region: string; Tags?: TagMap; } export declare const listMFADevicesByUsername: (iam: IAM, user: User, marker?: string) => Promise<{ UserName: string; MFADevices: MFADevice[]; }>; export declare const listVirtualMFADevices: (iam: IAM) => Promise<VirtualMFADevice[]>; export declare const listIamUsers: (iam: IAM, marker?: string) => Promise<RawAwsIamUser[]>; export declare const getCredentialReportData: (iam: IAM) => Promise<RawAwsIamUserReport[]>; declare const _default: ({ config, }: { regions: string; config: Config; rawData: any; }) => Promise<{ [region: string]: RawAwsIamUser[]; }>; /** * IAM User */ export default _default;