Credenciais

Ler uma credencial guardada numa expressão


Leia uma credencial guardada pelo nome ou por expressão regular, com uma alternativa:

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)

Primeiro tenta-se o nome exato. Quando nenhuma credencial tem esse nome, o nome é usado como expressão regular e, a seguir, tenta-se a alternativa.

Limitado por função

Quando uma das funções do utilizador enumera credentials no config.yaml, fn.fnCredentials só devolve uma credencial que essa função permita: os padrões da função são comparados com o nome da credencial encontrada (pelo nome, por expressão regular ou pela alternativa), e qualquer outra é recusada. As funções sem essa lista não a limitam, e um administrador nunca é limitado.

Credenciais de um cofre de segredos

Uma credencial que indica um cofre de segredos obtém o seu user e a sua password desse cofre em tempo de execução. fn.fnCredentials('myapp') continua a funcionar sem alterações.

Também é possível ler um segredo sem uma linha de credencial, em qualquer sítio onde se aceite um nome de credencial (incluindo fnRestBasic, fnRestJwtSecure e as substituições de cabeçalhos de fnRestAdvanced):

fn.fnCredentials('secret:vault:secret/ontap')   // secret:<store>:<reference>
fn.fnCredentials('vault:secret/ontap')          // the store named `vault`

As chaves do segredo são mapeadas como se descreve em Nomes das chaves. Um segredo com outra forma é remodelado com uma expressão jq como terceiro argumento:

// secret: { "creds": { "u": "admin", "p": "Netapp12" } }
fn.fnCredentials('vault:secret/weird','','.creds | { user: .u, password: .p }')