Memulai dengan mode izin standar di Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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 Amazon QLDB. 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 di IAM, dan instruksi untuk menemukan tabel ARN dan membuat tag tabel di QLDB.

STANDARDMode izin

QLDB sekarang mendukung mode izin untuk sumber STANDARD 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 perincian tingkat API untuk buku besar, dan terus didukung — tetapi tidak direkomendasikan — untuk buku besar QLDB. Mode ini memungkinkan pengguna yang memiliki izin SendCommand API 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 di IAM untuk sumber daya tabel tertentu dan tindakan PartiQL. Ini merupakan tambahan dari izin SendCommand API untuk buku besar. Untuk memfasilitasi kebijakan dalam mode ini, QLDB memperkenalkan serangkaian tindakan IAM untuk perintah PartiQL, dan Nama Sumber Daya Amazon (ARN) untuk tabel QLDB. Untuk informasi selengkapnya tentang model objek data QLDB, lihat. Konsep inti dan terminologi di Amazon QLDB

Referensi izin PartiQL

Tabel berikut mencantumkan setiap perintah QLDB PartiQL, tindakan IAM terkait yang harus Anda berikan izin untuk menjalankan perintah, AWS dan 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
  • Kebijakan IAM yang memberikan izin untuk perintah PartiQL ini hanya berlaku untuk buku besar Anda jika mode STANDARD izin ditetapkan 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 buku besar Amazon QLDB, atau Langkah 1: Membuat buku besar baru di Memulai konsol.

  • Untuk menjalankan perintah PartiQL pada buku besar, Anda juga harus memberikan izin untuk tindakan API untuk sumber daya SendCommand 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 (tindakan IAM) Sumber daya Tindakan bergantung
CREATE TABLE qldb:PartiQLCreateTable

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

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

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

TABEL UNDROP 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

HAPUS qldb:PartiQLDelete

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

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

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

PERBARUI qldb:PartiQLUpdate

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

qldb:PartiQLSelect
DARI (INSERT, HAPUS, atau SET)
REDACT_REVISI(prosedur tersimpan) qldb:PartiQLRedact

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

PILIH DARI table_name

qldb:PartiQLSelect

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

PILIH DARI information_schema.user_tables

qldb:PartiQLSelect

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

PILIH DARI riwayat (table_name)

qldb:PartiQLHistoryFunction

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

Untuk contoh dokumen kebijakan IAM 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 ARN berikut.

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

Berikut ini adalah contoh dari tabel ARN untuk ID tabel. Au1EiThbt8s0z9wM26REZN

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

Anda juga dapat menggunakan konsol QLDB untuk menemukan tabel ARN.

Untuk menemukan ARN tabel (konsol)
  1. Masuk ke AWS Management Console, dan buka konsol QLDB 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 ARN ingin Anda temukan.

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

Menandai tabel

Anda dapat menandai sumber daya tabel Anda. Untuk mengelola tag untuk tabel yang ada, gunakan operasi AWS Management Console atau API TagResourceUntagResource, danListTagsForResource. Untuk informasi selengkapnya, lihat Pemberian tag pada 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 konsol QLDB atau dengan menentukannya dalam pernyataan PartiQL. CREATE TABLE 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 kebijakan JSON, lihatAkses penuh ke semua tindakan berdasarkan tag tabel.

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

Untuk menandai tabel pada pembuatan (konsol)
  1. Masuk ke AWS Management Console, dan buka konsol QLDB 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 di IAM untuk buku besar QLDB Amazon dalam mode izin. STANDARD Anda kemudian dapat menetapkan izin untuk pengguna, grup, atau peran Anda.

Untuk lebih banyak contoh dokumen kebijakan IAM 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: Membuat buku besar baru di Memulai dengan konsol, atauOperasi dasar untuk buku besar Amazon QLDB.

Membuat kebijakan hanya-baca

Untuk menggunakan editor kebijakan JSON 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 konsol IAM 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 tab JSON.

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

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

    { "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 berpindah antara tab Editor visual dan JSON kapan pun. Namun, apabila Anda melakukan perubahan atau memilih Tinjau kebijakan pada tab Editor visual, IAM dapat merestrukturisasi kebijakan Anda untuk menjadikannya optimal bagi editor visual. Untuk informasi selengkapnya, lihat Restrukturisasi kebijakan dalam Panduan Pengguna IAM.

  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 buku besar QLDB 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 dalam contoh dengan informasi Anda sendiri. myExampleLedger

    { "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 buku besar QLDB dalam mode izin standar, lakukan hal berikut:

  1. Temukan ARN untuk tabel dengan menggunakan AWS Management Console atau dengan menanyakan tabel katalog sistem. information_schema.user_tables Untuk petunjuk, 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,, dan Au1 8S0Z9WM26Rezn dalam contoh dengan informasi Anda myExampleLedgersendiri. EiThbt

    { "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 izin QLDB, Anda kemudian menetapkan izin sebagai berikut.

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