# Slack ve Teams üzerinden SQL onayı, güvenli biçimde

> Üretim SQL'ini kontrolü zayıflatmadan Slack veya Teams'ten onaylamak; imzalar, tekrar saldırısı koruması, token'lar ve kimlik eşlemesi.

- Yayın: 2026-10-13
- Tags: chatops, erişim denetimi, denetim kaydı
- Kaynak: https://queryproxy.com/tr/blog/slack-teams-uzerinden-sql-onayi/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
Düğmeye tek başına güvenilmiyorsa, üretim SQL'ini Slack ya da Teams'ten güvenle
onaylayabilirsiniz. Bir tıklama yalnızca bir HTTP callback'idir; bu yüzden
güvenlik, sunucunun harekete geçmeden önce neyi kontrol ettiğindedir: kim
imzaladı, ne kadar eski, gerçek bir mesaja mı cevap veriyor ve hangi kişiyle
eşleşiyor. Sohbet onayları çoğunlukla burada yanlış gider ve QueryProxy'nin emeği
burada harcanır.

## Neden sohbette onaylansın ki?

Çünkü kimsenin açmadığı bir kuyruk, tıkanan bir kuyruktur. Bir DBA zaten sohbette
yaşar; bu yüzden istek, talep eden, bağlantı ve SQL önizlemesiyle birlikte
bulunduğu yere gelir ve oracıkta karar verir.
[Onay akışı](/tr/sql-sorgu-onay-akisi/) her iki yolda da aynıdır; sohbet yalnızca
kararın nerede alındığını değiştirir.

## Bir sohbet düğmesinde ne ters gidebilir?

- **Sahtecilik.** Callback URL'sini bulan herkes ona gönderim yapabilir.
- **Tekrar oynatma.** Ele geçirilmiş gerçek bir onayın daha sonra yeniden
  gönderilmesi.
- **Yanlış kişi.** Geçerli bir imza, çağıranın bir sırra sahip olduğunu söyler.
  Belirli bir kişinin tıkladığını söylemez.
- **Bayat bir mesaj.** Birinin eski bir karttan bir isteğe iki kez karar vermesi.

## QueryProxy'de Slack onayı nasıl çalışır?

Yeni istekler bir kanalda **Approve**, **Reject** ve **Open in QueryProxy**
düğmeleriyle duyurulur ve karardan sonra mesaj güncellenir, böylece düğmeler
kaybolur. Kurulum [Slack entegrasyonu rehberindedir](/tr/docs/slack-entegrasyonu/).
Her callback, herhangi bir şey olmadan önce doğrulanır:

- **İmza.** `X-Slack-Signature` başlığı, zaman damgasının ve ham gövdenin,
  uygulamanın signing secret'ı ile imzalanmış HMAC-SHA256 değeriyle eşleşmelidir.
  Slack bu şemayı, `v0=` öneki dahil,
  [Slack'ten gelen isteklerin doğrulanması](https://docs.slack.dev/authentication/verifying-requests-from-slack/)
  rehberinde anlatır. (2026-10-13'te okundu.)
- **Tekrar penceresi.** Slack'in rehberi, zaman damgası yerel saatten beş
  dakikadan fazla farklı olan isteği reddetmenizi söyler; QueryProxy artı eksi
  beş dakika dışındaki istekleri reddeder. (2026-10-13'te okundu.)
- **Tek kullanımlık token.** Her düğme tek bir isteğe bağlı, 24 saat geçerli bir
  token taşır ve kaydedilen ilk kararda harcanır. Yetkilendirme tarafından geri
  çevrilen bir tıklama onu tüketmez.
- **Kimlik.** Slack kullanıcısı, isteğin takımında DBA rolü olan bir QueryProxy
  kullanıcısıyla eşlenmiş olmalıdır. Bir yönetici her gözden geçirenin Slack üye
  kimliğini doldurur; bir tıklamayı bir kişiye bağlayan şey budur.
- **Kurallar.** Kendi talebini onaylama yok, web'deki gibi.

Sahte ya da süresi dolmuş bir callback reddedilir ve hiçbir durumu değiştirmez.

## Sır neden yalnızca yöneticiye ait?

Bir HMAC'in neyi söyleyip neyi söyleyemeyeceği yüzünden.
[Rehber](/tr/docs/slack-entegrasyonu/) bu konuda açık sözlüdür: çağıranın sırrı
bildiğini kanıtlar, belirli bir kişinin onay verdiğini asla. Bir DBA sırrı
seçebilseydi, bir meslektaşı adına kendi talebini onaylayan bir callback
imzalayabilirdi ve kayıt meslektaşı yazardı. Bu yüzden sırrı yalnızca bir sistem
yöneticisi belirleyebilir ya da döndürebilir ve döndürmek mevcut olanı ister.

## Peki Microsoft Teams?

Teams farklı çalışır ve bunu açık söylemekte fayda var. QueryProxy her yeni
istek için **Review in QueryProxy** bağlantılı bir kart gönderir ve kararları
kanala geri duyurur. Teams'ten onay, otomasyonunuzun, örneğin bir Power Automate
akışının ya da giden bir webhook'un, HMAC ile imzalı bir istekle çağırdığı bir
[aksiyon endpoint'i](/tr/docs/teams-entegrasyonu/) üzerinden gerçekleşir.
Onaylayan, bir yöneticinin bir kullanıcıya bağladığı Azure AD nesne kimliğiyle
belirlenir. Slack'tekine benzer tam etkileşimli kart düğmeleri bir Teams bot
kaydı ister ve yol haritasındadır.

Bugün Teams'te tıkla-onayla akışı istiyorsanız, onu otomasyonunuzda kurarsınız.
İstemiyorsanız web'den onaylayın.

## Kayıt sohbet kararlarını tutuyor mu?

Evet: bir karar kanalıyla birlikte denetim günlüğüne yazılır; böylece bir gözden
geçiren web onayını Slack onayından ayırt edebilir. Bunun kanıta nasıl eşlendiği
için [üretim sorguları için denetim kaydı neleri tutmalı](/tr/blog/uretim-sorgu-denetim-kaydi/)
yazısına ve [SOC 2 sayfasına](/tr/soc-2-veritabani-erisim-denetimi/) bakın.

## Sınırlar neler?

Slack'ten yapılan bir ret yalnızca genel bir gerekçe kaydeder; önemli olduğunda
gerekçeyi web arayüzünde yazın. Karttaki SQL önizlemesi 400 karakterde kesilir
ve sohbet geçmişi ifadelerin düşmesini istediğiniz bir yer değilse
`QUERYPROXY_CHAT_INCLUDE_SQL=false` ile kapatabilirsiniz. Tek kullanımlık
token'lar getirilmeden önce gönderilmiş mesajlardaki düğmeler artık çalışmaz.
