Penggunaan Dasar F5 iControl API
F5 iControl adalah REST API bawaan F5 BIG-IP. Secara default, F5 iControl akan selalu dalam kondisi aktif. F5 iControl API memberikan metode untuk melakukan otomatisasi ketika ada manual work yang dikerjakan berulang-ulang.
Penggunaan
Otentikasi
F5 iControl memiliki 2 metode otentikasi:
- Basic Authentication
- Token Authentication
Catatan
Basic Authentication tidak tersedia pada user BIG-IP yang terhubung dengan external authentication seperti LDAP atau Active Directory (AD).
Basic Authentication merupakan metode paling sederhana untuk melakukan otentikasi ke perangkat F5 BIG-IP.
Untuk menggunakan Basic Authentication menggunakan cURL, gunakan perintah berikut:
-
-s(--silent)
Digunakan untuk mengurangi noise pada output cURL. -
-k(--insecure)
Digunakan untuk mengabaikan TLS self-signed signature yang umum digunakan pada customer. -
-u(--username)
Digunakan untuk melakukan Basic Authentication.
Apabila password memiliki special character, password dapat dikosongkan agar cURL akan meminta password secara interaktif. - Alamat domain yang dituju beserta dengan endpoint yang akan diakses.
Contoh:
Token Authentication lebih aman dibandingkan Basic Authentication karena password tidak akan tercatat pada history shell (.bash_history). Namun, metode Token Authentication membutuhkan satu langkah tambahan sebelum melakukan request, yaitu dengan mendapatkan token authentication terlebih dahulu.
Langkah 1: Mendapatkan Token (Login)
Sebelum melakukan aktivitas pada BIG-IP, otentikasi perlu dilakukan terlebih dahulu untuk mendapatkan token. Gunakan command berikut:
curl -sk https://<BIG IP address>/mgmt/shared/authn/login \ # (1)!
-d '{"username": "<username>","password": "<password>"}' \ # (2)!
| jq \ # (3)!
- Path yang digunakan untuk melakukan otentikasi.
- Parameter body yang digunakan untuk melakukan otentikasi. Sesuaikan dengan kredensial user BIG-IP yang valid.
- jq digunakan untuk memformat output JSON agar lebih mudah dibaca.
Apabila request berhasil, BIG-IP akan memberikan response seperti berikut:
{
"username": "<username>", // (1)!
"loginReference": {
"link": "https://localhost/mgmt/cm/system/authn/providers/local/login"
},
"loginProviderName": "local",
"token": {
"token": "<token>", // (2)!
"name": "<token>",
"userName": "<username>",
"authProviderName": "local",
"user": {
"link": "https://localhost/mgmt/shared/authz/users/<username>"
},
"groupReferences": [],
"timeout": 1200, // (3)!
"startTime": "2026-08-06T20:05:44.289+0700",
"address": "<ip>",
"partition": "[All]",
"generation": 1,
"lastUpdateMicros": 1786021544289116,
"expirationMicros": 1786022744289000,
"kind": "shared:authz:tokens:authtokenitemstate",
"selfLink": "https://localhost/mgmt/shared/authz/tokens/<token>"
},
"generation": 0,
"lastUpdateMicros": 0
}
-
username
Username yang digunakan untuk login. -
token
String token unik yang dibutuhkan untuk request selanjutnya. Salin token ini. -
timeout
Waktu token, yang menunjukkan kapan token ini expire dalam hitungan detik (s).
Waktu ini bersifat absolute, bukan idle, sehingga token akan expire dalam waktu 1200 detik walau masih digunakan.
Langkah 2: Menggunakan Token
Untuk menggunakan Token yang sudah dibuat sebelumnya, Token perlu dicantumkan sebagai header "X-F5-Auth-Token". Contoh:
- --header (-H)
Header yang dikirimkan sebagai request.