Poświadczenia
Odczyt zapisanego poświadczenia w wyrażeniu
Odczytaj zapisane poświadczenie po nazwie lub wyrażeniu regularnym, z wartością zapasową:
fn.fnCredentials('credentialname_or_regex','fallback_credentialname_or_regex')
// Try to use `fnRestBasic` and `fnRestJwtSecure` if possible, this avoids passwords and tokens going over the network.
// output : a credential object with all properties (user, password, host, port)
Najpierw sprawdzana jest dokładna nazwa. Gdy żadne poświadczenie nie ma takiej nazwy, nazwa jest traktowana jako wyrażenie regularne, a potem sprawdzana jest wartość zapasowa.
Ograniczenie przez rolę
Gdy jedna z ról użytkownika ma listę credentials w config.yaml, fn.fnCredentials zwraca tylko poświadczenie, na które taka rola pozwala: wzorce roli są porównywane z nazwą znalezionego poświadczenia (po nazwie, wyrażeniu regularnym lub wartości zapasowej), a każde inne jest odrzucane. Role bez tej listy go nie ograniczają, a administrator nigdy nie jest ograniczony.
Poświadczenia z magazynu sekretów
Poświadczenie, które wskazuje magazyn sekretów, pobiera swoje user i password z tego magazynu w czasie działania. fn.fnCredentials('myapp') działa dalej bez zmian.
Sekret można też odczytać bez wiersza poświadczenia, wszędzie tam, gdzie przyjmowana jest nazwa poświadczenia (w tym w fnRestBasic, fnRestJwtSecure i podstawieniach nagłówków w fnRestAdvanced):
fn.fnCredentials('secret:vault:secret/ontap') // secret:<store>:<reference>
fn.fnCredentials('vault:secret/ontap') // the store named `vault`
Klucze sekretu są mapowane tak, jak opisano w Nazwy kluczy. Sekret o innym kształcie przekształca się wyrażeniem jq podanym jako trzeci argument:
// secret: { "creds": { "u": "admin", "p": "Netapp12" } }
fn.fnCredentials('vault:secret/weird','','.creds | { user: .u, password: .p }')