Pengaturan Aplikasi (appsettings.json)
Semua pengaturan aplikasi terkandung dalam file bernama appsettings.json. Setiap perubahan pada file appsettings.json akan mengharuskan memulai ulang layanan "Administrasi Microsoft IIS" berlaku.
File appsettings.json terletak di: %SystemDrive%\Program Files\IIS Administration\<version>\Microsoft.IIS.Administration\config\appsettings.json
CORS
Kebijakan CORS memungkinkan aplikasi berbasis browser mengirim permintaan ke API Administrasi Microsoft IIS.
Pengaturan Default
API Administrasi IIS tidak akan mengizinkan CORS untuk asal apa pun jika tidak ada pengaturan cors yang ada.
Format
Misalnya, pengaturan berikut mengaktifkan CORS:
"cors": {
"rules": [
{
"origin": "https://contoso.com",
"allow": true
}
]
}
aturan: Sekumpulan aturan CORS untuk mengontrol cara API berbagi sumber daya.
asal: Asal, seperti yang didefinisikan dalam spesifikasi CORS , untuk mengizinkan atau menolak. Jika karakter kartubebas, *, disediakan sebagai asal, aturan tersebut akan berlaku untuk semua asal.
allow: Menunjukkan apakah sumber daya harus dibagikan ke asal yang ditentukan.
File
Beberapa titik akhir memerlukan interaksi dengan sistem file, seperti membuat situs web di direktori yang ada (baca) atau mengunggah konten file (tulis). Pengaturan konfigurasi ini menyediakan metode untuk membatasi interaksi sistem file ini. Sekumpulan lokasi sistem file yang terlihat oleh API ditentukan. Jalur ini dapat memiliki hak istimewa baca dan atau tulis yang terkait dengannya.
Pengaturan Default
API Administrasi IIS akan mengizinkan akses baca ke %systemdrive%\inetpub jika tidak ada pengaturan file .
Format
Pengaturan berikut memperbolehkan akses baca/tulis ke %systemdrive%\inetpub
"files": {
"locations": [
{
"alias": "inetpub",
"path": "%systemdrive%\\inetpub",
"claims": [
"read",
"write"
]
}
]
}
skip_resolving_symbolic_links: Bendera yang menentukan apakah sistem akan menyelesaikan tautan simbolis saat menentukan apakah jalur diizinkan. Secara default bendera ini salah, yang berarti tautan simbolis akan diselesaikan.
locations: Sekumpulan lokasi sistem file dan hak terkait yang menentukan operasi apa yang diizinkan untuk dilakukan melalui API.
alias: Nama untuk lokasi.
jalur: Jalur akar untuk menetapkan daftar klaim. Semua file atau direktori di bawah jalur ini mewarisi daftar klaim kecuali ditimpa dengan jalur yang lebih spesifik.
klaim: Menentukan operasi apa yang diizinkan untuk dilakukan pada direktori file di bawah jalur. Serangkaian klaim kosong berarti tidak ada akses yang akan diizinkan ke lokasi tersebut.
Keamanan
Bagian keamanan diperkenalkan dalam Administrasi IIS 2.0.0. Bagian ini menentukan persyaratan untuk mengakses API.
Pengaturan Default
Secara default API mengharuskan semua permintaan memiliki kredensial Windows yang valid seperti yang ditunjukkan oleh bendera require_windows_authentication . Akses ke sumber daya API, seperti situs web dan aplikasi, dan manipulasi kunci akses mengharuskan pengguna untuk berada dalam peran API administrator . Operasi hak istimewa tinggi mengharuskan pengguna untuk berada dalam peran pemilik . Ketika API diinstal, peran administrator dan pemilik secara otomatis diisi dengan pengguna yang menjalankan alat penginstal.
Format
"security": {
"require_windows_authentication": true,
"users": {
"administrators": [
],
"owners": [
]
},
"access_policy": {
"api": {
"users": "administrators",
"access_key": true
},
"api_keys": {
"users": "administrators",
"access_key": false
},
"system": {
"users": "owners",
"access_key": true
}
}
}
require_windows_authentication: Nilai boolean yang menentukan apakah autentikasi Windows yang valid diperlukan untuk semua permintaan ke API. Jika true, permintaan apa pun yang tidak diautentikasi Windows akan ditolak. Jika false, persyaratan autentikasi Windows ditentukan oleh pengaturan access_policy .
pengguna: Pemetaan antara pengguna/grup Windows dan peran dalam API. Peran apa pun dapat ditambahkan, tetapi secara default file appsettings.json berisi administrator dan pemilik. Peran ini digunakan di bagian access_policy untuk mengatur akses ke berbagai bagian API.
access_policy: Kebijakan akses menentukan serangkaian persyaratan untuk mengakses area dalam API. API Administrasi IIS dilengkapi dengan tiga kebijakan akses, api, api_keys, dan sistem yang berbeda.
api: Kebijakan akses ini untuk sumber daya API seperti situs web, kumpulan aplikasi, dan file.
api_keys: Kebijakan akses ini untuk memanipulasi kunci API.
sistem: Kebijakan akses ini ditujukan untuk tindakan hak istimewa tinggi yang ditawarkan oleh API, seperti mengubah identitas kumpulan aplikasi ke LocalSystem.
Setiap kebijakan akses memiliki serangkaian persyaratan yang dapat dikonfigurasi. Persyaratan yang tersedia adalah:
pengguna: Menentukan peran mana dari bagian security.users yang diizinkan akses. Untuk mengizinkan semua pengguna menggunakan nilai 'Semua Orang'.
access_key: Menentukan apakah permintaan diperlukan untuk memiliki token akses.
read_only: Menerapkan mode baca-saja dengan membatasi semua permintaan untuk menggunakan metode HTTP GET .
dilarang: Memblokir semua akses.
Contoh Lengkap
{
"host_id": "",
"host_name": "My instance of the IIS Administration API",
"logging": {
"enabled": true,
"file_name": "log-{Date}.txt",
"min_level": "Error",
"path": null
},
"auditing": {
"enabled": true,
"file_name": "audit-{Date}.txt",
"path": null
},
"security": {
"require_windows_authentication": true,
"users": {
"administrators": [
],
"owners": [
]
},
"access_policy": {
"api": {
"users": "administrators",
"access_key": true
},
"api_keys": {
"users": "administrators",
"access_key": false
},
"system": {
"users": "owners",
"access_key": true
}
}
},
"cors": {
"rules": [
{
"origin": "https://contoso.com",
"allow": true
}
]
},
"files": {
"locations": [
{
"alias": "inetpub",
"path": "%systemdrive%\\inetpub",
"claims": [
"read"
]
}
]
}
}