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 }')