You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit eb276fb
Browse filesBrowse the repository at this point in the historyBrowse files
fix(credentials): never name a sibling credential in a trust-setup refusal
The caller may not be able to see the credential that holds or blocks the
subject, so both refusals name only the workspace or organization. The
uniqueness check documents its limits.
@@ -233,12 +237,12 @@ async function assertNoOtherCredentialHolds(
233
237
credentialId: row.id,
234
238
})
235
239
thrownewWorkloadIdentitySubjectError(
236
-
`Sim could not read the saved credential "${row.displayName}", so it cannot confirm this trust setup is unused. Reconnect or delete that credential, then try again.`
240
+
`Sim could not read another keyless credential in ${scopeNoun(input.scope)}, so it cannot confirm this trust setup is unused. Ask an admin to reconnect or delete the broken keyless credential, then try again.`
237
241
)
238
242
}
239
243
if(storedSubject===input.subject){
240
244
thrownewWorkloadIdentitySubjectError(
241
-
'Another credential already uses this trust setup. Start the keyless connection again.'
245
+
`Another credential in ${scopeNoun(input.scope)}already uses this trust setup. Start the keyless connection again.`
242
246
)
243
247
}
244
248
}
@@ -256,6 +260,12 @@ async function assertNoOtherCredentialHolds(
256
260
* credential: the advisory lock holds concurrent saves of one subject until
257
261
* commit, so the later save sees the earlier row. A sibling whose secret cannot
258
262
* be read might hold the subject, so it refuses the save rather than skip it.
263
+
*
264
+
* Caveats: uniqueness holds only within one owner (a subject embeds its owner,
265
+
* so another owner's credential cannot hold it), only among live AWS and
266
+
* Databricks keyless credentials, and only for writers that call this inside
267
+
* their write transaction. The refusal never names the sibling, which the
0 commit comments