diff --git a/CHANGELOG.md b/CHANGELOG.md index bcb9ed070c..8181247589 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ ENHANCEMENTS: * Migration to Pydantic v2: Updates codebase to be compatible with Pydantic v2 for future FastAPI upgrades ([#4637](https://github.com/microsoft/AzureTRE/issues/4637)) BUG FIXES: +* Mark secret parameters in porter.yaml as `sensitive: true` to prevent secrets from appearing in debug logs ([#5011](https://github.com/microsoft/AzureTRE/issues/5011)) * Ignore changes to `ip_tags` on public IP resources to unblock deployments where these tags are set by Azure policy. (`core` 0.16.17, `tre-shared-service-certs` 0.7.11) ([#5019](https://github.com/microsoft/AzureTRE/issues/5019)) * Fix workspace deletion when backup is enabled for the base, unrestricted and airlock-import-review workspaces by adding a `delete_backups_on_uninstall` flag and a pre-teardown backup cleanup (`remove_backup.sh`) that stops protection and either deletes or retains the Recovery Services Vault, so deletion works with Azure secure-by-default soft delete ([#4962](https://github.com/microsoft/AzureTRE/issues/4962)) * Fix Nexus shared service security: fetch admin password from Key Vault at runtime via managed identity (IMDS) instead of embedding it in the VM Run Command script content. Fix `deploy_nexus_container.sh` short-circuit path to fail loudly if the container does not start. (`sonatype-nexus` 3.10.0) ([#4983](https://github.com/microsoft/AzureTRE/pull/4983)) diff --git a/templates/shared_services/admin-vm/porter.yaml b/templates/shared_services/admin-vm/porter.yaml index 63353d5bc5..11f47f897f 100644 --- a/templates/shared_services/admin-vm/porter.yaml +++ b/templates/shared_services/admin-vm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-admin-vm -version: 0.5.5 +version: 0.5.6 description: "An admin vm shared service" dockerfile: Dockerfile.tmpl registry: azuretre @@ -31,6 +31,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id type: string diff --git a/templates/shared_services/airlock_notifier/porter.yaml b/templates/shared_services/airlock_notifier/porter.yaml index 9a60dba981..cf708af7b0 100644 --- a/templates/shared_services/airlock_notifier/porter.yaml +++ b/templates/shared_services/airlock_notifier/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-airlock-notifier -version: 1.0.11 +version: 1.0.12 description: "A shared service notifying on Airlock Operations" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id diff --git a/templates/shared_services/certs/porter.yaml b/templates/shared_services/certs/porter.yaml index bb61f19c01..e9bcd6d100 100755 --- a/templates/shared_services/certs/porter.yaml +++ b/templates/shared_services/certs/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-certs -version: 0.7.11 +version: 0.7.12 description: "An Azure TRE shared service to generate certificates for a specified internal domain using Letsencrypt" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id diff --git a/templates/shared_services/cyclecloud/porter.yaml b/templates/shared_services/cyclecloud/porter.yaml index df454e012a..e7f7e8e7e1 100644 --- a/templates/shared_services/cyclecloud/porter.yaml +++ b/templates/shared_services/cyclecloud/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-cyclecloud -version: 0.7.5 +version: 0.7.6 description: "An Azure TRE Shared Service Template for Azure Cyclecloud" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id diff --git a/templates/shared_services/databricks-auth/porter.yaml b/templates/shared_services/databricks-auth/porter.yaml index f7d34be8cc..eecdce71bd 100644 --- a/templates/shared_services/databricks-auth/porter.yaml +++ b/templates/shared_services/databricks-auth/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-databricks-private-auth -version: 0.1.14 +version: 0.1.15 description: "An Azure TRE shared service for Azure Databricks authentication." registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id diff --git a/templates/shared_services/firewall/porter.yaml b/templates/shared_services/firewall/porter.yaml index e8399e844b..699d0e6d8e 100644 --- a/templates/shared_services/firewall/porter.yaml +++ b/templates/shared_services/firewall/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-firewall -version: 1.6.1 +version: 1.6.2 description: "An Azure TRE Firewall shared service" dockerfile: Dockerfile.tmpl registry: azuretre @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id diff --git a/templates/shared_services/gitea/porter.yaml b/templates/shared_services/gitea/porter.yaml index 700be2a7f6..5a28cc0b11 100644 --- a/templates/shared_services/gitea/porter.yaml +++ b/templates/shared_services/gitea/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-gitea -version: 1.2.3 +version: 1.2.4 description: "A Gitea shared service" dockerfile: Dockerfile.tmpl registry: azuretre @@ -23,6 +23,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id type: string diff --git a/templates/shared_services/sonatype-nexus-vm/porter.yaml b/templates/shared_services/sonatype-nexus-vm/porter.yaml index 79f7009b9c..974ad4e44b 100644 --- a/templates/shared_services/sonatype-nexus-vm/porter.yaml +++ b/templates/shared_services/sonatype-nexus-vm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-shared-service-sonatype-nexus -version: 3.10.1 +version: 3.10.2 description: "A Sonatype Nexus shared service" dockerfile: Dockerfile.tmpl registry: azuretre @@ -22,6 +22,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id type: string diff --git a/templates/workspace_services/azureml/porter.yaml b/templates/workspace_services/azureml/porter.yaml index 723713cf35..e57858caa2 100644 --- a/templates/workspace_services/azureml/porter.yaml +++ b/templates/workspace_services/azureml/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-azureml -version: 1.1.5 +version: 1.1.6 description: "An Azure TRE service for Azure Machine Learning" registry: azuretre dockerfile: Dockerfile.tmpl @@ -16,6 +16,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id diff --git a/templates/workspace_services/azureml/user_resources/aml_compute/porter.yaml b/templates/workspace_services/azureml/user_resources/aml_compute/porter.yaml index 34d3ee7844..e766e13b01 100644 --- a/templates/workspace_services/azureml/user_resources/aml_compute/porter.yaml +++ b/templates/workspace_services/azureml/user_resources/aml_compute/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-user-resource-aml-compute-instance -version: 0.5.12 +version: 0.5.13 description: "Azure Machine Learning Compute Instance" registry: azuretre dockerfile: Dockerfile.tmpl @@ -17,6 +17,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: id diff --git a/templates/workspace_services/azuresql/porter.yaml b/templates/workspace_services/azuresql/porter.yaml index 48e969cb9b..268853475b 100644 --- a/templates/workspace_services/azuresql/porter.yaml +++ b/templates/workspace_services/azuresql/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-azuresql -version: 1.0.18 +version: 1.0.19 description: "An Azure SQL workspace service" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id type: string diff --git a/templates/workspace_services/databricks/porter.yaml b/templates/workspace_services/databricks/porter.yaml index 4e913a4e09..9cef35d4b7 100644 --- a/templates/workspace_services/databricks/porter.yaml +++ b/templates/workspace_services/databricks/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-databricks -version: 1.0.17 +version: 1.0.18 description: "An Azure TRE service for Azure Databricks." registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id diff --git a/templates/workspace_services/gitea/porter.yaml b/templates/workspace_services/gitea/porter.yaml index 39621ab355..14d71b6464 100644 --- a/templates/workspace_services/gitea/porter.yaml +++ b/templates/workspace_services/gitea/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-gitea -version: 1.3.4 +version: 1.3.5 description: "A Gitea workspace service" dockerfile: Dockerfile.tmpl registry: azuretre @@ -23,6 +23,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id type: string diff --git a/templates/workspace_services/guacamole/porter.yaml b/templates/workspace_services/guacamole/porter.yaml index 8f172fe986..44bd959c96 100644 --- a/templates/workspace_services/guacamole/porter.yaml +++ b/templates/workspace_services/guacamole/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole -version: 0.14.3 +version: 0.14.4 description: "An Azure TRE service for Guacamole" dockerfile: Dockerfile.tmpl registry: azuretre @@ -23,6 +23,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-export-reviewvm/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-export-reviewvm/porter.yaml index 2907e7ec5f..a81080dad0 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-export-reviewvm/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-export-reviewvm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-export-reviewvm -version: 2.0.1 +version: 2.0.2 description: "An Azure TRE User Resource Template for reviewing Airlock export requests" dockerfile: Dockerfile.tmpl registry: azuretre @@ -33,6 +33,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id @@ -82,6 +83,7 @@ parameters: default: "2 CPU | 8GB RAM" - name: airlock_request_sas_url type: string + sensitive: true description: "A SAS token to access storage resource in workspace under review" env: airlock_request_sas_url - name: enable_cmk_encryption diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/porter.yaml index dcfff73003..1f300e47da 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-import-reviewvm -version: 2.0.1 +version: 2.0.2 description: "An Azure TRE User Resource Template for reviewing Airlock import requests" dockerfile: Dockerfile.tmpl registry: azuretre @@ -40,6 +40,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id @@ -89,6 +90,7 @@ parameters: default: "2 CPU | 8GB RAM" - name: airlock_request_sas_url type: string + sensitive: true description: "A SAS token to access storage resource in workspace under review" env: airlock_request_sas_url - name: enable_cmk_encryption diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/terraform/variables.tf b/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/terraform/variables.tf index b557c708cb..110eba516b 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/terraform/variables.tf +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-import-reviewvm/terraform/variables.tf @@ -21,7 +21,8 @@ variable "image_gallery_id" { default = "" } variable "airlock_request_sas_url" { - type = string + type = string + sensitive = true } variable "enable_cmk_encryption" { type = bool diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/porter.yaml index f95113432c..54f58b2d74 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-linuxvm -version: 1.4.4 +version: 1.4.5 description: "An Azure TRE User Resource Template for Guacamole (Linux)" dockerfile: Dockerfile.tmpl registry: azuretre @@ -42,11 +42,13 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true # Credentials for interacting with the AAD Auth tenant - name: auth_client_id env: AUTH_CLIENT_ID - name: auth_client_secret env: AUTH_CLIENT_SECRET + sensitive: true - name: auth_tenant_id env: AUTH_TENANT_ID diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/porter.yaml index e7ebb8242e..dae7170020 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-windowsvm -version: 3.0.1 +version: 3.0.2 description: "An Azure TRE User Resource Template for Guacamole (Windows 11 or Windows Server 2025)" dockerfile: Dockerfile.tmpl registry: azuretre @@ -48,11 +48,13 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true # Credentials for interacting with the AAD Auth tenant - name: auth_client_id env: AUTH_CLIENT_ID - name: auth_client_secret env: AUTH_CLIENT_SECRET + sensitive: true - name: auth_tenant_id env: AUTH_TENANT_ID diff --git a/templates/workspace_services/health-services/porter.yaml b/templates/workspace_services/health-services/porter.yaml index c59b50f62d..c68dae6aad 100644 --- a/templates/workspace_services/health-services/porter.yaml +++ b/templates/workspace_services/health-services/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-health -version: 0.3.6 +version: 0.3.7 description: "An Azure Data Health Services workspace service" registry: azuretre dockerfile: Dockerfile.tmpl @@ -16,6 +16,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id diff --git a/templates/workspace_services/mysql/porter.yaml b/templates/workspace_services/mysql/porter.yaml index fb18c7bf97..d347c10173 100644 --- a/templates/workspace_services/mysql/porter.yaml +++ b/templates/workspace_services/mysql/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-mysql -version: 1.0.13 +version: 1.0.14 description: "A MySQL workspace service" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id type: string diff --git a/templates/workspace_services/ohdsi/porter.yaml b/templates/workspace_services/ohdsi/porter.yaml index 7c9aa6caae..106e3f337a 100644 --- a/templates/workspace_services/ohdsi/porter.yaml +++ b/templates/workspace_services/ohdsi/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-ohdsi -version: 0.3.8 +version: 0.3.9 description: "An OHDSI workspace service" registry: azuretre dockerfile: Dockerfile.tmpl @@ -19,6 +19,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id diff --git a/templates/workspace_services/openai/porter.yaml b/templates/workspace_services/openai/porter.yaml index f5d2a8383d..d6be6a40d1 100644 --- a/templates/workspace_services/openai/porter.yaml +++ b/templates/workspace_services/openai/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-service-openai -version: 1.0.9 +version: 1.0.10 description: "An OpenAI workspace service" registry: azuretre dockerfile: Dockerfile.tmpl @@ -15,6 +15,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: workspace_id type: string diff --git a/templates/workspaces/airlock-import-review/porter.yaml b/templates/workspaces/airlock-import-review/porter.yaml index 6f6dcb9cff..6acc2e9d7c 100644 --- a/templates/workspaces/airlock-import-review/porter.yaml +++ b/templates/workspaces/airlock-import-review/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-airlock-import-review -version: 0.16.0 +version: 0.16.1 description: "A workspace to do Airlock Data Import Reviews for Azure TRE" dockerfile: Dockerfile.tmpl registry: azuretre @@ -12,6 +12,7 @@ credentials: env: AUTH_CLIENT_ID - name: auth_client_secret env: AUTH_CLIENT_SECRET + sensitive: true - name: auth_tenant_id env: AUTH_TENANT_ID # Credentials for interacting with Azure @@ -23,6 +24,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id @@ -83,6 +85,7 @@ parameters: when you create the ws application" - name: client_secret type: string + sensitive: true description: "The client secret of the workspace in the identity provider. This value is typically provided to you when you create the ws application" diff --git a/templates/workspaces/base/porter.yaml b/templates/workspaces/base/porter.yaml index 5c7c9dacbb..67770d9975 100644 --- a/templates/workspaces/base/porter.yaml +++ b/templates/workspaces/base/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-base -version: 2.10.0 +version: 2.10.1 description: "A base Azure TRE workspace" dockerfile: Dockerfile.tmpl registry: azuretre @@ -12,6 +12,7 @@ credentials: env: AUTH_CLIENT_ID - name: auth_client_secret env: AUTH_CLIENT_SECRET + sensitive: true - name: auth_tenant_id env: AUTH_TENANT_ID # Credentials for interacting with Azure @@ -23,6 +24,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id @@ -86,6 +88,7 @@ parameters: when you create the ws application" - name: client_secret type: string + sensitive: true description: "The client secret of the workspace in the identity provider. This value is typically provided to you when you create the ws application" diff --git a/templates/workspaces/unrestricted/porter.yaml b/templates/workspaces/unrestricted/porter.yaml index 410e5e2c85..fb144924f3 100644 --- a/templates/workspaces/unrestricted/porter.yaml +++ b/templates/workspaces/unrestricted/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-workspace-unrestricted -version: 0.14.0 +version: 0.14.1 description: "A base Azure TRE workspace" dockerfile: Dockerfile.tmpl registry: azuretre @@ -12,6 +12,7 @@ credentials: env: AUTH_CLIENT_ID - name: auth_client_secret env: AUTH_CLIENT_SECRET + sensitive: true - name: auth_tenant_id env: AUTH_TENANT_ID # Credentials for interacting with Azure @@ -23,6 +24,7 @@ credentials: env: ARM_CLIENT_ID - name: azure_client_secret env: ARM_CLIENT_SECRET + sensitive: true parameters: - name: tre_id @@ -94,6 +96,7 @@ parameters: when you create the ws application" - name: client_secret type: string + sensitive: true description: "The client secret of the workspace in the identity provider. This value is typically provided to you when you create the ws application"