cloud-report
Version:
Collects and analyzes cloud resources
44 lines (43 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const types_1 = require("../../../types");
const cloudfront_1 = require("../../../utils/aws/cloudfront");
const base_1 = require("../../base");
class DistributionLogsAnalyzer extends base_1.BaseAnalyzer {
analyze(params, fullReport) {
const allDistributionConfigs = params.distribution_configs;
if (!allDistributionConfigs) {
return undefined;
}
const distributions_logs_enabled = { type: types_1.CheckAnalysisType.OperationalExcellence };
distributions_logs_enabled.what = "Are access logs enabled for CloudFront distributions?";
distributions_logs_enabled.why = `It is important to enabled access logs for the distributions to understand
access patterns and come with better caching strategies.`;
distributions_logs_enabled.recommendation = "Recommended to enable access logs for all distributions.";
distributions_logs_enabled.benchmark = ['all'];
const allDistributionsAnalysis = [];
for (const distributionId in allDistributionConfigs) {
const distribution = allDistributionConfigs[distributionId];
const distributionsAnalysis = {};
distributionsAnalysis.resource = { distributionId, logging: distribution.Logging };
const distributionAlias = cloudfront_1.CloudFrontUtil.getAliasName(distribution);
distributionsAnalysis.resourceSummary = {
name: "Distribution",
value: distributionAlias ? `${distributionAlias} | ${distributionId}` : distributionId,
};
if (distribution.Logging.Enabled) {
distributionsAnalysis.severity = types_1.SeverityStatus.Good;
distributionsAnalysis.message = "Access Logs are enabled.";
}
else {
distributionsAnalysis.severity = types_1.SeverityStatus.Warning;
distributionsAnalysis.message = "Access Logs are not enabled.";
distributionsAnalysis.action = "Enable Access Logs.";
}
allDistributionsAnalysis.push(distributionsAnalysis);
}
distributions_logs_enabled.regions = { global: allDistributionsAnalysis };
return { distributions_logs_enabled };
}
}
exports.DistributionLogsAnalyzer = DistributionLogsAnalyzer;