Poster pertama, lama bersembunyi di sini. Apa cara terbaik untuk mengaktifkan peran aplikasi dalam laporan?
Saya sudah mencoba berbagai hal dan sejauh ini satu-satunya metode yang berfungsi adalah menyematkan panggilan ke peran aplikasi seperti: -
EXEC sp_setapprole 'REPORTZ', 's3cr3t';
select *
from mytable
where ID < 10000
di Dataset. Ini berhasil ... tetapi tidak sesuai dengan keinginan saya (tentu saja tidak dalam bentuk yang ingin saya masukkan ke dalam lingkungan produksi).
Saya lebih suka jika entah bagaimana saya bisa 'membajak' atau 'menyuntikkan' jalur aktivasi peran aplikasi saat runtime baik melalui majelis khusus atau mungkin semacam 'pengait server' di Layanan Pelaporan (yang dalam kedua kasus, saya tidak tahu caranya )
Sangat dihargai atas waktu + perhatian Anda.
YS.
sql-server
ssrs
role
YS.
sumber
sumber
Jawaban:
Saya melihat beberapa cara ini bisa dilakukan tanpa menggunakan sesuatu yang terlalu mewah.
Yang pertama adalah menggunakan otentikasi terintegrasi Windows dan memberikan izin kepada grup yang mewakili pengguna aplikasi.
Anda dapat membuat peran yang dapat diberikan, dan kemudian gunakan
set role
untuk mengambil peran dalam kode Anda di db. Dengan cara ini Anda tidak memasukkan kata sandi dan Anda mengautentikasi aplikasi terlebih dahulu.Keuntungan yang pertama adalah mudah dikelola, dalam domain AD, yang memiliki akses ke aplikasi. Manajemen akan relatif sederhana. Kerugian utama adalah bahwa itu akan terbatas pada kasus-kasus di mana auth terintegrasi terintegrasi, dan Anda harus mendukung auth terintegrasi sepanjang jalan. Selain itu setiap hop akhirnya membutuhkan otentikasi 3 arah (antara server, klien, dan KDC).
Keuntungan dari yang kedua adalah mungkin paling mudah untuk masuk, dan tidak memaparkan info keamanan melalui jaringan, dan itu bekerja dalam kasus di mana auth terintegrasi tidak akan berfungsi dengan baik.
Saya akan mencoba kedua pendekatan itu sebelum mencoba memperluas layanan pelaporan. Seperti komentar yang disarankan, http://msdn.microsoft.com/en-us/library/aa237582%28v=SQL.80%29.aspx mungkin membantu dan dapat berfungsi, tetapi secara konseptual lebih kompleks daripada mencoba mengelola peran langsung.
sumber