module/ConfigurationProvider/ControlConfigurations/Services/DataFactory.json
{
"FeatureName": "DataFactory", "Reference": "aka.ms/azsktcp/datafactory", "IsMaintenanceMode": false, "Controls": [ { "ControlID": "Azure_DataFactory_DP_Avoid_Plaintext_Secrets", "Description": "Data Factory must not have secrets/credentials present in plain text", "Id": "DataFactory10", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "DataFactoryAvoidPlaintextSecretsAsync", "DisplayName": "Data Factory must not have secrets/credentials present in plain text", "Category": "Credentials Access", "ControlRequirements": "Eliminating plain text credentials", "Rationale": "Keeping secrets/credentials such as DB connection strings, passwords, keys, etc. in plain text can lead to exposure at various avenues during an application's lifecycle. Storing them in a key vault ensures that they are protected at rest.", "Recommendation": "Find detected secrets/credentials using the information available in the UI, rotate those credentials and remove them. Use KeyVaults for storing secrets. (Store credentials in Azure Key Vault - Azure Data Factory | Microsoft Docs - https://docs.microsoft.com/en-us/azure/data-factory/store-credentials-in-key-vault; Use Azure Key Vault secrets in pipeline activities - Azure Data Factory | Microsoft Docs - https://docs.microsoft.com/en-us/azure/data-factory/how-to-use-azure-key-vault-secrets-pipeline-activities). Use SecureString parameter types for parameters with credentials.", "Tags": [ "SDL", "TCP", "Automated", "DP", "Baseline", "Daily" ], "CustomTags": [ "Wave9", "TenantBaseline", "Prod", "CAIPreview", "EDPreview", "SMTPreview", "CAIWave1", "Secrets" ], "Enabled": true }, { "ControlID": "Azure_DataFactory_Audit_Enable_Diagnostic_Settings", "Description": "Enable Security Logging in Azure Data Factories", "Id": "DataFactory120", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckDiagnosticsSettings", "Rationale": "Logs should be retained for a long enough period so that activity trail can be recreated when investigations are required in the event of an incident or a compromise. A period of 1 year is typical for several compliance requirements as well.", "Recommendation": "You can change the diagnostic settings from the Azure Portal by following the steps given here: https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings.", "Enabled": true, "DisplayName": "Enable Security Logging in Azure Data Factories", "Category": "Monitoring must be correctly configured", "ControlRequirements": "Monitoring and auditing must be enabled and correctly configured according to prescribed organizational guidance", "Tags": [ "Audit", "Baseline", "DataFactory", "Automated", "Diagnostics" ], "ControlEvaluationDetails": { "RequiredProperties": [ "DiagnosticSettings" ] }, "ControlSettings": { "DiagnosticForeverRetentionValue": "0", "DiagnosticMinRetentionPeriod": "90", "DiagnosticLogs": [ "ActivityRuns", "PipelineRuns", "TriggerRuns", "SandboxPipelineRuns", "SandboxActivityRuns", "SSISPackageEventMessages", "SSISPackageExecutableStatistics", "SSISPackageEventMessageContext", "SSISPackageExecutionComponentPhases", "SSISPackageExecutionDataStatistics", "SSISIntegrationRuntimeLogs", "AirflowTaskLogs", "AirflowWorkerLogs", "AirflowDagProcessingLogs", "AirflowSchedulerLogs", "AirflowWebLogs" ] }, "CustomTags": [ "Daily", "TenantBaseline", "MSD", "TBv12", "SN:DataFactory_Logging" ] } ] } |