Grup Keamanan | Buat (Review Diperlukan) - Referensi Jenis Perubahan Lanjutan AMS

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

Grup Keamanan | Buat (Review Diperlukan)

Buat grup keamanan, dan kaitkan secara opsional dengan sumber daya AWS.

Klasifikasi lengkap: Penerapan | Komponen tumpukan tingkat lanjut | Grup keamanan | Buat (ulasan diperlukan)

Ubah Detail Jenis

Ubah tipe ID

ct-1oxx2g2d7hc90

Versi saat ini

2.0

Durasi eksekusi yang diharapkan

240 menit

Persetujuan AWS

Wajib

Persetujuan pelanggan

Tidak diperlukan jika pengirim

Mode eksekusi

Manual

Informasi tambahan

Buat grup keamanan (diperlukan tinjauan)

Tangkapan layar dari jenis perubahan ini di konsol AMS:

Interface for creating a security group with ID, execution mode, version, and description.

Cara kerjanya:

  1. Arahkan ke halaman Buat RFC: Di panel navigasi kiri konsol AMS klik RFCsuntuk membuka halaman RFCs daftar, lalu klik Buat RFC.

  2. Pilih jenis perubahan populer (CT) dalam tampilan default Jelajahi jenis perubahan, atau pilih CT dalam tampilan Pilih menurut kategori.

    • Jelajahi berdasarkan jenis perubahan: Anda dapat mengklik CT populer di area Buat cepat untuk segera membuka halaman Jalankan RFC. Perhatikan bahwa Anda tidak dapat memilih versi CT yang lebih lama dengan pembuatan cepat.

      Untuk mengurutkan CTs, gunakan area Semua jenis perubahan dalam tampilan Kartu atau Tabel. Di kedua tampilan, pilih CT dan kemudian klik Buat RFC untuk membuka halaman Jalankan RFC. Jika berlaku, opsi Buat dengan versi yang lebih lama muncul di sebelah tombol Buat RFC.

    • Pilih berdasarkan kategori: Pilih kategori, subkategori, item, dan operasi dan kotak detail CT terbuka dengan opsi untuk Membuat dengan versi yang lebih lama jika berlaku. Klik Buat RFC untuk membuka halaman Jalankan RFC.

  3. Pada halaman Run RFC, buka area nama CT untuk melihat kotak detail CT. Subjek diperlukan (ini diisi untuk Anda jika Anda memilih CT Anda di tampilan jenis perubahan Jelajahi). Buka area konfigurasi tambahan untuk menambahkan informasi tentang RFC.

    Di area konfigurasi Eksekusi, gunakan daftar drop-down yang tersedia atau masukkan nilai untuk parameter yang diperlukan. Untuk mengkonfigurasi parameter eksekusi opsional, buka area konfigurasi tambahan.

  4. Setelah selesai, klik Jalankan. Jika tidak ada kesalahan, halaman RFC berhasil dibuat ditampilkan dengan detail RFC yang dikirimkan, dan output Run awal.

  5. Buka area parameter Jalankan untuk melihat konfigurasi yang Anda kirimkan. Segarkan halaman untuk memperbarui status eksekusi RFC. Secara opsional, batalkan RFC atau buat salinannya dengan opsi di bagian atas halaman.

Cara kerjanya:

  1. Gunakan Inline Create (Anda mengeluarkan create-rfc perintah dengan semua RFC dan parameter eksekusi disertakan), atau Template Create (Anda membuat dua file JSON, satu untuk parameter RFC dan satu untuk parameter eksekusi) dan mengeluarkan create-rfc perintah dengan dua file sebagai input. Kedua metode tersebut dijelaskan di sini.

  2. Kirim aws amscm submit-rfc --rfc-id ID perintah RFC: dengan ID RFC yang dikembalikan.

    Pantau aws amscm get-rfc --rfc-id ID perintah RFC:.

Untuk memeriksa versi jenis perubahan, gunakan perintah ini:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
catatan

Anda dapat menggunakan CreateRfc parameter apa pun dengan RFC apa pun apakah itu bagian dari skema untuk jenis perubahan atau tidak. Misalnya, untuk mendapatkan pemberitahuan ketika status RFC berubah, tambahkan baris ini, --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" ke bagian parameter RFC dari permintaan (bukan parameter eksekusi). Untuk daftar semua CreateRfc parameter, lihat Referensi AMS Change Management API.

