AzureDevOps project high builtIn

Description

Secure File must not be granted access to all YAML pipelines. Lock down the secure file and only allow selected YAML pipelines to access it. Information can be steal from the secure file if an unautorized user builds a YAML pipeline that can access the secure file. Learn more: https://learn.microsoft.com/en-us/azure/devops/pipelines/security/resources

Recommendation

1. Navigate to Project -> Pipelines -> Library 
2. Select a secure file. 
3. Click on 'Pipeline permissions'. 
4. Click on 'Restrict permission'. 
5. Click + to add the YAML pipeline that needs permission to the secure file.

Policy Rule

{
  "target": "ADOProjectPipelinePermissions",
  "if": {
    "allOf": [
      {
        "resource": "ADOProjectPipelinePermissions",
        "property": "Resource.Type",
        "operator": "equals",
        "value": "securefile"
      },
      {
        "resource": "ADOProjectPipelinePermissions",
        "property": "AllPipelines.Authorized",
        "operator": "equals",
        "value": false
      }
    ]
  },
  "then": {
    "effect": "Audit"
  }
}