QueryProxy
Doküman menüsü

Slack entegrasyonu

Sorgu taleplerini Slack'ten etkileşimli düğmelerle onaylayıp reddedin — uçtan uca HMAC-SHA256 imzalarıyla doğrulanır.

Güncelleme:

Slack entegrasyonuyla yeni sorgu talepleri bir kanala Onayla / Reddet düğmeleriyle duyurulur; kararlar QueryProxy’ye geri akar — webdekiyle aynı kurallarla (rol denetimi, kendine onay yok) ve kriptografik doğrulamayla.

Kurulum

  1. api.slack.com/apps adresinden çalışma alanınız için bir Slack uygulaması oluşturun.

  2. Incoming Webhooks’u etkinleştirin ve onay kanalınız (ör. #db-approvals) için bir webhook ekleyin.

  3. Interactivity’yi etkinleştirin ve istek URL’sini şuna ayarlayın:

    https://queryproxy-sunucunuz/webhooks/slack/interactions
  4. QueryProxy’de (DBA olarak) ChatOps’u açın; webhook URL’sini ve uygulamanın signing secret’ını yapıştırın. İkisi de şifreli saklanır.

  5. Admin → Users ekranında her onaylayıcının Slack üye kimliğini girin (ör. U0123ABC — Slack profilinde Copy member ID ile görünür). Bu eşleme, Slack tıklamalarını QueryProxy kullanıcılarına bağlar.

Nasıl görünür

Bir talep gönderildiğinde QueryProxy; talep sahibi, bağlantı, SQL önizlemesi ve üç aksiyonla bir mesaj yayınlar: Approve, Reject ve Open in QueryProxy. Karardan sonra mesaj yerinde güncellenir — düğmeler kaybolur ve sonuç görünür; bayat bir mesajdan ikinci kez karar verilemez.

Slack’ten yapılan redler “Rejected via Slack by <isim>” genel gerekçesini kaydeder. Yazılı gerekçe için web arayüzünden reddedin.

Güvenlik

Slack’ten gelen her geri çağrı, herhangi bir şey olmadan önce doğrulanır:

  • İmzaX-Slack-Signature başlığı v0=HMAC_SHA256("v0:{timestamp}:{raw_body}", signing_secret) ile sabit zamanlı karşılaştırmayla eşleşmelidir.
  • Tekrar korumasıX-Slack-Request-Timestamp’e göre ±5 dakikadan eski istekler reddedilir.
  • Kimlik — tıklayan Slack kullanıcısı, talebin takımında DBA rolüne sahip bir QueryProxy kullanıcısına eşlenmiş olmalıdır. Eşlenmemiş veya yetkisiz kullanıcılar özel bir hata mesajı görür; hiçbir şey değişmez.
  • Kurallar — kendine onay Slack’te de aynen engellidir.

Sahte veya bayat bir geri çağrı 401 döner ve hiçbir durumu değiştirmez. Webhook ucu ayrıca hız sınırlıdır.

Gezinmek için ok tuşları, açmak için Enter.