Definir e gerenciar segredos
Um segredo é um valor privado armazenado no backend do Atlas e ocultado dos usuários. Segredos armazenam informações confidenciais, como uma chave de API ou um identificador interno.
Não é possível ler diretamente o valor de um segredo depois de defini-lo. Em vez disso, você vincula o segredo a outrovalor e, em seguida, acessa o valor de uma função de trigger .
Definir um segredo
Você pode definir um novo segredo pela UI ou usando a App Services CLI.
Navegue até a Values Página
Navegue até a página Triggers :
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Triggers sob o título Services.
A páginaAcionadores é exibida.
Clique no link Linked App Service: Triggers.
Na barra lateral, clique em Values sob o título Build.
Clique em Create a Value.
Nomeie o valor secreto
Insira um nome para o segredo. Esse nome é como você se refere ao segredo em funções e deve ser exclusivo dentro do projeto.
Observação
Restrições de nome secreto
Os nomes dos valores não podem exceder 64 caracteres e só podem conter letras, números, sublinhados e hífens ASCII. O primeiro caractere deve ser uma letra ou um número.
Autenticar um usuário do MongoDB Atlas
Use sua chave de API de administração do MongoDB Atlas para fazer login na App Services CLI:
appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
Extraia os arquivos de configuração mais recentes do seu aplicativo
Execute o seguinte comando para obter uma cópia local dos seus arquivos de configuração:
appservices pull --remote=<App ID>
Por padrão, o comando extrai arquivos para o diretório de trabalho atual. Você pode especificar um caminho de diretório com o sinalizador --local
opcional.
Implemente suas alterações
Execute o seguinte comando para implementar suas alterações:
appservices push
Ver segredos
Você pode visualizar uma lista de todos os segredos em um aplicativo a partir da UI ou usando a App Services CLI.
Na página Triggers , clique no link Linked App Service: Triggers .
Na barra lateral, clique em Values sob o título Build.
A tabela lista todos os Valores, incluindo Segredos, e indica o tipo de cada Valor em sua linha.
Para listar os nomes e IDs de todos os Segredos, execute o seguinte comando:
appservices secrets list --app=<Your App ID>
Atualizar um segredo
Você pode atualizar um segredo pela UI ou usando a App Services CLI.
Para atualizar um segredo a partir da UI do Atlas :
Na página Triggers , clique no link Linked App Service: Triggers .
Na barra lateral, clique em Values sob o título Build.
Encontre o valor que você deseja atualizar na tabela, abra seu menu Actions e selecione Edit Secret.
Você pode alterar o nome e o valor do segredo.
Clique em Save e, se necessário, implemente suas alterações.
Para atualizar o valor de um segredo usando o App Services CLI, execute o seguinte comando:
appservices secrets update --app=<Your App ID> \ --secret="<Secret ID or Name>" \ --name="<Updated Secret Name>" \ --value="<Updated Value>"
Usar um segredo
Não é possível ler diretamente o valor de um segredo depois de defini-lo.
Para usar um segredo em uma função de triggers:
Crie um novo Valor que se vincule ao Segredo.
Use o módulo context.values para acessar o valor do segredo em sua função.
Excluir um segredo
Você pode excluir um segredo da UI ou usar a App Services CLI.
Para excluir um segredo da UI do Atlas :
Na página Triggers , clique no link Linked App Service: Triggers .
Na barra lateral, clique em Values sob o título Build.
Encontre o valor que você deseja excluir na tabela, abra seu menu Actions e selecione Delete Secret.
Confirme que você deseja excluir o segredo.
Para excluir um segredo usando a App Services CLI, execute o seguinte comando:
appservices secrets delete --app=<Your App ID> --secret=<Secret ID>
Dica
Você pode excluir vários Segredos com um único comando especificando seus valores name
ou id
como uma lista separada por vírgula.
appservices secrets delete --app=<Your App ID> \ --secret=some-api-key,609af850b78eca4a8db4303f,another-key