BUAT SEBARIS:

Keluarkan perintah create RFC dengan parameter eksekusi yang disediakan sebaris (tanda kutip saat memberikan parameter eksekusi sebaris), lalu kirimkan ID RFC yang dikembalikan. Misalnya, Anda dapat mengganti konten dengan sesuatu seperti ini:

aws --profile saml amscm create-rfc --change-type-id "ct-1oxx2g2d7hc90" --change-type-version "2.0" --title "Test-SG-RR" --execution-parameters "{\"Description\":\"Test-SG-RR\", \"Name\":\"Test-SG-IC\", \"InboundRules\":{\"Protocol\":\"TCP\", \"PortRange\":\"49152-65535\, \"Source\":\"203.0.113.5/32\"}, \"OutboundRules\":{\"Protocol\":\"TCP\", \"PortRange\":\"49152-65535\, \"Destination\":\"203.0.113.5/32\"}}"

TEMPLATE MEMBUAT:

  1. Output parameter eksekusi skema JSON untuk jenis perubahan ini ke file; contoh ini menamainya CreateSgRrParams .json.

    aws amscm get-change-type-version --change-type-id "ct-1oxx2g2d7hc90" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateSgRrParams.json
  2. Ubah dan simpan CreateSgRrParams file. Misalnya, Anda dapat mengganti konten dengan sesuatu seperti ini:

    { "Description": "SG-Create-With-Review", "Name": "My-SG", "VpcId": "vpc-12345abc", "InboundRules": { "Protocol": "TRAFFIC_PROTOCOL", "PortRange": "PORT_RANGE", "Source": "TRAFFIC_SOURCE" }, "OutboundRules": { "Protocol": "TRAFFIC_PROTOCOL", "PortRange": "PORT_RANGE", "Destination": "TRAFFIC_DESTINATION" } }
  3. Keluarkan file JSON template RFC ke file bernama CreateSgRrRfc .json:

    aws amscm create-rfc --generate-cli-skeleton > CreateSgRrRfc.json
  4. Ubah dan simpan CreateSgRrRfc file.json. Misalnya, Anda dapat mengganti konten dengan sesuatu seperti ini:

    { "ChangeTypeVersion": "2.0", "ChangeTypeId": "ct-1oxx2g2d7hc90", "Title": "SG-Create-RR-RFC" }
  5. Buat RFC, tentukan CreateSgRrRfc file dan file: CreateSgRrParams

    aws amscm create-rfc --cli-input-json file://CreateSgRrRfc.json --execution-parameters file://CreateSgRrParams.json

    Anda menerima ID RFC baru dalam respons dan dapat menggunakannya untuk mengirimkan dan memantau RFC. Sampai Anda mengirimkannya, RFC tetap dalam kondisi pengeditan dan tidak dimulai.

catatan

Ada jenis perubahan otomatis untuk membuat grup keamanan, Deployment | Komponen tumpukan lanjutan | Grup keamanan | Buat (tidak diperlukan tinjauan) (ct-3pc215bnwb6p7) yang menyediakan opsi untuk aturan masuknya dan keluar TCP dan ICMP. Jika aturan tersebut memadai, jenis perubahan Create (auto) akan dijalankan lebih cepat daripada jenis perubahan ini. Untuk detailnya, lihat Grup Keamanan | Buat.

catatan

Setelah grup keamanan dibuat, gunakan Grup Keamanan | Kaitkan untuk mengaitkan grup keamanan dengan sumber daya AMS Anda. Untuk menghapus grup keamanan, itu harus memiliki sumber daya terkait.

catatan

Aturan keluar tidak diperlukan; Namun, jika tidak ditentukan, maka “127.0.0.1/32 Blackhole Rule” digunakan, yang berarti bahwa sumber daya hanya akan dapat berkomunikasi dengan dirinya sendiri dan bukan dengan sumber daya lain. Anda dapat melihat aturan keluar default ini saat menggunakan konsol AMS, tetapi tidak saat menggunakan AMS API/CLI.

Ini adalah jenis perubahan “wajib ditinjau” (operator AMS harus meninjau dan menjalankan CT), yang berarti bahwa RFC dapat memakan waktu lebih lama untuk dijalankan dan Anda mungkin harus berkomunikasi dengan AMS melalui opsi korespondensi halaman detail RFC. Selain itu, jika Anda menjadwalkan perubahan “diperlukan” jenis RFC, pastikan untuk mengizinkan setidaknya 24 jam, jika persetujuan tidak terjadi sebelum waktu mulai yang dijadwalkan, RFC ditolak secara otomatis.

