Assessor_2.0/tests/cloud-information-fixture.ts

21 lines
1.9 KiB
TypeScript

import { clientInformationFixture } from './client-information-fixture';
/** Synthetic values using the public native Maester output shapes. */
export function cloudInformationFixture() {
const snapshot = clientInformationFixture();
const source = snapshot.observations.find(item => item.property.startsWith('cloud.'))!;
const values: Array<[string, string, string, string]> = [
['EIDSCA.AF01', 'cloud-access', 'authentication', 'Your tenant is configured as **enabled**.\n\nThe recommended value is **\'enabled\'** for **policies/authenticationMethodsPolicy**'],
['MT.1007', 'cloud-access', 'conditional_access', 'The following Conditional Access policies require multi-factor authentication for all users:\n\n - [Synthetic MFA](https://entra.microsoft.com/#view/Microsoft_AAD_ConditionalAccess/PolicyBlade/policyId/synthetic-policy)'],
['CISA.MS.AAD.7.4', 'cloud-roles', 'roles', 'Your tenant has active assignments without expiration to privileged roles.\n\n| Role | Principal Type | Display Name | Status |\n| --- | --- | --- | --- |\n| Global Administrator | user | Synthetic admin | ❌ No Expiration |\n| Privileged Role Administrator | user | Synthetic admin 2 | ❌ No Expiration |'],
['EIDSCA.CR01', 'cloud-apps', 'consent', 'Your tenant is configured as **False**.\n\nThe recommended value is **\'true\'** for **policies/adminConsentRequestPolicy**'],
['EIDSCA.AP07', 'cloud-sharing', 'sharing', "Well done. The configuration in your tenant and recommended value is **'2af84b1e-32c8-42b7-82bc-daa82404023b'** for **policies/authorizationPolicy**"]
];
snapshot.observations = values.map(([id, area, group, value]) => ({ ...source, id, label: id,
property: `cloud.${group}.${id.toLowerCase()}.reported_evidence`, originalValue: value,
subject: { type: 'entra-tenant', identity: 'synthetic-tenant' },
attributes: { ...source.attributes, sourceRuleId: id, clientInformationArea: area } }));
snapshot.sections = [];
return snapshot;
}