Detecting Terraform configuration files using Snyk Broker (Custom)
Terraform in Snyk Broker
By default, some file types used by Infrastructure-as-Code (IaC) are not enabled. To grant the Broker access to IaC files in your repository, for example, Terraform, you can add an environment variable, ACCEPT_IAC
, with any combination of tf,yaml,yml,json,tpl.
Example:
Otherwise, you can edit your accept.json
, add the relevant IaC specific rules, and load the customized accept file into the container. Note that if a custom accept file (from a separate folder) is used (using ACCEPT
environment variable), the ACCEPT_IAC
mechanism cannot be used.
These are the instructions if you require a custom allow-list and want to add Terraform files into the files Snyk can scan for.
Writing the configuration
The Terraform scanning features need access to the .tf
files from the repository. This requires specific API permissions. These API permissions are slightly different depending on which source control system you are using.
Find the appropriate accept.json sample file for your source control system and download it from the Broker repository.
Rename the file to
accept.json
and to the private array in the JSON file, add the rules that follow as appropriate to your SCM.Follow the instructions for Configuring Broker.
GitHub rules
Bitbucket rules
GitLab rules
Azure Repos
Copy the following list of file extensions:
Add the extensions to the values
array in two places in the accept.json:
"//": "get file content. restrict by file types"
"//": "check file existence. restrict by file types"
Configuring Broker
Broker takes the path to the accept.json file, with the applicable rules added, in the ACCEPT environment variable. The following provides an example of passing that variable to the GitHub Broker.
Note that this gives Snyk the ability to query for any .tf
files. If you would prefer to be stricter, you can alter the paths in the preceding examples to be more restrictive for certain projects or file layouts.
Last updated