Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para tornar o NuGet um ambiente mais seguro para distribuição de pacotes, você pode assumir o controle das chaves de API adicionando escopos.
A capacidade de fornecer escopo para suas chaves de API lhe dá um melhor controle sobre suas APIs. É possível:
- Crie várias chaves de API com escopo que podem ser usadas para pacotes diferentes com prazos de expiração variáveis.
- Obtenha chaves de API com segurança.
- Edite as chaves de API existentes para alterar a aplicabilidade do pacote.
- Atualize ou exclua chaves de API existentes sem prejudicar as operações usando outras chaves.
Por que suportamos chaves de API com escopo?
Suportamos escopos para chaves de API para permitir que você tenha permissões mais refinadas. Anteriormente, o NuGet oferecia uma única chave de API para uma conta, e essa abordagem tinha várias desvantagens:
- Uma chave de API para controlar todos os pacotes. Com uma única chave de API que é usada para gerenciar todos os pacotes, é difícil compartilhar a chave com segurança quando vários desenvolvedores estão envolvidos com pacotes diferentes e quando compartilham uma conta de editor.
- Todas as permissões ou nenhuma. Qualquer pessoa com acesso à chave da API tem todas as permissões (publicar, enviar por push e cancelar a lista) nos pacotes. Isso muitas vezes não é desejável em ambientes com várias equipes.
- Ponto único de falha. Uma única chave de API também significa um único ponto de falha. Se a chave for comprometida, todos os pacotes associados à conta poderão ser comprometidos. Atualizar a chave de API é a única maneira de tapar o vazamento e evitar uma interrupção no fluxo de trabalho de CI/CD. Além disso, pode haver casos em que você deseja revogar o acesso à chave de API para um indivíduo (por exemplo, quando um funcionário deixa a organização). Não há uma maneira limpa de lidar com isso hoje.
Com chaves de API com escopo, tentamos resolver esses problemas, garantindo que nenhum dos fluxos de trabalho existentes seja interrompido.
Adquira uma chave de API
Inicie sessão na sua conta nuget.org ou crie uma conta , se ainda não tiver uma.
Selecione seu nome de usuário no canto superior direito e, em seguida, selecione Chaves de API.
Selecione Criar e forneça um nome para sua chave.
Em Selecione escopos, selecione Push.
Em Selecionar Pacotes>Padrão Glob, digite *.
Selecione Criar.
Selecione Copiar para copiar a nova chave.
Importante
- Mantenha sempre a sua chave API em segredo. A chave da API é como uma senha que permite que qualquer pessoa gerencie pacotes em seu nome. Exclua ou regenere sua chave de API se ela for revelada acidentalmente.
- Guarde a sua chave num local seguro, porque não pode copiá-la novamente mais tarde. Se você retornar à página de chave da API, precisará gerar novamente a chave para copiá-la. Você também pode remover a chave da API se não quiser mais enviar pacotes.
Definição de escopo permite criar diferentes chaves de API para várias finalidades. Cada chave tem um período de expiração, e você pode definir o escopo da chave para pacotes específicos ou padrões de glob. Você também define o escopo de cada chave para operações específicas: envie novos pacotes e versões de pacotes, envie apenas novas versões de pacotes ou cancele a lista.
Por meio do escopo, você pode criar chaves de API para diferentes pessoas que gerenciam pacotes para sua organização, para que elas tenham apenas as permissões necessárias.
Criar chaves de API com escopos definidos
Você pode criar várias chaves de API com base em suas necessidades. Uma chave de API pode ser aplicada a um ou mais pacotes, ter escopos variados que concedem privilégios específicos e ter uma data de expiração associada a ela.
No exemplo a seguir, você tem uma chave de API nomeada Contoso service CI que pode ser usada para enviar pacotes para pacotes específicos Contoso.Service e é válida por 365 dias. Este é um cenário típico em que diferentes equipes dentro da mesma organização trabalham em pacotes diferentes, e os membros da equipe recebem a chave que lhes concede privilégios apenas para o pacote em que estão trabalhando. A expiração serve como um mecanismo para evitar chaves obsoletas ou esquecidas.
Utilizar padrões globais
Se você estiver trabalhando em vários pacotes e tiver uma grande lista de pacotes para gerenciar, poderá optar por usar padrões de globbing para selecionar vários pacotes juntos. Por exemplo, se desejar conceder escopos específicos a uma chave para todos os pacotes cuja ID começa com Fabrikam.Service, você pode fazer isso especificando fabrikam.service.* na caixa de texto Padrão Glob .
O uso de padrões glob para determinar permissões de chave de API também se aplica a novos pacotes que correspondem ao padrão glob. Por exemplo, se tentar fazer push de um novo pacote chamado Fabrikam.Service.Framework, poderá fazê-lo com a chave criada anteriormente, já que o pacote corresponde ao padrão fabrikam.service.*.
Obtenha chaves de API com segurança
Por motivos de segurança, uma chave recém-criada nunca é mostrada na tela e só está disponível usando o botão Copiar . Da mesma forma, a chave não está acessível depois que a página é atualizada.
Editar chaves de API existentes
Você também pode querer atualizar as permissões e escopos de chave sem alterar a chave em si. Se você tiver uma chave com escopo(s) específico(s) para um único pacote, poderá optar por aplicar o(s) mesmo(s) escopo(s) em um ou vários outros pacotes.
Atualizar ou excluir chaves de API existentes
O proprietário da conta pode optar por atualizar a chave, caso em que a permissão (em pacotes), o escopo e a expiração permanecem os mesmos, mas uma nova chave é emitida tornando a chave antiga inutilizável. Isso é útil no gerenciamento de chaves obsoletas ou onde há potencial para um vazamento de chave de API.
Você também pode optar por excluir essas chaves se elas não forem mais necessárias. A eliminação de uma chave remove-a e torna-a inutilizável.
FAQs
O que acontece à minha chave de API antiga (herdada)?
Sua chave de API antiga (legada) continua a funcionar e pode funcionar enquanto você quiser que ela funcione. No entanto, essas chaves serão desativadas se não tiverem sido usadas por mais de 365 dias para fazer upload de um pacote. Para obter mais detalhes, consulte a postagem do blog Alterações às chaves de API que expiram. Não é mais possível atualizar essa chave. Em vez disso, você precisa excluir a chave herdada e criar uma nova chave com escopo.
Observação
Esta chave tem todas as permissões em todos os pacotes e nunca expira. Você deve considerar excluir essa chave e criar novas chaves com permissões com escopo e expiração definida.
Quantas chaves de API posso criar?
Não há limite para o número de chaves de API que você pode criar. No entanto, aconselhamo-lo a mantê-lo a uma contagem gerenciável para que você não acabe tendo muitas chaves obsoletas sem conhecimento de onde e quem as está usando.
Posso excluir minha chave de API herdada ou descontinuar o uso agora?
Yes. Você pode - e provavelmente deve - excluir sua chave de API herdada.
Posso recuperar minha chave de API que excluí por engano?
Não. Uma vez excluído, você só pode criar novas chaves. Não há recuperação possível para chaves excluídas acidentalmente.
A chave de API antiga continua a funcionar após a atualização da chave de API?
Não. Depois de atualizar uma chave, é gerada uma nova chave com o mesmo escopo, permissão e expiração da antiga. A velha chave deixa de existir.
Posso dar mais permissões a uma chave de API existente?
Não é possível modificar o escopo, mas é possível editar a lista de pacotes à qual ele é aplicável.
Como posso saber se alguma das minhas chaves expirou ou está a expirar?
Se alguma chave expirar, iremos informá-lo através de uma mensagem de aviso na parte superior da página. Também enviamos um e-mail de aviso ao titular da conta dez dias antes do vencimento da chave para que você possa agir com bastante antecedência.