UC secrets: supported access to resolved non-secret variables and redaction compatibility
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start with bundle/direct/dresources/redact_config.go at v1.17.0, which the issue identifies as the location of the string-only redaction check. Review the validation JSON output and bundle variable resolution path to determine whether a supported way to expose selected non-secret resolved values exists. Done means maintainers clarify the compatibility contract and document an existing workflow or define a supported interface with sensitive value handling.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Question
What is the supported way for deployment tooling to consume natively resolved, non-secret bundle variables when a bundle declares Unity Catalog secrets?
We also want to understand the compatibility contract for redaction across variable types. Should downstream tools assume that redaction may expand to complex values in a future release?
Observed behavior
Reproduced with Databricks CLI 1.17.0 on Windows, using disposable resources and a dummy secret:
- Without a UC secret,
bundle validate -o jsonexposes resolved string variable values. - With
resources.secretscontaining a sensitive value, every string variable value becomes[redacted], including unrelated catalog, schema, and warehouse settings. - Integer, boolean, and complex values are not handled the same way by the current redaction implementation.
bundle deploystill resolves and uses the real values internally.
The string-only check is visible in redact_config.go at v1.17.0.
We understand the reason for protecting variable output. We are asking for a supported integration path rather than a guarantee that type-dependent redaction behavior will remain unchanged.
Minimal example
bundle:
name: uc-secret-validation-output
variables:
target_catalog:
default: example_catalog
target_schema:
default: example_schema
api_credential: {}
resources:
secrets:
example_secret:
name: example_secret
catalog_name: ${var.target_catalog}
schema_name: ${var.target_schema}
value: ${var.api_credential}
targets:
dev:
default: true
With an existing workspace profile, using only a dummy value:
$env:BUNDLE_VAR_api_credential = "dummy-value-for-reproduction"
databricks bundle validate --target dev --profile <profile> -o json
The resolved variables.target_catalog.value and variables.target_schema.value are both [redacted]. Removing the UC secret resource makes their normal values visible again. Deployment is not needed to demonstrate the output difference.
Why this matters
Our deployment wrapper uses the same target configuration for pre/post-deployment SQL. It needs the resolved catalog, schema, and warehouse ID, and uses bundle variables when preparing SQL and configuration files.
Reading YAML defaults alone is insufficient: includes, target overrides, environment and file overrides, lookups, and substitutions must agree with native deployment. Reimplementing that resolution logic outside the CLI creates a maintenance and compatibility burden.
Questions for maintainers
- Should external consumers treat all type-dependent visibility in validation JSON as an implementation detail that can change with redaction hardening?
- Is there a supported command, API, or lifecycle hook for obtaining explicitly selected non-secret resolved values without parsing display-oriented output or changing the bundle configuration?
- If not, would you consider such an interface, with an explicit contract for sensitive values and diagnostics?
An existing supported workflow or documentation would also be helpful. We do not need a blanket switch that prints all secrets.
- Ngôn ngữ chính
- Go
- Star
- 409
- Fork
- 253
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 212
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của databricks/cli
-
Apps commands only accept relative path to app.ymlCó thể đã có người làm @yuri-rod đã nhận 16 ngày trước. Đang mởCLI
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
databricks/cli#6910 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DABs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
databricks/cli#6670 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bundle validate does not catch missing trigger.table_update.condition with multiple tablesCó thể đã có người làm @yuri-rod đã nhận 1 ngày trước. Đang mởDABs Enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
databricks/cli#7101 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
databricks/cli#7100 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DABs
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
databricks/cli#7032 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của databricks/cli
Issue tương tự
-
test(fabric): load the TestLoad fixture through config.Service instead of a raw koanf decodeĐang mởcleanup hacktoberfest priority: low skill: good first issue testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
hyperledger-labs/fabric-smart-client#2197 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
NTR: [tRNA kinase activity]Đang mởNew term request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
geneontology/go-ontology#32791 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
aws/amazon-ecs-agent#5177 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
release-followup
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày