Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Memulai keamanan di Amazon OpenSearch Tanpa Server (CLI)
Tutorial ini mencakup langkah-langkah yang dijelaskan dalam tutorial memulai konsol untuk keamanan, tetapi menggunakan AWS CLI bukan konsol OpenSearch Layanan.
Anda menyelesaikan langkah-langkah berikut dalam tutorial ini:
-
Membuat kebijakan izin IAM
-
Lampirkan kebijakan IAM ke peran IAM
-
Buat kebijakan enkripsi
-
Buat kebijakan jaringan
-
Buat koleksi
-
Konfigurasikan kebijakan akses data
-
Ambil titik akhir koleksi
-
Unggah data ke koleksi Anda
-
Cari data dalam koleksi Anda
Tujuan dari tutorial ini adalah untuk mengatur koleksi OpenSearch Serverless tunggal dengan enkripsi, jaringan, dan pengaturan akses data yang cukup sederhana. Misalnya, Anda mengonfigurasi akses jaringan publik, enkripsi Kunci yang dikelola AWS untuk, dan kebijakan akses data yang disederhanakan yang memberikan izin minimal kepada satu pengguna.
Dalam skenario produksi, pertimbangkan untuk menerapkan konfigurasi yang lebih kuat, termasuk otentikasi SAMP, kunci enkripsi khusus, dan akses VPC.
Untuk memulai dengan kebijakan keamanan di Tanpa OpenSearch Server
-
catatan
Anda dapat melewati langkah ini jika Anda sudah menggunakan kebijakan berbasis identitas yang lebih luas, seperti atau.
Action":"aoss:*"Action":"*"Namun, dalam lingkungan produksi, ikuti prinsip hak istimewa paling sedikit dan hanya tetapkan izin minimum yang diperlukan untuk menyelesaikan tugas.Untuk memulai, buat AWS Identity and Access Management kebijakan dengan izin minimum yang diperlukan untuk melakukan langkah-langkah dalam tutorial ini. Beri nama kebijakan
TutorialPolicy:aws iam create-policy \ --policy-name TutorialPolicy \ --policy-document "{\"Version\": \"2012-10-17\",\"Statement\": [{\"Action\": [\"aoss:ListCollections\",\"aoss:BatchGetCollection\",\"aoss:CreateCollection\",\"aoss:CreateSecurityPolicy\",\"aoss:GetSecurityPolicy\",\"aoss:ListSecurityPolicies\",\"aoss:CreateAccessPolicy\",\"aoss:GetAccessPolicy\",\"aoss:ListAccessPolicies\"],\"Effect\": \"Allow\",\"Resource\": \"*\"}]}"Sampel respon
{ "Policy": { "PolicyName": "TutorialPolicy", "PolicyId": "ANPAW6WRAECKG6QJWUV7U", "Arn": "arn:aws:iam::123456789012:policy/TutorialPolicy", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2022-10-16T20:57:18+00:00", "UpdateDate": "2022-10-16T20:57:18+00:00" } } -
Lampirkan
TutorialPolicyke peran IAM yang akan mengindeks dan mencari data dalam koleksi. Dalam contoh ini, peran tersebut diberi namaTutorialRole:aws iam attach-role-policy \ --role-nameTutorialRole\ --policy-arn arn:aws:iam::123456789012:policy/TutorialPolicy -
Sebelum membuat koleksi, Anda perlu membuat kebijakan enkripsi yang Kunci milik AWS menetapkan koleksi buku yang Anda buat di langkah selanjutnya.
Kirim permintaan berikut untuk membuat kebijakan enkripsi untuk koleksi buku:
aws opensearchserverless create-security-policy \ --name books-policy \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/books\"]}],\"AWSOwnedKey\":true}"Sampel respon
{ "securityPolicyDetail": { "type": "encryption", "name": "books-policy", "policyVersion": "MTY2OTI0MDAwNTk5MF8x", "policy": { "Rules": [ { "Resource": [ "collection/books" ], "ResourceType": "collection" } ], "AWSOwnedKey": true }, "createdDate": 1669240005990, "lastModifiedDate": 1669240005990 } } -
Buat kebijakan jaringan yang menyediakan akses publik ke koleksi buku:
aws opensearchserverless create-security-policy --name books-policy --type network \ --policy "[{\"Description\":\"Public access for books collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/books\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/books\"]}],\"AllowFromPublic\":true}]"Sampel respon
{ "securityPolicyDetail": { "type": "network", "name": "books-policy", "policyVersion": "MTY2OTI0MDI1Njk1NV8x", "policy": [ { "Rules": [ { "Resource": [ "collection/books" ], "ResourceType": "dashboard" }, { "Resource": [ "collection/books" ], "ResourceType": "collection" } ], "AllowFromPublic": true, "Description": "Public access for books collection" } ], "createdDate": 1669240256955, "lastModifiedDate": 1669240256955 } } -
Buat koleksi buku:
aws opensearchserverless create-collection --name books --type SEARCHSampel respon
{ "createCollectionDetail": { "id": "8kw362bpwg4gx9b2f6e0", "name": "books", "status": "CREATING", "type": "SEARCH", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/8kw362bpwg4gx9b2f6e0", "kmsKeyArn": "auto", "createdDate": 1669240325037, "lastModifiedDate": 1669240325037 } } -
Buat kebijakan akses data yang memberikan izin minimum untuk mengindeks dan mencari data dalam koleksi buku. Ganti ARN utama dengan ARN dari
TutorialRolelangkah 1:aws opensearchserverless create-access-policy \ --name books-policy \ --type data \ --policy "[{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index\/books\/books-index\"],\"Permission\":[\"aoss:CreateIndex\",\"aoss:DescribeIndex\",\"aoss:ReadDocument\",\"aoss:WriteDocument\",\"aoss:UpdateIndex\",\"aoss:DeleteIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:role\/TutorialRole\"]}]"Sampel respon
{ "accessPolicyDetail": { "type": "data", "name": "books-policy", "policyVersion": "MTY2OTI0MDM5NDY1M18x", "policy": [ { "Rules": [ { "Resource": [ "index/books/books-index" ], "Permission": [ "aoss:CreateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument", "aoss:UpdateDocument", "aoss:DeleteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::123456789012:role/TutorialRole" ] } ], "createdDate": 1669240394653, "lastModifiedDate": 1669240394653 } }TutorialRolesekarang harus dapat mengindeks dan mencari dokumen dalam koleksi buku. -
Untuk melakukan panggilan ke OpenSearch API, Anda memerlukan titik akhir koleksi. Kirim permintaan berikut untuk mengambil
collectionEndpointparameter:aws opensearchserverless batch-get-collection --names booksSampel respon
{ "collectionDetails": [ { "id": "8kw362bpwg4gx9b2f6e0", "name": "books", "status": "ACTIVE", "type": "SEARCH", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/8kw362bpwg4gx9b2f6e0", "createdDate": 1665765327107, "collectionEndpoint": "https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/_dashboards" } ], "collectionErrorDetails": [] }catatan
Titik akhir koleksi tidak tersedia sampai status koleksi berubah menjadi
ACTIVE. Anda mungkin perlu melakukan beberapa panggilan untuk memeriksa status hingga koleksi berhasil dibuat. -
Gunakan alat HTTP seperti Postman
atau curl untuk mengindeks data ke dalam koleksi buku. Contoh berikut membuat indeks yang disebut books-index dan menambahkan satu dokumen. Kirim permintaan berikut ke titik akhir koleksi yang Anda ambil di langkah sebelumnya, menggunakan kredensialnya.
TutorialRolePUT https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_doc/1 { "title": "The Shining", "author": "Stephen King", "year": 1977 }Sampel respon
{ "_index" : "books-index", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 0, "successful" : 0, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 0 } -
Untuk mulai mencari data dalam koleksi Anda, gunakan API pencarian
. Kueri berikut melakukan pencarian dasar: GET https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_searchSampel respon
{ "took": 405, "timed_out": false, "_shards": { "total": 6, "successful": 6, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 2, "relation": "eq" }, "max_score": 1.0, "hits": [ { "_index": "books-index:0::3xJq14MBUaOS0wL26UU9:0", "_id": "F_bt4oMBLle5pYmm5q4T", "_score": 1.0, "_source": { "title": "The Shining", "author": "Stephen King", "year": 1977 } } ] } }