Skip to content

[guide] How to setup Fabric connection to Azure DevOps using service principal? #186

@dav1dli

Description

@dav1dli

📝 Description

Please provide a working example how to setup a connection from Fabric to azure DevOps using Service Principal. Service Principal secret can be provided from a Key Vault secret.

🔬 Details / References

  • Proposed Name: (e.g. 101-my-example)
  • Supporting documentation:
  • Estimated complexity/effort:
  • Related resources/data sources:

📎 Additional context

I'm trying to setup the connection and use it in fabric_workspace_git. Any way I try to define it produces errors in init or plan.

resource "fabric_connection" "fabric_ado_connection" {
  display_name      = "DEVOPS_CONNECTION"
  connectivity_type = "ShareableCloud"
  privacy_level     = "Organizational"

  connection_details = {
    type            = "AzureDevOpsSourceControl"
    creation_method = "AzureDevOpsSourceControl.Contents"

    parameters = [
      {
        name  = "url"
        value = "https://dev.azure.com/ORG/PROJ/_git/fabric_workspace"
      }
    ]
  }

  credential_details = {
    credential_type      = "ServicePrincipal"
    skip_test_connection = true

    service_principal_credentials = {
        tenant_id                = data.azurerm_client_config.current.tenant_id
        client_id                = data.azurerm_key_vault_secret.spn_id.value
        client_secret_wo         = data.azurerm_key_vault_secret.spn_key.value
        client_secret_wo_version = data.azurerm_key_vault_secret.spn_key.version
      }
  }
}

Produces "Inappropriate value for attribute "credential_details": a number is required."
Any attempts to put credential_details and service_principal_credentials generate init errors.

✅ Definition of Done

  • Example in the ./quickstarts folder
  • Example documentation in README.md
  • Confirmation that you have manually tested this

🔰 Code of Conduct

  • I agree to follow this project's Code of Conduct.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions