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 memandu Anda melalui langkah-langkah yang dijelaskan dalam tutorial memulai konsol untuk keamanan, tetapi menggunakan AWS CLI bukan konsol OpenSearch Layanan.
Anda akan menyelesaikan langkah-langkah berikut dalam tutorial ini:
-
Membuat kebijakan izin IAM
-
Menyelesaikan kebijakan IAM ke peran IAM
-
Buat kebijakan enkripsi
-
Buat kebijakan jaringan
-
Buat koleksi
-
Konfigurasikan kebijakan akses data
-
Ambil titik akhir koleksi
-
Unggah data ke koneksi 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, kami akan 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 SAFL, 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, di lingkungan produksi, kami menyarankan Anda mengikuti prinsip hak istimewa paling sedikit dan hanya menetapkan 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. Kami akan memberi 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
TutorialPolicy
ke peran IAM yang akan mengindeks dan mencari data dalam koleksi. Kami akan memberi nama penggunaTutorialRole
:aws iam attach-role-policy \ --role-name
TutorialRole
\ --policy-arn arn:aws:iam::123456789012
:policy/TutorialPolicy -
Sebelum membuat koleksi, Anda perlu membuat kebijakan enkripsi yang Kunci milik AWS menetapkan koleksi buku yang akan 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 SEARCH
Sampel 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
TutorialRole
langkah 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 } }
TutorialRole
sekarang 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
collectionEndpoint
parameter:aws opensearchserverless batch-get-collection --names books
Sampel 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
Anda tidak akan dapat melihat titik akhir koleksi hingga status koleksi berubah menjadi
ACTIVE
. Anda mungkin harus melakukan beberapa panggilan untuk memeriksa status hingga koleksi berhasil dibuat. -
Gunakan alat HTTP seperti Postman
atau curl untuk mengindeks data ke dalam koleksi buku. Kita akan 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.
TutorialRole
PUT 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 } } ] } }