Memulai dengan mode izin standar di Amazon QLDB - Database Buku Besar Amazon Quantum (AmazonQLDB)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan mode izin standar di Amazon QLDB

Gunakan bagian ini untuk memulai mode izin standar di AmazonQLDB. Bagian ini menyediakan tabel referensi untuk membantu Anda saat menulis kebijakan berbasis identitas di AWS Identity and Access Management () IAM untuk tindakan PartiQL dan sumber daya tabel di. QLDB Ini juga mencakup step-by-step tutorial untuk membuat kebijakan izin diIAM, dan instruksi untuk menemukan tabel ARN dan membuat tag tabel diQLDB.

STANDARDMode izin

QLDBsekarang mendukung mode STANDARD izin untuk sumber daya buku besar. Mode izin standar memungkinkan kontrol akses dengan perincian yang lebih halus untuk buku besar, tabel, dan perintah PartiQL. Secara default, mode ini menolak semua permintaan untuk menjalankan perintah PartiQL pada tabel apa pun dalam buku besar.

catatan

Sebelumnya, satu-satunya mode izin yang tersedia untuk buku besar adalah. ALLOW_ALL ALLOW_ALLMode ini memungkinkan kontrol akses dengan granularitas API tingkat untuk buku besar, dan terus didukung — tetapi tidak direkomendasikan — untuk buku besar. QLDB Mode ini memungkinkan pengguna yang memiliki SendCommand API izin untuk menjalankan semua perintah PartiQL pada tabel apa pun di buku besar yang ditentukan oleh kebijakan izin (karenanya, “izinkan semua” perintah PartiQL).

Anda dapat mengubah mode izin buku besar yang ada dari ALLOW_ALL ke. STANDARD Untuk informasi, lihat Migrasi ke mode izin standar.

Untuk mengizinkan perintah dalam mode standar, Anda harus membuat kebijakan izin IAM untuk sumber daya tabel tertentu dan tindakan PartiQL. Ini selain SendCommand API izin untuk buku besar. Untuk memfasilitasi kebijakan dalam mode ini, QLDB memperkenalkan serangkaian IAM tindakan untuk perintah PartiQL, dan Amazon Resource Names ARNs () untuk tabel. QLDB Untuk informasi selengkapnya tentang model objek QLDB data, lihatKonsep inti dan terminologi di Amazon QLDB.

Referensi izin PartiQL

Tabel berikut mencantumkan setiap QLDB perintah PartiQL, tindakan IAM terkait yang harus Anda berikan izin untuk menjalankan perintah, dan AWS sumber daya yang dapat Anda berikan izin. Anda menentukan tindakan dalam bidang Action kebijakan, dan Anda menentukan nilai sumber daya pada bidang Resource kebijakan.

penting
  • IAMkebijakan yang memberikan izin untuk perintah PartiQL ini hanya berlaku untuk buku besar Anda jika mode izin ditetapkan STANDARD ke buku besar. Kebijakan tersebut tidak berlaku untuk buku besar dalam mode ALLOW_ALL izin.

    Untuk mempelajari cara menentukan mode izin saat Anda membuat atau memperbarui buku besar, lihatOperasi dasar untuk QLDB buku besar Amazon, atau Langkah 1: Buat buku besar baru di Memulai konsol.

  • Untuk menjalankan perintah PartiQL pada buku besar, Anda juga harus memberikan izin untuk tindakan untuk SendCommand API sumber daya buku besar. Ini adalah tambahan untuk tindakan PartiQL dan sumber daya tabel yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Menjalankan transaksi data.

