Tiga Metode Autentikasi
1. Basic Auth (username + password)
Paling sederhana. nusabet88 mengirim header Authorization: Basic <base64(user:pass)>. Cocok untuk uji coba cepat, tetapi memakai akun penuh berisiko.
# uji manual dengan curl
curl -u elastic:password \
https://my-cluster.es.us-central1.gcp.cloud.es.io:9243
2. API Key (direkomendasikan)
Buat API key bermasa berlaku dan berprivilese minimal. nusabet88 mengirim header Authorization: ApiKey <base64(id:api_key)>.
# buat API key read-only via REST
POST /_security/api_key
{
"name": "nusabet88-readonly",
"expiration": "30d",
"role_descriptors": {
"ro": { "indices": [ { "names": ["*"], "privileges": ["read","monitor","view_index_metadata"] } ] }
}
}
Respons mengembalikan id dan api_key. Gabungkan menjadi id:api_key, encode base64, lalu pakai sebagai nilai header ApiKey.
# gabungkan & encode
echo -n "VuaCf...id:ui2lp...key" | base64
# pakai pada request
curl -H "Authorization: ApiKey <hasil-base64>" \
https://my-cluster.es.us-central1.gcp.cloud.es.io:9243
3. Cloud ID (khusus Elastic Cloud)
Cloud ID adalah string base64 yang berisi host cluster. Untuk nusabet88, dekode dulu menjadi URL https lalu pakai sebagai endpoint.
# Cloud ID = nama:base64(host$esUuid$kbUuid)
echo "cluster:dXMtY2VudHJhbDEuZ2Nw..." | cut -d: -f2 | base64 -d