Sobre a proteção de push na interface do usuário do GitHub
Quando você faz upload, cria, ou edita arquivos da interface do usuário do GitHub, a proteção contra push impede que você confirme acidentalmente segredos em um repositório ao bloquear confirmações que contêm segredos com suporte.
Além disso, o GitHub bloqueará o commit se você tentar fazer upload de arquivos que contêm segredos com suporte.
Note
A proteção por push para uploads de arquivos na interface do usuário da Web está atualmente em versão prévia pública e sujeita a alterações.
Você deve:
- Remove o segredo do commit. Para obter mais informações, consulte Resolver um commit bloqueado.
- Revise as instruções na caixa de diálogo para ver quais opções estão disponíveis para você para permitir o push. Para obter mais informações, consulte "Ignorando a proteção de push" e Solicitando privilégios de bypass.
O GitHub exibirá apenas um segredo detectado por vez na interface do usuário da Web. Se um segredo específico já tiver sido detectado no repositório e um alerta já existir, o GitHub não bloqueará esse segredo.
Os proprietários da organização podem fornecer um link personalizado que será exibido quando um push for bloqueado. Esse link personalizado pode conter recursos e conselhos específicos para sua organização. Por exemplo, o link personalizado pode apontar para um arquivo README com informações sobre o cofre secreto da organização, para quais equipes e indivíduos escalar perguntas ou a política aprovada pela organização para trabalhar com segredos e reescrever o histórico de confirmação.
Resolver um commit bloqueado
Quando você usa a interface do usuário da Web para tentar fazer commit de um segredo com suporte em um repositório ou uma organização com a verificação de segredo como uma proteção por push habilitada, o GitHub bloqueará o commit.
Você verá uma caixa de diálogo com informações sobre a localização do segredo, bem como opções que permitem enviar o segredo por push. O segredo também será sublinhado no arquivo para que você possa encontrá-lo facilmente.
Para resolver um commit bloqueado na interface do usuário da Web, você precisará remover o segredo do arquivo. Depois de remover o segredo, você poderá confirmar suas alterações.
Note
Para saber como resolver um push bloqueado na linha de comando, consulte Trabalhando com a proteção de push via linha de comando.
Ignorando a proteção de push
Se o GitHub bloquear um segredo que você acredita ser seguro para fazer commit, você pode conseguir ignorar o bloqueio ao especificar um motivo para permitir o segredo.
Quando você permite que um segredo seja enviado por push, um alerta será criado na guia Segurança. GitHub fecha o alerta e não envia uma notificação se você especificar que o segredo é um falso positivo ou usado apenas em testes. Se você especificar que o segredo é real e que o corrigirá mais tarde, GitHub manterá o alerta de segurança aberto e enviará notificações ao autor do commit, bem como aos administradores do repositório. Para obter mais informações, confira "Gerenciar alertas da verificação de segredo".
Quando um colaborador ignora um bloco de proteção por push para um segredo, GitHub também envia um alerta de e-mail para os proprietários da organização, gerentes de segurança e administradores de repositório que optaram por receber notificações por e-mail.
-
Na caixa de diálogo que apareceu quando GitHub bloqueou o commit, examine o nome e o local do segredo.
-
Escolha a opção que melhor descreve o motivo pelo qual você deve conseguir efetuar push do segredo.
-
Se o segredo for usado apenas em testes e não representar nenhuma ameaça, clique em Ele é usado em testes.
-
Se a cadeia de caracteres detectada não for um segredo, clique em É um falso positivo.
-
Se o segredo for real, mas você pretender corrigi-lo mais tarde, clique em Corrigirei mais tarde.
Note
É necessário especificar um motivo para ignorar a proteção por push se o repositório tiver a varredura secreta habilitada.
Ao enviar por push para um repositório público que não tem a varredura secreta habilitada, você ainda está protegido contra envio acidental de segredos graças à proteção por push para usuários, que está ativadahabilitada por padrão para sua conta de usuário.
Com a proteção por push para usuários, o GitHub bloqueará automaticamente os envios para repositórios públicos se esses envios contiverem segredos com suporte, mas você não precisará especificar um motivo para permitir o segredo, e GitHub não gerará um alerta. Para obter mais informações, confira "Proteção por push para usuários".
-
-
Clique em Permitir segredo.
Se você não vir a opção para ignorar o bloqueio, isso indicará que o administrador do repositório ou o proprietário da organização configurou controles mais rígidos em relação à proteção contra push. Em vez disso, você deve remover o segredo do commit ou enviar uma solicitação para “ignorar privilégios” a fim de enviar por push o segredo bloqueado. Para obter mais informações, consulte Solicitando privilégios de bypass.
Solicitando privilégios de bypass
Se o seu commit tiver sido bloqueado pela proteção por push, você poderá solicitar permissão para contornar o bloqueio. A solicitação será enviada a um grupo designado de revisores, os quais realizarão a aprovação ou a negação da solicitação.
As solicitações expiram após sete dias.
- Na caixa de diálogo que apareceu quando GitHub bloqueou o commit, examine o nome e o local do segredo.
- Clique em Iniciar solicitação. A solicitação será aberta em uma nova guia. 1. Em "Ou solicitar privilégios para ignorar", adicione um comentário. Por exemplo, você pode explicar por que acredita que o segredo é seguro para envio por push ou fornecer o contexto sobre a solicitação para ignorar o bloqueio.
- Clique em Enviar solicitação.
- Verifique suas notificações por email para obter uma resposta à sua solicitação.
Assim que sua solicitação for analisada, você receberá um email notificando a decisão.
Se a sua solicitação for aprovada, você poderá confirmar as alterações que contêm o segredo no arquivo. Você também pode confirmar alterações futuras que contenham o mesmo segredo.
Se a sua solicitação for negada, você precisará remover o segredo do arquivo antes de fazer commit das suas alterações.