Dark Mode Light Mode
City of the Wolves: Uji Coba Beta Kedua Segera Hadir!
Cara Mendapatkan Akses Otorisasi ke MLflow Melalui Azure Active Directory: Implikasi Keamanan | oleh Harold Finch | Mar, 2025
Keluarga Darurat Jadi Alasan Clown Slipknot Absen dari Knotfest

Cara Mendapatkan Akses Otorisasi ke MLflow Melalui Azure Active Directory: Implikasi Keamanan | oleh Harold Finch | Mar, 2025

MLflow dan Azure AD: Keamanan yang Nggak Lebay untuk Para Data Scientist

Siapa di sini yang hobi ngutak-ngatik model machine learning? Kalo kamu anak data, pasti familiar banget sama MLflow. Nah, biar kerjaanmu makin asik tanpa khawatir data bocor, penting banget buat nge-secure akses ke MLflow. Untungnya, Microsoft udah nyediain cara buat ngintegrasiin MLflow dengan Azure Active Directory (Azure AD). Jadi, kamu bisa login pake akun Microsoft kesayanganmu.

Biar gak kebanyakan basa-basi, mari kita langsung bahas gimana caranya bikin MLflow-mu aman sentosa.

1. Daftar Aplikasi di Azure AD: Gak Sesulit Daftar Gebetan

Pertama, kamu harus bikin aplikasi di Azure AD. Gak perlu khawatir, ini gak sesulit nyari kode diskon. Buka Azure Portal, masuk ke Azure Active Directory, pilih "App registrations", dan klik "New registration". Isi nama aplikasinya (bebas, sih, tapi saran aja, kasih nama yang gampang diingat, kayak "MLflow-ku").

Setelah itu, atur "Redirect URI" ke URL UI MLflow kamu. Contohnya, kalo MLflow-mu diakses di mlflow.example.com, ya masukin itu. Terakhir, jangan lupa copy "Application (client) ID" dan "Directory (tenant) ID". Ini penting, jangan sampe salah catat.

2. Bikin Rahasia, Jangan Kasih Tau Siapa-Siapa

Selanjutnya, kita bakal bikin "client secret". Ini semacam password rahasia buat aplikasi MLflow-mu. Di bagian "Certificates & secrets", bikin secret baru. Catat baik-baik secret yang muncul. Ingat, secret ini harus dijaga ketat. Jangan sampe bocor ke tangan yang salah. Kalo sampai bocor, bisa berabe.

3. Kasih Izin Buat Main

Sekarang, kita kasih izin buat aplikasi kita. Di bagian "API Permissions", tambahin izin buat User.Read, openid, dan profile. Jangan lupa, kalo perlu, kasih "Admin Consent". Ini penting biar aplikasi kita bisa baca informasi user, bukan informasi mantan.

4. Konfigurasi MLflow: Saatnya Meramu

Nah, sekarang saatnya "meramu" MLflow-mu. Kamu perlu setting environment variables di server MLflow. Ini langkah krusial, jadi perhatikan baik-baik.

export OAUTH2_AUTHORIZE_URL="https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize"
export OAUTH2_TOKEN_URL="https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
export OAUTH2_CLIENT_ID="{client_id}"
export OAUTH2_CLIENT_SECRET="{client_secret}"

Ganti {tenant_id}, {client_id}, dan {client_secret} dengan informasi yang udah kamu dapetin sebelumnya. Setelah itu, jalankan MLflow server-mu.

mlflow server --backend-store-uri sqlite:///mlflow.db --host 0.0.0.0 --port 5000

Dengan ini, akses ke UI dan API MLflow-mu bakal lebih aman.

5. MLflow di Azure: Manfaatkan Kekuatan Managed Identity

Kalo MLflow-mu jalan di Azure VMs, AKS, atau App Service, kamu bisa pake Managed Identity. Lebih praktis, gak pake ribet urus credential lagi.

Aktifkan Managed Identity

Aktifkan Managed Identity di VM atau AKS-mu. Kalo di VM, pake perintah ini:

az vm identity assign -g myResourceGroup -n myVM

Kalo di AKS:

az aks update -g myResourceGroup -n myAKS --enable-managed-identity

Kasih Izin

Kasih izin "Reader" atau "Contributor" ke Managed Identity-mu. Jangan lupa kasih akses ke Azure ML atau Azure Storage, tempat MLflow artifacts disimpan.

Gunakan Managed Identity

Di dalam MLflow, dapatkan token.

from azure.identity import ManagedIdentityCredential

credential = ManagedIdentityCredential()
token = credential.get_token("https://management.azure.com/.default")
headers = {"Authorization": f"Bearer {token.token}"}

Lalu, gunakan token ini di API calls.

6. Autentikasi dengan Token Azure AD: Buat yang Suka Manual

Kalo kamu pake MLflow Python client (misalnya, di Jupyter Notebook), kamu bisa autentikasi pake token Azure AD.

Dapatkan Token

Login manual dulu.

az login
az account get-access-token --resource=https://mlflow.example.com

Gunakan Token

import mlflow
import requests
from azure.identity import InteractiveBrowserCredential

# Authenticate with Azure AD
credential = InteractiveBrowserCredential()
token = credential.get_token("https://mlflow.example.com")

# Set MLflow Tracking URI
mlflow.set_tracking_uri("https://mlflow.example.com")
mlflow.set_registry_uri("https://mlflow.example.com")

# Pass Authorization header
headers = {"Authorization": f"Bearer {token.token}"}
response = requests.get("https://mlflow.example.com/api/2.0/mlflow/experiments/list", headers=headers)

print(response.json())

Mudah, kan? Sekarang, MLflow-mu lebih aman.

7. Integrasi MLflow dengan Azure Machine Learning: Solusi All-in-One

Buat kamu yang pake Azure Machine Learning (Azure ML), MLflow udah terintegrasi secara native. Seru, kan?

Gunakan Azure ML Workspace

from azureml.core import Workspace
import mlflow

ws = Workspace.from_config()
mlflow.set_tracking_uri(ws.get_mlflow_tracking_uri())

Jalankan Eksperimen

mlflow.start_run()
mlflow.log_metric("accuracy", 0.95)
mlflow.end_run()

Dengan cara ini, kamu bisa manfaatin semua fitur Azure ML sambil tetap pake MLflow. Praktis banget!

Intinya, dengan langkah-langkah di atas, kamu bisa nge-secure MLflow-mu dengan Azure AD. Jangan lupa, keamanan itu penting, tapi jangan sampe bikin hidupmu jadi ribet.

Add a comment Add a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

City of the Wolves: Uji Coba Beta Kedua Segera Hadir!

Next Post

Keluarga Darurat Jadi Alasan Clown Slipknot Absen dari Knotfest