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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions