A team is standing up ingestion from a cloud storage bucket that a partner writes JSON files into throughout the day. Security policy states that no cloud credential may appear in notebook code, in cluster configuration or in job parameters, and that every read of the bucket must be attributable in the Unity Catalog audit log. The ingestion itself must stay incremental as the file count grows. How should the team set up the access path for the ingestion?
- AStore the cloud access key in a Databricks secret scope, read it into a Spark configuration at the start of the ingestion notebook, and point Auto Loader at the bucket URI directly.
- BRegister the bucket as a Unity Catalog external location backed by a storage credential, grant READ FILES on that location to the ingestion identity, and point Auto Loader at the location path. Correct
- CAttach a cloud instance profile with read rights on the bucket to the ingestion cluster, and have every job that reads the partner data run on that one dedicated cluster.
- DHave the partner copy the files into a Unity Catalog managed volume by hand each morning, then load the volume contents into the bronze table with a scheduled COPY INTO statement.
Why A is wrong: Tempting because a secret scope does keep the literal key out of the source file, but the credential still reaches the cluster configuration and the read bypasses Unity Catalog, so it is not attributable in the audit log.
Why B is correct: Correct, because the storage credential holds the cloud identity centrally, the external location makes access grantable and auditable in Unity Catalog, and Auto Loader reads the path through that governed route.
Why C is wrong: Tempting because no key is written down anywhere, but the credential is bound to compute rather than to a governed object, so access cannot be granted per identity and the reads are not recorded by Unity Catalog.
Why D is wrong: Tempting because a managed volume is governed by Unity Catalog, but the manual daily copy replaces continuous incremental ingestion with a batch handover the partner has not agreed to perform.