Skip to main content
Create a Lumos requestable permission linked to a specified security group and application This Terraform configuration example, using the Lumos Terraform Provider, enables teams to automate the provisioning of access permissions in the Lumos AppStore by integrating with Okta security groups. It allows infrastructure and security engineers to define access requests declaratively, ensuring that only validated applications and groups are used. By automatically configuring request approvals and fulfillment based on existing Okta groups, the configuration streamlines access management—eliminating manual steps, reducing misconfiguration risk, and supporting compliance with organizational policies. It empowers teams to programmatically manage who can request access, who approves it, and how it’s fulfilled—all through version-controlled infrastructure as code.
The Lumos Terraform Provider lets you configure your apps and permissions in the AppStore at scale. For the full resource reference, see the Terraform Registry. To manage app integrations themselves as code with the lumos_app resource, see Managing Integrations with Terraform.
The example configuration:
  • Authenticates the Lumos provider using a bearer token from an environment variable or Terraform variable.
  • Accepts inputs for the Lumos application name and the Okta security group name via variables.
  • Uses data sources to look up the Okta security group and Lumos application by name, ensuring exact matches.
  • Conditionally creates a lumos_requestable_permission resource only if both the group and application are found.
  • Configures request approval to require the identified group as an approver, while disabling manager approval.
  • Configures request fulfillment by assigning the same group as the provisioning target.
  • Outputs the IDs of the security group, application, and requestable permission (if created) to aid in validation and debugging.

Terraform
Terraform
Here are the Terraform commands you can use to run and test this configuration:

Terraform commands to run/test

  • Initialize the Terraform configuration:
    bash
  • (Optional) Validate the configuration:
    bash
  • (Optional) Preview what changes will be made:
    bash
  • Apply the configuration to create resources:
    bash
  • (Optional) View the output values after apply:
    bash
  • Destroy the resources when you’re done testing:
    bash
Tip: You can use terraform.tfvars file to supply values for lumos_api_token, okta_security_group_name, and app_name to avoid repeating them in each command.