Perintah Amazon QLDB PartiQL dan izin yang diperlukan
Perintah Izin yang diperlukan (IAMtindakan) Sumber daya Tindakan bergantung
CREATE TABLE qldb:PartiQLCreateTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/*

qldb:TagResource(untuk menandai pada pembuatan)
DROP TABLE qldb:PartiQLDropTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

UNDROP TABLE qldb:PartiQLUndropTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

CREATE INDEX qldb:PartiQLCreateIndex

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

DROP INDEX qldb:PartiQLDropIndex

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

DELETE qldb:PartiQLDelete

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

qldb:PartiQLSelect
FROM- REMOVE (untuk seluruh dokumen)
INSERT qldb:PartiQLInsert

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

UPDATE qldb:PartiQLUpdate

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

qldb:PartiQLSelect
FROM(INSERT,REMOVE, atauSET)
REDACT_REVISION(prosedur tersimpan) qldb:PartiQLRedact

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

SELECTFROMtable_name

qldb:PartiQLSelect

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

SELECTFROMinformation_schema.user_tables

qldb:PartiQLSelect

arn:aws:qldb:region:account-id:ledger/ledger-name/information_schema/user_tables

SELECTFROMsejarah (table_name)

qldb:PartiQLHistoryFunction

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

Untuk contoh dokumen IAM kebijakan yang memberikan izin untuk perintah PartiQL ini, lanjutkan ke atau lihat. Tutorial mulai cepat: Membuat kebijakan izin Contoh kebijakan berbasis identitas untuk Amazon QLDB

Menemukan ID tabel dan ARN

Anda dapat menemukan ID tabel dengan menggunakan AWS Management Console atau dengan menanyakan tabel information_schema.user_tables. Untuk melihat detail tabel di konsol, atau untuk menanyakan tabel katalog sistem ini, Anda harus memiliki SELECT izin pada sumber daya katalog sistem. Misalnya, untuk menemukan ID tabel Vehicle tabel, Anda dapat menjalankan pernyataan berikut.

SELECT * FROM information_schema.user_tables WHERE name = 'Vehicle'

Query ini mengembalikan hasil dalam format yang mirip dengan contoh berikut.

{ tableId: "Au1EiThbt8s0z9wM26REZN", name: "Vehicle", indexes: [ { indexId: "Djg2nt0yIs2GY0T29Kud1z", expr: "[VIN]", status: "ONLINE" }, { indexId: "4tPW3fUhaVhDinRgKRLhGU", expr: "[LicensePlateNumber]", status: "BUILDING" } ], status: "ACTIVE" }

Untuk memberikan izin untuk menjalankan pernyataan PartiQL pada tabel, Anda menentukan sumber daya tabel dalam format berikut. ARN

arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}

Berikut ini adalah contoh tabel ARN untuk ID tabelAu1EiThbt8s0z9wM26REZN.

arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN

Anda juga dapat menggunakan QLDB konsol untuk menemukan tabelARN.

Untuk menemukan tabel (konsol) ARN
  1. Masuk ke AWS Management Console, dan buka QLDB konsol Amazon di https://console.aws.amazon.com/qldb.

  2. Di panel navigasi, pilih Buku Besar.

  3. Dalam daftar Buku Besar, pilih nama buku besar yang tabelnya ingin ARN Anda temukan.

  4. Pada halaman detail buku besar, di bawah tab Tabel, cari nama tabel yang ingin ARN Anda temukan. Untuk menyalinARN, pilih ikon salin ( Copy icon. ) di sebelahnya.

Menandai tabel

Anda dapat menandai sumber daya tabel Anda. Untuk mengelola tag untuk tabel yang ada, gunakan AWS Management Console atau API operasiTagResource,UntagResource, danListTagsForResource. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon QLDB.

catatan

Sumber daya tabel tidak mewarisi tag sumber daya buku besar root mereka.

Menandai tabel pada pembuatan saat ini didukung untuk buku besar dalam mode STANDARD izin saja.

Anda juga dapat menentukan tag tabel saat Anda membuat tabel dengan menggunakan QLDB konsol atau dengan menentukannya dalam pernyataan CREATE TABLE PartiQL. Contoh berikut membuat tabel bernama Vehicle dengan tagenvironment=production.

CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)

Menandai tabel pada pembuatan membutuhkan akses ke qldb:TagResource tindakan qldb:PartiQLCreateTable dan tindakan.

Dengan menandai sumber daya saat sedang dibuat, Anda dapat menghilangkan kebutuhan untuk menjalankan skrip penandaan khusus setelah pembuatan sumber daya. Setelah tabel ditandai, Anda dapat mengontrol akses ke tabel berdasarkan tag tersebut. Misalnya, Anda dapat memberikan akses penuh hanya ke tabel yang memiliki tag tertentu. Untuk contoh JSON kebijakan, lihatAkses penuh ke semua tindakan berdasarkan tag tabel.

Anda juga dapat menggunakan QLDB konsol untuk menentukan tag tabel saat Anda membuat tabel.

Untuk menandai tabel pada pembuatan (konsol)
  1. Masuk ke AWS Management Console, dan buka QLDB konsol Amazon di https://console.aws.amazon.com/qldb.

  2. Di panel navigasi, pilih Buku Besar.

  3. Dalam daftar Buku Besar, pilih nama buku besar yang ingin Anda buat tabel.

  4. Pada halaman detail buku besar, di bawah tab Tabel, pilih Buat tabel.

  5. Pada halaman Buat tabel, lakukan hal berikut:

    • Nama tabel - Masukkan nama tabel.

    • Tag - Tambahkan metadata ke tabel dengan melampirkan tag sebagai pasangan kunci-nilai. Anda dapat menambahkan tag ke tabel Anda untuk membantu mengatur dan mengidentifikasi mereka.

      Pilih Tambahkan tag, lalu masukkan pasangan nilai kunci apa pun yang sesuai.

  6. Jika pengaturan sudah sesuai keinginan Anda, pilih Buat tabel.

Tutorial mulai cepat: Membuat kebijakan izin

Tutorial ini memandu Anda melalui langkah-langkah untuk membuat kebijakan izin IAM untuk QLDB buku besar Amazon dalam mode STANDARD izin. Anda kemudian dapat menetapkan izin untuk pengguna, grup, atau peran Anda.

Untuk lebih banyak contoh dokumen IAM kebijakan yang memberikan izin ke perintah PartiQL dan sumber tabel, lihat. Contoh kebijakan berbasis identitas untuk Amazon QLDB

Prasyarat

Sebelum memulai, pastikan Anda melakukan hal berikut:

  1. Ikuti petunjuk AWS pengaturan diMengakses Amazon QLDB, jika Anda belum melakukannya. Langkah-langkah ini termasuk mendaftar AWS dan membuat pengguna administratif.

  2. Buat buku besar baru dan pilih mode STANDARD izin untuk buku besar. Untuk mempelajari caranya, lihat Langkah 1: Buat buku besar baru di Memulai dengan konsol, atauOperasi dasar untuk QLDB buku besar Amazon.

Membuat kebijakan hanya-baca

Untuk menggunakan editor JSON kebijakan untuk membuat kebijakan hanya-baca untuk semua tabel dalam buku besar dalam mode izin standar, lakukan hal berikut:

  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Di kolom navigasi di sebelah kiri, pilih Kebijakan.

    Jika ini pertama kalinya Anda memilih Kebijakan, akan muncul laman Selamat Datang di Kebijakan Terkelola. Pilih Memulai.

  3. Di bagian atas halaman, pilih Buat kebijakan.

  4. Pilih JSONtab.

  5. Salin dan tempel dokumen JSON kebijakan berikut. Kebijakan contoh ini memberikan akses hanya-baca ke semua tabel dalam buku besar.

    Untuk menggunakan kebijakan ini, ganti us-east-1, 123456789012, dan myExampleLedger dalam contoh dengan informasi Anda sendiri.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ] } ] }
  6. Pilih Tinjau kebijakan.

    catatan

    Anda dapat beralih antara editor Visual dan JSONtab kapan saja. Namun, jika Anda membuat perubahan atau memilih Kebijakan tinjauan di tab Editor visual, IAM mungkin merestrukturisasi kebijakan Anda untuk mengoptimalkannya untuk editor visual. Untuk informasi selengkapnya, lihat Restrukturisasi kebijakan di IAMPanduan Pengguna.

  7. Pada halaman Peninjauan Kebijakan, ketikkan Nama dan Deskripsi opsional untuk kebijakan yang sedang Anda buat. Tinjau Summary (Ringkasan) kebijakan untuk melihat izin yang diberikan oleh kebijakan Anda. Kemudian pilih Buat kebijakan untuk menyimpan pekerjaan Anda.

Membuat kebijakan akses penuh

Untuk membuat kebijakan akses penuh untuk semua tabel dalam QLDB buku besar dalam mode izin standar, lakukan hal berikut:

  • Ulangi langkah sebelumnya menggunakan dokumen kebijakan berikut. Kebijakan contoh ini memberikan akses ke semua perintah PartiQL untuk semua tabel dalam buku besar, dengan menggunakan wildcard (*) untuk mencakup semua tindakan PartiQL dan semua sumber daya di bawah buku besar.

    Awas

    Ini adalah contoh penggunaan karakter wildcard (*) untuk memungkinkan semua tindakan PartiQL, termasuk operasi administratif dan baca/tulis pada semua tabel dalam buku besar. QLDB Sebaliknya, ini adalah praktik terbaik untuk secara eksplisit menentukan setiap tindakan yang akan diberikan, dan hanya apa yang dibutuhkan pengguna, peran, atau grup itu.

    Untuk menggunakan kebijakan ini, ganti us-east-1, 123456789012, dan myExampleLedger dalam contoh dengan informasi Anda sendiri.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLFullPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQL*" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ] } ] }

Membuat kebijakan hanya-baca untuk tabel tertentu

Untuk membuat kebijakan akses hanya-baca untuk tabel tertentu dalam QLDB buku besar dalam mode izin standar, lakukan hal berikut:

  1. ARNTemukan tabel dengan menggunakan AWS Management Console atau dengan menanyakan tabel information_schema.user_tables katalog sistem. Untuk petunjuk, silakan lihat Menemukan ID tabel dan ARN.

  2. Gunakan tabel ARN untuk membuat kebijakan yang memungkinkan akses hanya-baca ke tabel. Untuk melakukan ini, ulangi langkah-langkah sebelumnya menggunakan dokumen kebijakan berikut.

    Kebijakan contoh ini memberikan akses hanya-baca ke tabel yang ditentukan saja. Dalam contoh ini, ID tabel adalahAu1EiThbt8s0z9wM26REZN. Untuk menggunakan kebijakan ini, ganti us-east-1, 123456789012, myExampleLedger, dan Au1EiThbt8s0z9wM26REZN dalam contoh dengan informasi Anda sendiri.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN" ] } ] }

Menetapkan izin

Setelah membuat kebijakan QLDB izin, Anda kemudian menetapkan izin sebagai berikut.

Untuk memberikan akses, menambahkan izin ke pengguna, grup, atau peran Anda: