Amazon QuickSight adalah layanan kecerdasan bisnis (BI) cloud-native terkelola sepenuhnya yang memudahkan untuk terhubung ke data Anda, membuat dasbor interaktif, dan membagikannya dengan puluhan ribu pengguna, baik di dalam QuickSight itu sendiri, atau disematkan dalam perangkat lunak sebagai aplikasi layanan (SaaS).
QuickSight Enterprise Edition baru-baru ini menambahkan keamanan tingkat baris (RLS) menggunakan tag, sebuah fitur baru yang memungkinkan pengembang untuk berbagi satu dasbor dengan puluhan ribu pengguna, sekaligus memastikan bahwa setiap pengguna hanya dapat melihat dan memiliki akses ke data tertentu. Artinya, saat vendor perangkat lunak independen (ISV) menambahkan dasbor tersemat QuickSight di aplikasinya, mereka tidak perlu menyediakan pengguna akhir di QuickSight, dan cukup menyiapkan tag untuk memfilter data berdasarkan siapa dasbor tersebut. sedang dilayani. Misalnya, jika ISV ingin menyiapkan dasbor yang akan dibagikan dengan 20,000 pengguna di 100 pelanggan aplikasi, dengan semua pengguna dalam satu pelanggan memiliki akses ke data yang identik, fitur baru ini memungkinkan Anda berbagi satu dasbor untuk semua pengguna, tanpa harus menyiapkan atau mengelola 20,000 pengguna di QuickSight.
RLS yang diterapkan menggunakan tag memastikan bahwa setiap pengguna akhir hanya melihat data yang relevan bagi mereka, sedangkan QuickSight secara otomatis menskalakan untuk memenuhi konkurensi pengguna untuk memastikan setiap pengguna akhir melihat kinerja yang cepat secara konsisten. Dalam posting ini, kita melihat bagaimana ini dapat diterapkan.
Ikhtisar solusi
Untuk menyematkan dasbor tanpa penyediaan pengguna, kami menggunakan API HasilkanEmbedURLUntukPengguna Anonim, yang berfungsi dengan QuickSight's harga kapasitas sesi. Dengan API ini, server penyematan (logika di aplikasi SaaS) menentukan dan mengelola identitas pengguna yang kepadanya dasbor ditampilkan (sebagai lawan dari identitas ini yang disediakan dan dikelola dalam QuickSight).
Diagram berikut menunjukkan contoh alur kerja dasbor tersemat yang mengamankan data berdasarkan siapa yang mengakses aplikasi menggunakan RLS dengan tag.
Dalam hal ini, ISV memiliki aplikasi SaaS yang diakses oleh dua pengguna akhir. Salah satunya adalah manajer dan lainnya adalah pengawas lokasi. Kedua pengguna mengakses aplikasi yang sama dan dasbor QuickSight yang sama yang disematkan di aplikasi dan keduanya tidak disediakan di QuickSight. Saat pengawas situs mengakses dasbor, mereka hanya melihat data terkait situs mereka, dan saat pengelola mengakses dasbor, mereka melihat data terkait semua situs yang mereka kelola.
Untuk mencapai perilaku ini, kami menggunakan fitur baru yang memungkinkan konfigurasi keamanan tingkat baris menggunakan tag. Metode pengamanan data pada dasbor yang disematkan ini hanya berfungsi jika dasbor disematkan tanpa penyediaan pengguna (disebut juga penyematan anonim). Prosesnya mencakup dua langkah:
- Siapkan kunci tag pada kolom kumpulan data yang digunakan untuk membuat dasbor.
- Tetapkan nilai untuk kunci tag saat runtime saat menyematkan dasbor secara anonim.
Siapkan kunci tag pada kolom di kumpulan data yang digunakan untuk membuat dasbor
ISV atau pengembang dapat mengatur kolom pada kumpulan data menggunakan CreateDataset
or UpdateDataset
API sebagai berikut:
Dalam kode contoh sebelumnya, row-level-permission-tag-configuration
adalah elemen yang dapat Anda gunakan untuk menentukan kunci tag pada kolom kumpulan data. Untuk setiap tag, Anda dapat menentukan item opsional berikut:
- Pembatas TagMultiValue – Opsi ini saat disetel pada kolom memungkinkan Anda meneruskan lebih dari satu nilai ke tag pada waktu proses, dan nilai dibatasi oleh string yang disetel untuk opsi ini. Dalam contoh ini, koma disetel sebagai string pembatas.
- Cocokkan Semua Nilai – Opsi ini ketika diatur pada kolom memungkinkan Anda untuk meneruskan semua nilai kolom saat runtime, dan nilai diwakili oleh string yang diatur untuk opsi ini. Dalam contoh ini, tanda bintang ditetapkan sebagai kecocokan semua string.
Setelah kami menentukan tag kami, kami dapat mengaktifkan atau menonaktifkan aturan ini menggunakan Status
elemen API. Dalam hal ini nilainya diatur ke ENABLED
. Untuk menonaktifkan aturan, nilainya adalah DISABLED
. Setelah tag diaktifkan, kami dapat meneruskan nilai ke tag saat runtime untuk mengamankan data yang ditampilkan berdasarkan siapa yang mengakses dasbor.
Setiap kumpulan data dapat memiliki hingga 50 kunci tag.
Kami menerima tanggapan berikut untuk CreateDataset
or UpdateDataset
Lebah:
Izinkan penulis untuk mengakses data yang dilindungi oleh kunci tag saat menulis analisis
Setelah kunci tag disetel dan diaktifkan pada kumpulan data, itu diamankan. Penulis saat menggunakan kumpulan data ini untuk membuat dasbor tidak melihat data apa pun. Mereka harus diberi izin untuk melihat data apa pun dalam kumpulan data saat membuat dasbor. Untuk memberikan izin kepada penulis QuickSight untuk melihat data dalam kumpulan data, buat file izin atau kumpulan data aturan. Untuk informasi lebih lanjut, lihat Membuat Aturan Set Data untuk Keamanan Tingkat Baris. Berikut ini adalah contoh aturan dataset.
UserName | nama_kolom_1 | nama_kolom_2 | nama_kolom_3 |
admin/penulis sampel |
Dalam kumpulan data sampel ini, kami memiliki nama pengguna penulis yang tercantum di kolom Nama Pengguna. Tiga kolom lainnya adalah kolom dari kumpulan data tempat kami menetapkan kunci tag. Nilai dibiarkan kosong untuk kolom ini untuk penulis yang ditambahkan ke tabel ini. Ini memungkinkan penulis untuk melihat semua data dalam kolom ini tanpa batasan apa pun saat mereka membuat analisis.
Tetapkan nilai ke kunci tag saat runtime saat menyematkan dasbor
Setelah kunci tag disetel untuk kolom kumpulan data, pengembang menetapkan nilai ke kunci saat runtime saat menyematkan dasbor. Pengembang memanggil API GenerateDashboardEmbedURLForAnonymousUser
untuk menyematkan dasbor dan meneruskan nilai ke kunci tag di elemen SessionTags
, seperti yang ditunjukkan pada contoh kode berikut:
Karena fitur ini mengamankan data untuk pengguna yang tidak disediakan di QuickSight, panggilan API ditujukan untuk AnonymousUser
saja dan karena itu fitur ini hanya berfungsi dengan API GenerateDashboardEmbedURLForAnonymousUser
.
Kode contoh sebelumnya memiliki komponen berikut:
- Untuk
tag_name_1
, Anda menetapkan dua nilai (value1
danvalue2
) menggunakanTagMultiValueDelimiter
ditentukan saat mengatur kunci tag (dalam hal ini, koma). - Untuk
tag_name_2
, Anda menetapkan satu nilai sebagai tanda bintang. Ini memungkinkan kunci tag ini memiliki semua nilai untuk kolom yang ditetapkan karena kami mendefinisikan asterisk sebagaiMatchAllValue
saat menyetel kunci tag pada kolom tadi. - Untuk
tag_name_3
, Anda menetapkan satu nilai (value3
).
Definisi respons API
Tanggapan API memiliki EmbedURL
, Status
, dan RequestID
. Anda dapat menyematkan URL ini di halaman HTML Anda. Data di dasbor ini diamankan berdasarkan nilai yang diteruskan ke kunci tag saat memanggil API penyematan GenerateDashboardEmbedURLForAnonymousUser
:
- SematkanUrl (string) – URL sekali pakai yang dapat Anda masukkan ke halaman web sisi server untuk menyematkan dasbor Anda. URL ini berlaku selama 5 menit. Operasi API menyediakan URL dengan
auth_code
nilai yang memungkinkan satu (dan hanya satu) sign-on ke sesi pengguna yang valid hingga 10 jam. URL ini merender dasbor dengan aturan RLS yang diterapkan berdasarkan nilai yang ditetapkan untuk kunci tag RLS. - Status (bilangan bulat) – Status HTTP permintaan.
- PermintaanId (string) – ID permintaan AWS untuk operasi ini.
Kontrol akses berbutir halus
Anda dapat mencapai kontrol akses berbutir halus dengan menggunakan dinamis Identitas AWS dan Manajemen Akses (IAM) pembuatan kebijakan. Untuk informasi lebih lanjut, lihat Mengisolasi Penyewa SaaS dengan Kebijakan IAM yang Dihasilkan Secara Dinamis. Saat menggunakan GenerateEmbedUrlForAnonymousUser
API untuk penyematan, Anda perlu menyebutkan dua jenis sumber daya dalam kebijakan IAM: namespace ARN milik pengguna anonim Anda secara virtual, dan ARN dasbor yang dapat digunakan di AuthorizedResourceArns
nilai parameter masukan. Sesi yang dihasilkan menggunakan API ini dapat mengakses sumber daya resmi dan yang (dashboard) dibagikan dengan namespace.
Karena pengguna anonim adalah bagian dari namespace, semua dasbor yang dibagikan dengan namespace dapat diakses oleh mereka, terlepas dari apakah mereka diteruskan secara eksplisit melalui AuthorizedResourceArns
parameter.
Untuk mengizinkan identitas penelepon menghasilkan URL untuk setiap pengguna dan dasbor apa pun, the Resource
blok kebijakan dapat diatur ke *
. Untuk memungkinkan identitas penelepon menghasilkan URL untuk setiap pengguna anonim di ruang nama tertentu (seperti Tenant1
), Yang Resource
bagian dari kebijakan dapat diatur untuk arn:aws:quicksight:us-east-1:<YOUR_AWS_ACCOUNT_ID>:namespace/Tenant1
. Ini sama untuk ID dasbor. Untuk pembuatan kebijakan dinamis, Anda juga dapat menggunakan placeholder untuk namespace dan pengguna.
Kode berikut adalah contoh kebijakan IAM:
Gunakan kasing
OkTank adalah ISV di ruang perawatan kesehatan. Mereka memiliki aplikasi SaaS yang digunakan oleh berbagai rumah sakit di berbagai wilayah negara untuk mengelola pendapatan mereka. OkTank memiliki ribuan karyawan layanan kesehatan yang mengakses aplikasi mereka dan telah menyematkan operasi terkait bisnis mereka di dasbor QuickSight di aplikasi mereka. OkTank tidak ingin mengelola penggunanya di QuickSight secara terpisah, dan ingin mengamankan data berdasarkan pengguna dari rumah sakit mana yang mengakses aplikasi mereka. OkTank mengamankan data di dasbor saat runtime menggunakan keamanan tingkat baris menggunakan tag.
OkTank memiliki rumah sakit (Rumah Sakit Utara, Rumah Sakit Selatan, dan Rumah Sakit Pusat Kota) di wilayah Tengah, Timur, Selatan, dan Barat.
Dalam contoh ini, pengguna berikut mengakses aplikasi OkTank dan dasbor tersemat. Setiap pengguna memiliki tingkat aturan pembatasan tertentu yang menentukan data apa yang dapat mereka akses di dasbor. PowerUser
adalah pengguna super yang dapat melihat data untuk semua rumah sakit dan wilayah.
Pengguna aplikasi OkTank | Rumah sakit | Daerah |
Pengguna Utara | Rumah Sakit Utara | Tengah dan Timur |
Admin Utara | Rumah Sakit Utara | Semua wilayah |
Pengguna Selatan | RSUD Selatan | Selatan |
Admin Selatan | RSUD Selatan | Semua wilayah |
pengguna kekuatan | Semua rumah sakit | Semua wilayah |
Tak satu pun dari pengguna ini yang disediakan di QuickSight. OkTank mengelola pengguna ini dalam aplikasinya sendiri dan oleh karena itu mengetahui wilayah dan rumah sakit mana yang dimiliki setiap pengguna. Ketika salah satu dari pengguna ini mengakses dasbor QuickSight yang disematkan di aplikasi, OkTank harus mengamankan data di dasbor sehingga pengguna hanya dapat melihat data untuk wilayah dan rumah sakit mereka.
Pertama, OkTank membuat kunci tag pada kumpulan data yang mereka gunakan untuk menyalakan dasbor. Dalam mereka UpdateDataset
panggilan API, itu RowLevelPermissionTagConfiguration
elemen pada dataset adalah sebagai berikut:
Kedua, saat runtime saat menyematkan dasbor melalui GenerateDashboardEmbedURLForAnonymousUser
API, mereka mengatur SessionTags
untuk setiap pengguna.
SessionTags
untuk NorthUser
dalam GenerateDashboardEmbedURLForAnonymousUser
Panggilan API adalah sebagai berikut:
SessionTags
untuk NorthAdmin
adalah sebagai berikut:
SessionTags
untuk SouthUser
adalah sebagai berikut:
SessionTags
untuk SouthAdmin
adalah sebagai berikut:
SessionTags
untuk PowerUser
adalah sebagai berikut:
Tangkapan layar berikut menunjukkan apa SouthUser
melihat yang berkaitan dengan Rumah Sakit Selatan di wilayah Selatan.
Tangkapan layar berikut menunjukkan apa SouthAdmin
melihat yang berkaitan dengan Rumah Sakit Selatan di semua wilayah.
Tangkapan layar berikut menunjukkan apa PowerUser
melihat berkaitan dengan semua rumah sakit di semua daerah.
Berdasarkan tag sesi, OkTank telah mengamankan data di dasbor tertanam sedemikian rupa sehingga setiap pengguna hanya melihat data tertentu berdasarkan aksesnya. Kamu bisa mengakses dasbor sebagai salah satu pengguna (dengan mengubah pengguna di menu tarik-turun di kanan atas) dan lihat bagaimana data berubah berdasarkan pengguna yang dipilih.
Secara keseluruhan, dengan keamanan tingkat baris menggunakan tag, OkTank mampu memberikan pengalaman analitik yang menarik dalam aplikasi SaaS mereka, sekaligus memastikan bahwa setiap pengguna hanya melihat data yang sesuai tanpa harus menyediakan dan mengelola pengguna di QuickSight. QuickSight menyediakan opsi analitik yang sangat skalabel dan aman yang dapat Anda atur dan luncurkan ke produksi dalam hitungan hari, bukan minggu atau bulan sebelumnya.
Kesimpulan
Kombinasi penyematan dasbor untuk pengguna yang tidak tersedia di QuickSight dan keamanan tingkat baris menggunakan tag memungkinkan pengembang dan ISV dengan cepat dan mudah menyiapkan analitik yang disesuaikan dan canggih untuk pengguna aplikasi mereka—semuanya tanpa penyiapan atau pengelolaan infrastruktur apa pun sembari menskalakan ke jutaan pengguna . Untuk pembaruan lainnya dari Analitik tersemat QuickSight, Lihat Apa yang Baru di Panduan Pengguna Amazon QuickSight.
Tentang Penulis
Raji Sivasubramaniam adalah Arsitek Solusi Spesialis di AWS, dengan fokus pada Analytics. Raji memiliki pengalaman selama 20 tahun dalam merancang solusi Enterprise Data Management, Business Intelligence, dan Analytics end-to-end untuk perusahaan Fortune 500 dan Fortune 100 di seluruh dunia. Dia memiliki pengalaman mendalam dalam data dan analitik perawatan kesehatan terintegrasi dengan beragam kumpulan data perawatan kesehatan termasuk pasar terkelola, penargetan dokter, dan analitik pasien. Di waktu luangnya, Raji menikmati hiking, yoga, dan berkebun.
Srikanth Baheti adalah Arsitek Solusi Sr. Seluruh Dunia Khusus untuk Amazon QuickSight. Dia memulai karirnya sebagai konsultan dan bekerja untuk beberapa organisasi swasta dan pemerintah. Kemudian dia bekerja untuk PerkinElmer Health and Sciences & eResearch Technology Inc, di mana dia bertanggung jawab untuk merancang dan mengembangkan aplikasi web dengan lalu lintas tinggi, saluran data yang sangat skalabel dan dapat dipelihara untuk platform pelaporan menggunakan layanan AWS dan komputasi Tanpa Server.
Karim Syed-Mohammed adalah Manajer Produk di Amazon QuickSight. Dia berfokus pada analitik tersemat, API, dan pengalaman pengembang. Sebelum QuickSight, dia telah bekerja di AWS Marketplace dan Amazon retail sebagai PM. Kareem memulai karirnya sebagai pengembang dan kemudian menjadi PM untuk teknologi pusat panggilan, Pakar Lokal, dan Iklan untuk Expedia. Dia bekerja sebagai konsultan dengan McKinsey and Company untuk sementara waktu.
- '
- "
- &
- 000
- 100
- 11
- mengakses
- Akun
- Tindakan
- iklan
- Semua
- Amazon
- analisis
- api
- Lebah
- aplikasi
- Aplikasi
- aplikasi
- aplikasi
- penulis
- AWS
- membangun
- bisnis
- intelijen bisnis
- panggilan
- Kapasitas
- Lowongan Kerja
- kode
- Kolom
- Perusahaan
- perusahaan
- komputasi
- konsultan
- pelanggan
- dasbor
- data
- manajemen data
- Pengembang
- pengembang
- Pusat kota
- karyawan
- Enterprise
- pengalaman
- FAST
- Fitur
- Pemerintah
- Kesehatan
- kesehatan
- di sini
- High
- mendaki
- Rumah sakit
- rumah sakit
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTTPS
- IAM
- identitas
- Termasuk
- informasi
- Infrastruktur
- Intelijen
- interaktif
- IT
- kunci
- kunci-kunci
- Tingkat
- lokal
- Membuat
- pengelolaan
- Pasar
- pasar
- Cocok
- bulan
- Fitur baru
- utara
- Operasi
- pilihan
- Lainnya
- prestasi
- dokter
- Platform
- kebijaksanaan
- kekuasaan
- swasta
- Produk
- Produksi
- sumber
- Sumber
- tanggapan
- eceran
- pendapatan
- Menggulung
- aturan
- SaaS
- skala
- ILMU PENGETAHUAN
- keamanan
- melihat
- terpilih
- Tanpa Server
- Layanan
- set
- pengaturan
- Share
- berbagi
- Pendek
- Situs
- So
- Perangkat lunak
- Solusi
- Selatan
- Space
- mulai
- Pernyataan
- Status
- Teknologi
- Teknologi
- waktu
- puncak
- lalu lintas
- Pembaruan
- Pengguna
- nilai
- jaringan
- aplikasi web
- Barat
- SIAPA
- dalam
- alur kerja
- bekerja
- dunia
- tahun
- Yoga