Untuk mempelajari selengkapnya tentang grup keamanan AWS dan membuat grup keamanan, lihat Referensi Aturan Grup Keamanan; halaman ini dapat membantu Anda menentukan aturan yang Anda inginkan dan yang terpenting, cara memberi nama grup keamanan Anda sehingga memilihnya saat membuat sumber daya lain bersifat intuitif. Lihat juga Grup EC2 Keamanan Amazon untuk Grup Keamanan Instans and/or Linux untuk VPC Anda.

Untuk lebih memahami keamanan AWS umum, lihat Praktik Terbaik untuk Keamanan, Identitas, & Kepatuhan.

Setelah grup keamanan dibuat, gunakan Grup Keamanan | Kaitkan untuk mengaitkan grup keamanan dengan sumber daya AMS Anda. Untuk menghapus grup keamanan, itu harus memiliki sumber daya terkait.

Parameter Input Eksekusi

Untuk informasi rinci tentang parameter input eksekusi, lihatSkema untuk Ubah Tipe ct-1oxx2g2d7hc90.

Contoh: Parameter yang Diperlukan

{ "VpcId": "vpc-12345abc", "Name": "app1-webserver", "Description": "App1 group", "InboundRules": [], "OutboundRules": [] }

Contoh: Semua Parameter

{ "VpcId": "vpc-1234abcd", "Name": "app1-webserver", "Description": "App1 group", "AssociatedResources": [ "i-1234abcd", "i-234abcd1", "i-34abcd12", "i-4abcd123", "i-abcd1234", "i-1234567890abcdefg", "i-234567890abcdefg1", "i-34567890abcdefg12", "i-4567890abcdefg123", "i-567890abcdefg1234" ], "InboundRules": [ { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" } ], "OutboundRules": [ { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" } ], "Priority": "Medium", "Tags": [ { "Key": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV", "Value": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst" }, { "Key": "B", "Value": "bb" }, { "Key": "C", "Value": "cc" }, { "Key": "D", "Value": "dd" }, { "Key": "E", "Value": "ee" }, { "Key": "F", "Value": "ff" }, { "Key": "G", "Value": "gg" }, { "Key": "H", "Value": "hh" }, { "Key": "I", "Value": "ii" }, { "Key": "J", "Value": "jj" }, { "Key": "K", "Value": "kk" }, { "Key": "L", "Value": "ll" }, { "Key": "M", "Value": "mm" }, { "Key": "N", "Value": "nn" }, { "Key": "O", "Value": "oo" }, { "Key": "P", "Value": "pp" }, { "Key": "Q", "Value": "qq" }, { "Key": "R", "Value": "rr" }, { "Key": "S", "Value": "ss" }, { "Key": "T", "Value": "tt" }, { "Key": "U", "Value": "uu" }, { "Key": "V", "Value": "vv" }, { "Key": "W", "Value": "ww" }, { "Key": "X", "Value": "xx" }, { "Key": "Y", "Value": "yy" }, { "Key": "Z", "Value": "zz" }, { "Key": "a", "Value": "aa" }, { "Key": "b", "Value": "bb" }, { "Key": "c", "Value": "cc" }, { "Key": "d", "Value": "dd" }, { "Key": "e", "Value": "ee" }, { "Key": "f", "Value": "ff" }, { "Key": "g", "Value": "gg" }, { "Key": "h", "Value": "hh" }, { "Key": "i", "Value": "ii" }, { "Key": "j", "Value": "jj" }, { "Key": "k", "Value": "kk" }, { "Key": "l", "Value": "ll" }, { "Key": "m", "Value": "mm" }, { "Key": "n", "Value": "nn" }, { "Key": "o", "Value": "oo" }, { "Key": "p", "Value": "pp" }, { "Key": "q", "Value": "qq" }, { "Key": "r", "Value": "rr" }, { "Key": "s", "Value": "ss" }, { "Key": "t", "Value": "tt" }, { "Key": "u", "Value": "uu" }, { "Key": "v", "Value": "vv" }, { "Key": "w", "Value": "ww" }, { "Key": "x", "Value": "xx" } ] }