Anda di halaman 1dari 19

RANGKUMAN CHAPTER 11

Konfigurasi Sebuah Aplikasi Windows


Konfigurasi mengacu pada pengaturan sebuah program atau sebuah sistem komputer
untuk aplikasi tertentu. Konfigurasi mengatur macam-macam pilihan di dalam sebuah
sistem komputer untuk aplikasi tertentu.

File Konfigurasi
File konfigurasi adalah file XML yang dapat diubah sesuai kebutuhan. Administrator
dapat mengontrol yang dilindungi sumber aplikasi dapat mengakses, yang versi majelis
aplikasi akan digunakan, dan di mana aplikasi remote dan objek berada.
File Konfigurasi digunakan untuk mengkonfigurasi pengaturan awal untuk program
computer tertentu. File-file tersebut yang umumnya adalah file Extensible Markup Language
(XML) tang mengandung pilihan konfigurasi seperti pilihan permulaan dan pilihan
penggunaan maksimum resource untuk aplikasi. File-file tersebut digunakan untuk merubah
pengaturan aplikasi tanpa mengkompil ulang aplikasinya. File-file tersebut bisa dimodifikasi
kapanpun dibutuhkan.
File konfigurasi memiliki macam-macam format file, seperti XML, dan TXT. XML
adalah format file konfigurasi yang terkenal.

Format Sebuah File Konfigurasi


File konfigurasi mengandung sebuah hirarki dari elemen-elemen yang menspesifikasi
informasi konfigurasi. Kode ini menunjukan format file konfigurasi :

<configuration>
<runtime>
<assemblyBinding xmlns=urn:schemas-microsoft-com:asm.vl>
<probing privatePath=Stringer/>
<publisherPolicy apply=no/>
<dependentAssembly>
<assemblyIdentity name=Reverser
publicKeyToken=0038acc8beadfle5
culture=/>
<publisherPolicy apply=no/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Elemen <configuration> adalah elemen akar dari setiap file konfigurasi yang
digunakan oleh CLR dan aplikasi .NET Framework.
File konfigurasi menggunakan label untuk menandai permulaan dan akhiran dari
suatu elemen. Untuk contoh, elemen <runtime> memiliki label permulaan yang
dispesifikasi sebagai <runtime> dan label pengakhiran dispesifikasi sebagai </runtime>.
Bagaimanapun, sebuah elemen kosong memiliki sebuah label Start tapi tiak memiliki label
End. Dalam label permulaan dan pengakhiran dari sebuah elemen ada yang dapat berupa
beberapa angka dari anak elemen. Label Start dari sebuah elemen bisa mengandung satu atau
lebih atribut.
Sebuah Atribut dispesifikasi menggunakan sebuah pasagan nama/nilai. Kamu dapat
membuat pengaturan konfigurasi dengan menspesifikasi nilai-nilai yang sesuai untuk atributatribut di dalam label Start dari sebuah elemen.

Tipe dari File Konfigurasi


Yang terdiri dari tiga tipe file konfigurasi. File-file tersebut adalah:

File Konfigurasi Aplikasi


File Konfigurasi Mesin
File Konfigurasi Keamanan

File Konfigurasi Aplikasi


Sebuah file konfigurasi aplikasi adalah file XML yang digunakan untuk mengontrol
perakitan mengikat. Ini dapat mengarahkan aplikasi dari menggunakan satu versi sisi-by-side
perakitan untuk versi lain dari assembly yang sama. Ini disebut konfigurasi per-aplikasi. File
konfigurasi aplikasi hanya berlaku untuk aplikasi nyata tertentu dan assembly tergantung.
Komponen terisolasi disusun dengan ISOLASI MANIFEST AWARE RESOURCE_ID
tertanam Manifest memerlukan file konfigurasi aplikasi terpisah. Memanifestasikan dikelola
dengan CreateActCtx memerlukan file konfigurasi aplikasi terpisah.
File Konfigurasi aplikasi menyediakan sebuah cara mengesampingkan metadata
dalam assembly tanpa perlu merebuild aplikasi.
Ketika kamu mengeksekusi sebuah aplikasi, CLR mencari file dependent yang
dibutuhkan untuk mengeksekusi aplikasi, seperti assembly dan file resource. Proses ini
dikenal sebagai probing. Selama proses probing, CLR mencari file konfigurasi aplikasi dan
memeriksanya untuk menentukan pengaturan yang dimilikinya. Probing behavior lalu
dimodifikasi, tergantung dalam pengaturan konfigurasi.
Untuk contoh, pengaturan dalam file konfigurasi aplikasi dapat meredirect sebuah
aplikasi untuk menggunakan versi yang berbea dari sebuah assembly atau menginstruct
aplikasi untuk melihat sebuah assembly di dalam folder yang berbeda. Bagaimanapun
assembly baru, harus dibangun dengan pasangan kunci yang sama yang aplikasi harapkan.
Nama dari sebuah file konfigurasi aplikasi aalah nama dari aplikasi dengan ekstensi
.config. Untuk contoh, sebuah aplikasi memanggil myApplication.exe yang file
konfigurasinya memanggil myApplication.exe.config. File konfigurasi ini berlokasi di dalam
directory yang sama seperti file aplikasinya.
File konfigurasi aplikasi berisi pengaturan khusus untuk aplikasi. File ini berisi
pengaturan konfigurasi yang common language runtime berbunyi (seperti kebijakan perakitan
mengikat, objek Remoting, dan sebagainya), dan pengaturan aplikasi dapat membaca.

File Konfigurasi Mesin


File konfigurasi mesin, Machine.config, berisi pengaturan yang berlaku untuk seluruh
komputer. File ini terletak di runtime% menginstal path% \ Config direktori. Machine.config

berisi pengaturan konfigurasi untuk perakitan mesin-lebar mengikat, built-in Remoting


saluran, dan ASP.NET.
File konfigurasi mesin memasukkan penganturan, seperti system keamanan yang
belaku untuk seluruh file computer. Nama file konfigurasi mesin adalah machine.config.
Lokasi file ini adalah:
%SystemRoot%\Microsoft.NET\Framework\<Version>\CONFIG\

Di sini, <Version> merupakan versi .NET Framework yang diinstal dalam mesin.
File konfigurasi mesin digunakan penuh ketika sebuah komponen digunakan dalam
beberapa aplikasi sekaligus. Alam kasus ini, itu memudahkan untuk memasukkan pengaturan
untuk komponen itu dalam sebuah single file konfigurasi mesin daripada membuat terpisah
file konfigurasi aplikasi untuk bermacam aplikasi.
Untuk contoh, jka kamu memiliki sebuah komponen third-party yang digunakan oleh
kedua aplikasi client dan server aplikasi, yang memuahkan untuk memasukkan pengaturan
untuk komponen dalam satu tempat. Dalam kasus ini, file konfigurasi mesin dipisahkan
tempatnya untuk pengaturan, jadi kamu tidak perlu megatur pengaturan yang sama dalam dua
file berbeda.
File Konfigurasi Keamanan
File konfigurasi keamanan mengandung informasi tentang sederetan perizinan dan
kode grup hirarki. Sebuah deretan perizinan adalah sebuah kelompok perizinan yang dapat
diasosiasikan dengan sebuah kelompok kode. Kelompok kode terdiri dari kondisi hubungan
keanggotaan dan sebuah deretan perizinan. File-file tersebut mengandung informasi yang
berhubungan kepada kode akses system keamanan.

Kamu bisa mengkonfigurasi file-file tersebut untuk memodifikasi keamanan polisi.


Bagaimanapun,

pengeditan

manual

dari

file

konfigurasi

keamanan

tidaklah

direkomendasikan. Malah, kamu bisa menggunakan perangkat Microsoft .NET Framework


2.0 Configuration (Mscorcfg.msc) atau perangkat Code Access Security Policy (Caspool.exe)

untuk membuat perubahan tersebut. Menggunakan perangkat tersebut memastikan bahwa


perubahan policy tidak mengkorup file konfigurasi keamanan.

Konfigurasi Aplikasi
.NET Framework memungkinkan pengembang dan administrator untuk mengontrol
cara runnya aplikasi dengan perubahan pengaturan aplikasi dalam file konfigurasi aplikasi.
Untuk pemodifikasian file konfigurasi aplikasi, kamu perlu mengerti tentang hirarki dan
fungsi dari macam-macam elemen dalam file konfigurasi aplikasi.
Elemen dalam sebuah File Konfigurasi Aplikasi
File

Konfigurasi

distrukturkan

dalam

sebuah

hirarki

dimana

elemen

<configuration> adalah pada akarnya.

Tabel berikut mendeskripsikan beberapa elemen umum yang termasuk dalam sebuah file
konfigurasi aplikasi.
Elemen
<configuration>

Description
Adalah sebuah elemen level akar dalam file konfigurasi. Yang
mengindikasi bahwa informasi dimasukkan dalam label ini
digunakan untuk mengkonfigurasi aplikasi. Masing-masing
dile

<runtime>

konfigurasi

harus

memiliki

<configuration>.
Adalah sebuah

elemen

level

<configuration>.

Yang

hanya

satu

elemen

anakan

dari

elemen

informasi

tentang

mengandung

<supportedRuntime>

pengikatan assembly dan pengumpulan sampah.


Adalah sebuah elemen level anakan dari elemen <runtime>.

<geConcurrent>

Yang menspesifikasi versi dari CLR yang mendukung aplikasi.


Adalah sebuah elemen level anakan dari elemen <runtime>.
Yang mespesifikasi bagaimana CLR merun kumpulan sampah

<assemblyBinding>

pada thread terpisah.


Adalah elemen level anakan dari elemen <runtime>. Yang
mengandung informasi tentang redireksi versi assembly dan

<dependentAssembly>

lokasi dari assembly.


Adalah sebuah elemen

level

anakan

dari

elemen

<assemblyBining>. Yang termasuk pengikatan informasi


policy seperti nama, versi, dan lokasi aseembly. Jika
pengikatan

policy

dibutuhkan

untuk

banyak

assembly

sekaligus, sebuah elemen <dependentAssembly> terpisah


<assemblyIdentity>

harus digunakan untuk masing-masing assembly.


Adalah
sebuah
elemen
anakan
dari
<dependentAssembly>.

Yang

termasuk

elemen

informasi

yang

<bindingRedirect>

digunakan untuk mengidentifikasi sebuah assembly.


Adalah elemen anakan dari elemen <dependentAssemby>.

<codebase>

Yang meredirect satu versi assembly ke lainnya.


Adalah elemen anakan dari elemen <dependentAssembly>.
Yang mespesifikasi dimana runtime dapat menemukan sebuah

<probing>

kekuatang yang bernama assembly.


Adalah sebuah elemen anakan dari elemen <runtime>. Yang
mespesifikasi directory dasar dan subdirectory dari aplikasi
yang dimana runtime harus mencari ketika penglokasiab

<publisherPolicy>

sebuah assembly.
Adalah
sebuah

elemen

anakan

dari

elemen

<dependentAssembly> atau elemen <assemblyBinding>. Yang


menspesifikasi bagaimana runtime memberlakukan penerbit
policy untuk aplikasimu. Ketika ditempatkan dalam elemen
<dependentAssembly>, pengaturan <publisherPolicy> akan
memberlakukan

untuk

menspesifikasikan

assembly.

Bagaimanapun, ketika elemen ini di tempatkan dalam elemen


<assemblyBinding>,

elemen

<publisherPolicy>

akan

memberlakukan untuk seluruh assembly direferensikan oleh


aplikasi.
Beberapa elemen konfigurasi termasuk atribut yang menyediakan detail tambahan
saat runtime. Tabel berikut mendeskripsikan atribut-atribut dari elemen konfigurasi.
Elemen
<supportedRuntime>

Atribut
versi

Deskripsi
Adalah versi
Framework

<gcConcurrent

enabled

dari

yang

.NET
aplikasi

dukung.
Dapat memiliki sebuah nilai
true atau false. Sebuah nilai
true

mengidentifikasi

pengumpulan sampah yaitu

bersamaan dan sebuah nilai


false mengientifikasi bahwa
tidak bersamaan.
<assemblyIdentify>

name
publicKeyToken

Adlah nama dari assembly.


Adalah
sebuah
nilai
hexadecimal

yang

menspesifikasi nama yang


culture

kuat dari assembly.


Adalah sebuah string yang
menspesifikasi Bahasa dan
Negara/wilayah

<codeBase>

versi

assembly.
Adalah versi

dari
nomor

dari

assembly yang <codebase>


Href

berlakukan.
Adalah
URL

dimana

assembly disimpan.

<bindingRedirect>

oldVersion

Adalah versi dari assembly

newVersion

yang awalnya diminta.


Adalah
versi

yang

dimodifikasi dari assembly


yang seharusnya digunakan
<probing>

privatePath

disbanding versi aslinya.


Adalah
lokasi
dari
subdirectory dari directory
dasar aplikasi yang mungkin

<publisherPolicy>

Apply

mengandung assembly.
DApat memiliki sebuah nilai
yes

atau

menspesifikasi

no.
apa

Yang
yang

diberlakukan penerbit policy

<gcConcurrent

enabled

atau tidak.
Dapat memiliki sebuah nilai
true atau false. Sebuah nilai
true

mengidentifikasi

pengumpulan sampah yaitu


bersamaan dan sebuah nilai
false mengientifikasi bahwa
<assemblyIdentify>

name
publicKeyToken

tidak bersamaan.
Adalah nama dari assembly.
Adalah
sebuah
nilai
hexadecimal

yang

menspesifikasi nama yang


culture

kuat dari assembly.


Adalah sebuah string yang
menspesifikasi Bahasa dan
Negara/wilayah

<codeBase>

versi

assembly.
Adalah versi

dari
nomor

dari

assembly yang <codebase>

<bindingRedirect>

Href

berlakukan.
Adalah
URL

oldVersion

assembly disimpan.
Adalah versi dari assembly

newVersion

yang awalnya diminta.


Adalah
versi

dimana

yang

dimodifikasi dari assembly


yang seharusnya digunakan
<probing>

privatePath

disbanding versi aslinya.


Adalah
lokasi
dari
subdirectory dari directory
dasar aplikasi yang mungkin

<publisherPolicy>

Apply

mengandung assembly.
DApat memiliki sebuah nilai
yes

atau

menspesifikasi

no.
apa

Yang
yang

diberlakukan penerbit policy


atau tidak.

Bekerja dengan File Konfigurasi Aplikasi


File konfigurasi apilkasi dapet dirubah untuk menyesuaikan aplikasi. Berikut adalah
beberapa contoh di mana perubahan pengaturan konfigurasi dapat sangat membantu:
File konfigurasi aplikasi dapat digunakan penuh ketika kamu:

Menspesifikasi versi runtime


Menspesifikasi pengumpulan sampah yang bersamaan
Menspesifikasi lokasi dari assembly
Menredirect versi assembly
Menggunakan sebuah penerbit policy

Menspesifikasi Versi Runtime


Kamu bisa menspesifikasi versi dari CLR yang sebuah aplikasi dukung dengan
menggunakan elemen <supportedRuntime>.
Kode berikut menunjukkan bagaimana untuk menspesifikasi vesi runtime yang
didukung dalam sebuah file konfigurasi:
<configuration>
<startup>
<supportedRuntime version=v1.1.3522/>
<supportedRuntime version=v1.0.3805/>
</startup>
</configuration>

Menspesifikasi Pengumpulan Sampah yang Bersamaan


CLR dapat merun pengumpulan sampah secara bersamaan dalam thread yang terpisah
atau dalam thread yang sama dari sebuah aplikasi. Elemen <gcConcurrent> dapat digunakan
untuk mespesifikasi bagaimana CLR seharusnya merun pengumpulan sampah.
Kode untuk menunjukan garbage collection :
<configuration>
<runtime>
<gcConcurrent enable=true/>
</runtime>
</configuration>

Menspesifikasi Lokasi Sebuah Assembly


Lokasi sebuah assembly dapat dispesifikasikan dengan menggunakan:

Elemen <codebase>
Elemen <probing>

Elemen <codebase> mespesifikasi lokoasi di mana runtime apat menemukan assembly


penamaan yang kuat.
Runtime menyelidiki penglokasian assembly yang tidak memiliki sebuah kode dasar.
Elemen <codebase> menspesifikasi subdirectory dari directory dasar aplikasi yang runtime
seharusnya cari.

Menredirect Versi Assembly


Ketika kamu membangun sebuah aplikasi terhadap sebuah versi spesifikasi dari
assembli penamaan yang kuat, aplikasi menggunakan versi dari assembly itu saat runtime.
Sesekali, kamu mungkin ingin aplikasi untuk dirun terhadap sebuah versi terbaru dari
assembly. Kamu dapat menggunakan elemen <bindingRedirect. Untuk meredirect satu versi
dari sebuah assembly untuk assembly lainnya.
Menggunakan Sebuah Penerbit Policy
Ketika sebuah komponen vendor merelease sebuah versi terbaru dari sebuah
assembly, komponen vendor dapat mentermasukkan sebuah penerbit policy. Ini
memungkinkan aplikasi untuk menggunakan versi terbaru dari assembly.
Kamu bisa menggunakan elemen <publisherPolicy> untuk mespesifikasi bagaimana
CLR memberlakukan penerbit policy.
Jika kamu ingin, kamu bisa menspesifikasi penerbit policy dalam aplikasi file konfigurasi
untuk salah satu spesifik assembly atau untuk seluruh assembly:

Untuk mespesifikasikan aplikasi penerbit policy untuk sebuah assembly tertentu,

tempat elemen <publisherPolicy> dalam elemen <dependentAssembly>.


Untuk menspesifikasi aplikasi dari penerbit policy untuk seluruh assembly digunakan
oleh aplikasi, tempat elemen <publisherPolicy> dalam elemen <assemblyBinding>.

Bagian Konfigurasi

Sebuah file konfigurasi juga dapat mengandung informasi yang aplikasi baca saat
runtime. Kamu bisa menspesifikasi informasi ini dalam file konfigurasi dengan menggunakan
bagian konfigurasi.
Bagian konfigurasi memiliki dua bagian:

Bagian konfigurasi deklarasi


Perngaturan konfigurasi

Kamu bisa menempatkan bagian konfigurasi deklarasi dan pengaturan konfigurasi dalam
file konfigurasi mesin atau dalam file konfigurasi aplikasi.
Bagian konfigurasi deklarasi dibuat dalam elemen <configSection>.
Bagian konfigurasi baru dibuat oleh pendeklarannya dalam sebuah elemen <section> di
dalam elemen <configSection>. Elemen <section> memiliki dua property:

Nama: adalah nama dari elemen yang mengandung informasi yang pengenali bagian

baca.
Tipe: nama dari pengenali bagian yang membaca informasi.
Pengaturan konfigurasi membaca pengaturan dalam file konfigurasi mesin dan
kemudian menulisnya dalam file konfigurasi aplikasi. Tergantung paa pengendali
bagian, salah satu pengaturan dalam file aplikasi mengesampingkan pengaturan dalam
file mesin atau pengaturan file ari kedua file yang digabung.

.NET Framework menggunakan macam-macam pengendali bagian. Tabel berikut


mendeskripsikan pengendali bagian tersebut.
Pengenali
NameValueSectionHandle

Deskripsi
Mengembalikan sebuah pasangan nama/nilai

IgnoreSectionHandler
DictionarySectionHandler

ari pengaturan konfigurasi.


Menolak seluruh elemen dalam bagian.
Mengembalikan
sebuah
pengaturan

SingleTagSectionHandler

konfigurasi pasangan kunci-nilai.


Mengendalikan sebuah bagian kecil table
mengandung pengaturan nama/nilai.

Walaupun .NET Framework menyediakan beberapa bagian konfigurasi yang telah


ditetapkan seperti <appSettings>, penegembang juga dapat menyesuaikan bagian
konfigurasi.

Bagian <appSettings>
Pengaturan aplikasi didefinisikan dalam bagian <appSettings> dapat di akses dengan
menggunakan property COnfigurationSettings.AppSettings.
Menyesuaikan Bagian Konfigurasi
Kamu bisa menyesuaikan dan mendeklarasi bagian konfigurasi. Syntax dari
pengaturan konfigurasi tergantung pada yang menangani bagian yang diasosiasikan dengan
bagian konfigurasi.
Kamu bisa menggunakan static method ConfigurationSettings.GetConfig()
dalam namespaceSystem.Configuration untuk mengakses pengaturan konfigurasi dari
aplikasi.
Dalam sebuah contoh kode, method ConfigurationSettings.GetConfig()
mengembalikan sebuah nilai tipe objek. Kamu harus melemparkan objek yang dikembalikan
dari ConfigurationSettings.GetConfig() ke sebuah tipe objek IDictionary. yang
merupakan sebuah kumpulan pasangan kunci-nilai. Sederetan pasangan kunci-nilai disimpan
di dalam variabel values_table. Masing-masing nilai di values_table harus dikonversikan ke
objek string.

Mengamankan Aplikasi Windows


Keamanan beberapa komputer dapat mempertahankan otentiasi pengguna. Sebuag
otentikasi normalnya berjalan dengan pemvalidasian password. Bagaimanapun, yang mudah
untuk profesional hacker untuk meretas password.
Keamanan aplikasi juga dapat dihambat oleh serangan virus pada komputer.
Bagaimanapun, ada beberapa mekaniseme untuk mengamankan aplikasi dalam ruang lingkup
.NET.
Mekanisme untuk perlindungan resource dan kode dari kode unauthorized dan pengguna
termasuk:

Keamanan kode akses: Mengontrol resource yang kodemu dapat akses.


Keamanan peran dasar: Memungkinkan pengembang untuk membatasi pengguna
yang dapat merun bagian tertentu dari aplikasi.

Keamanan Kode Akses

Mekanisme keamanan biasanya diimplementasikan oleh percobaan informasi login


dari pengguna, seperti password, dan dengan membatasi resource, seperti directpry dan file.
Bagaimanapun, ada tanggung jawab kebocoran data jika pengguna merun program dari
sumber yang tidak handal.
Untuk memecahkan masalah tersebut, .NET telah memperkenalkan mekanisme
keamanan yang disebut Code Access Security (CAS). Mekanisme ini mengizinkan
pengeksekusian kode yang aman dari sumber yang tidak handal dan mencegah kode
terpercaya dari kesengajaan atau dengan tidak sengaja mencurigakan keamanan.
Mode CAS memungkinkan kode untuk menggunakan resource dilindungi hanya jika
itu memiliki perizinan untuk melakukantersebut. Perizinan merupakan yang benar untuk kode
untuk mengakses resource yang dilindungi. Ketika sebuah kode mengakses resource untuk
menampilkan sebuah tugas, yang meminta perizinan yang dibutuhkan dan system
keamanan .NET Framework yang menentukan apakah perizinan yang dibutuhkan telah sudah
atau belum.
Penggunaan CAS dapat mengurangi kemungkinan penyalahgunaan kode. Mekanisme
pengurangan berkewajiban karena kamu dapat mespesifikasi sederetan operasi kodemu
seharusnya diperbolehkan untuk ditampilkan dan juga menspesifikasi operasi kodemu
seharusnya tidak pernah diperbolehkan untuk ditampilkan. Ini dapat diselesaikan dengan
penspesifikasikan level terpercaya untuk kodemu.
Level terpercaya menentukan apa kodemu akan dapat untuk dilakukan di komputermu.
Macam-macam level terpercaya adalah:

Full Trust: Keamanan memeriksa yang tidak ditampilkan dan program dapat

mengakses dan menggunakan seluruh resource pada mesinmu.


Medium Trust: Program tidak bias mengakses resource yang paling dilindungi seperti
registrasi atau keamanan pengaturan policy. Dalam tambahannya, program tidak bisa
mengakses

sistem

file

local

tanpa

interaksi

pengguna.

Program

dapat

menyambungkan kembali untuk site mereka yang asli, memecahkan nama kekuasaan,
dan menggunakan seluruh resource Windows kecuali registrasi atau keamanan

pengaturan policy.
Low Trust: Program tidak bisa mengakses resource yang dilindungi sperti registrasi,
ruang lingup variable, nama wilayah, atau keamanan pengaturan policy. Program

memiliki kemampuan yang terbatas untuk menggunakan resource windows dan

system file lokas.


No Trust: Program tidak diperbolehkan dieksekusi.

Seluruh informasi model CAS disimpam dalam sebuah file konfigurasi yang dikenal
sebagai file konfigurasi keamanan. CAS terdiri dari elemen, seperti bukti, perizinan, deretan
perizinan, grup kode, keamanan policy.

Bukti
Bukti adalah informasi yang CLR gunakan untuk membuat pilihan dasar pada kemanan
policy. Bukti terdiri dari informasi tentang sebuah assembly termasuk:

URL: lokasi dari mana assembly berasal.


Strong name: terdiri dari kunci public yang unik, nama yang simple, dan versi.
Penerbit: penerbit assembly.
Hash: hash kriptografi perakitan.
Application directory: directory instalasi dari aplikasi.
Site: site yang asli.
Zone: Lokasi dari yang assembly berasal. Ada beberapa macam zone dari assembly
berasal, yaitu:
o My Computer: Mengandung seluruh aplikasi local untuk komputermu.
o Local intranet: Mengandung seluruh aplikasi pada intranet organisasimu.
o Internet: Mengandung seluruh aplikasi yang datang dari internet.
o Trusted Sites: Mengandung seluruh aplikasi yang datang dari daftar Internet
Explorer yang sitenya terpercaya.
o Untrusted Sites: Mengandung seluruh aplikasi yang datang dari daftar
Internet Explores yang sitenya dibatasi.
Dalam tipe ruang lingkup Windows, ada bermacam level terpercaya untuk masing-

masing zone. Tabel berikut mendaftar zone dan level terpercaya mereka.
Zone
My Computer
Local Intranet
Internet
Trusted Sites
Untrusted Sites

Trust Level
Full Trust
Medium Trust
Low Trust
Low Trust
No Trust

Sistem keamanan menggunakan bukti tentang assembly untuk menentukan perizinan


untuk memang menjadi dasar dari sebuah keamanan policy yang sudah ada.

Perizinan dan Deretan Perizinan


Perizinan kode akses merupakan kebenaran untuk kode untuk mengakses resource.
Beberapa dari aksi perizinan itu adalah melindungi pembacaan dan penulisan file pada
system file, pengaksesan ruang lingkup variable, dan pengaksesan database.
.NET Framework menyediakan kelas perizinan built-in yang diterima kebenarannya
untuk mengankut operasi yang dilindungi. Beberapa ari kelas perizinan built-in adalah
SecurityPermission,

FileIOPermission,

RegistryPermission,

EnvironmentPermission, dan OleDbPermission.

Deretan perizinan adalah kelompok perizinan yang kamu dapat asosiasikan dengan
kelompok kode. Setiap deretan perizinan seharusnya pada akhirnya satu perizinan dan sebuah
nama. CLR menyeiakan beberaapa deretan perizinan built-in yang kamu apat asosiasikan
dengan kelompok kode. Deretan perizinan dapat diasosiasikan dengan lebih dari satu
kelompok kode.
Tabel berikut mendeskripsikan beberapa deretan perizinan built-in yang disediakan
oleh CLR.
Deretan Perizinan
Nothing

Deskripsi
Tidak ada perizinan yang diizinkan. Kode
engan deretan perizinan tiak bisa dirun pada

Eksekusi

mesin.
Perizinan

diizinkan

pengeksekusian.

Kode

hanya

pada

dengan

deretan

perizinan dapat mengeksekusi tapi tiak dapat


mengakses
Internet

beberapa

resource

yang

dilindungi.
Ini adalah deretan perizinan asal untuk kode
yang dirun dari sebuah lokasi yang tidak
diketahui atau asalnya. Beberapa program
yang dirun dari internet akan memililiki

perizinan yang didefinisikan dalam deretan


perizinan.
Ini adalah deretan perizinan asal untuk semua

LocalIntranet

kode yang dirun dari sebuah intranet.


Beberapa program yang dirun dari intranet
akan

diizinkan

perizinannya

yang

didefinisikan dalam deretan perizinan.


Seluruh perizinan diizinkan. Kode dengan

Everything

deretan perizinan akan diizinkan perizinannya


untuk kedua eksekusi dan akse resource yang
dilindungi. Mandat dari permintaan kode
diverifikasi setiap kali sebuah permintaan
baru dibuat untuk resource yang dilindungi.
Seluruh perizinan diizinkan. Kode dengan

FullTrust

deretan perizinan akan diizinkan perizinannya


untuk mengeksekusi dan mengakses resource
yang dilinungi. Ketika deretan perizinan ini
diasosiasikan dengan kode, mandate dari kode
tidaklah diverifikasi.
Kamu juga bisa menyesuaikan deretan perizinan dan menasosiasikannya dengan
sebuah kelompok kode.
Kelompok Kode
Sebuah kelompok kode terdiri dari kondisi hubungan anggota dan deretan dari
perizinan. Jika sebuah assembly bertemu dengan kondisi hubungan anggota, maka akan
diizinkannya deretan perizinan yang diasosiasikan dengan anggota dari kelompok. Runtime
mengevaluasikan kondisi hubungan anggota yang dispesifikasikan dalam kelompok kode
terhadap bukti dari assembly. Ketika sebuah assembly bertemu kondisi hubungan anggota
untuk kelompok kode, maka bisa dikatakan akan menjadi anggota dari kelompok itu.
Untuk

contoh,

kondisi

hubungan

anggota

untuk

kelompok

kode

dapat

menspesifikasikan penerbit assembly sebagai Microsoft. Beberapa assembly dipublish oleh


Microsoft memenuhi kondisi hubungan anggota dan menerima deretan perizinan dengan

kelompok kode. Jka deretan perizinan ini memang benar untuk mengakses folder C:\temp,
masing-masing assembly yang dipublish oleh Microsoft dapat mengakses folder ini.
Sebuah assembly menerima keserikatan perizinan untuk seluruh kelompok kode yang
berhubungan.
Keamanan Policy
Keamanan policy adalah deretan yang dapat dikonfigurasi dari aturan yang CLR ikuti
ketika sedang dipilih perizinan kodenya. Administrator menset keamanan policy dan runtime
memaksakannya.
Keamanan policy diorganisir ke dalam level policy berikut:

Enterprise: level policy tertinggi dan menjelaskan keamanan policy untuk seluruh

enterprise.
Machine: Memberlakukan seluruh kode yang dirun pada computer bagian.
User: Level ke-3 yang dapat didefinisikan berdasar pada logged-on pengguna terbaru.
Application: Memberlakukan setiap kode menjadi dieksekusi dengan sebuah
aplikasi.

Ketika keamanan policy dievaluasi, enterprise, machine, dan user level dievaluasi
terpisah dan dipotong. Ini berarti bahwa kode diizinkan sederetan minimum perizinan
dispesifikasi oleh beberapa level.
Keamanan policy asal menggunakan deretan perizinan berikut untuk implementasi:

Nothing: Tidak memberi beberapa perizinan pada kode. Kode bahkan tidak diizinkan

untuk mengesekusi.
Excecution: Menyediakan kode dengan perizinan untuk hanya dirun tapi tidak

memperbolehkannya untuk menggunakan beberapa resource yang dilindungi.


Internet: Menyediakan default yang tepat untuk aplikasi internet.
LocalIntranet: Menyediakan default yang tepat untuk aplikasi pada intranet local.
Everything: Menyediakan kode dengan seluruh standard perizinan kecuali tepat

untuk menskip verifikasi.


SkipVerification: Mengizinkan tepat untuk oleh verifikasi.
FullTrust: Menyediakan akses penuh untuk seluruh resource yang dilindungi oleh
perizinan. Kode dari computer local zone menerima deretan perizinan ini.

Mengkonfigurasi Kode Akses Keamanan

Perangkat Microsoft .NET Framework 2.0 Configuration dapat digunakan untuk


mengkonfigurasi CAS. Untuk merun perangkat ini, kamu perlu untuk menampilkan langkah
berikut:
1
2
3

Pilih Start -> Settings -> Control Panel.


Klik dua kali folder Administration Tools untuk membukanya.
Klik dua kali perangkat Microsoft .NET Framework 2.0 Configuration. Perangkat
Microsoft .NET Framework 2.0 Configuration muncul.

Perangkat Microsoft .NET Framework 2.0 Configuration apat digunakan untuk:

Menyesuaikan trust level dari sebuah zone


Mengkonfigurasi kelompok kode
Mengkonfigurasi deretan perizinan

Menyesuaikan Trust Level dari Sebuah Zone


Untuk menyesuaikan trust level dari sebuah level, kamu perlu untuk menjalankan langkah
berikut:
1
2

Buka perangkat Microsoft .NET Framework 2.0 Configuration.


Klik kanan Runtime Security Policy dan pilih option Adjust Security. Dan Security

Adjusment Wizard akan muncul.


Pilih Make changes to this computer atau Make changes for the current user only
pada layar What Would You Like to Modify ? dan klik tombol Next. Dan layar

Adjust the Security Level for Each Zone akan muncul.


Pilih zone yang berhubungan dalam layar Adjust the Security Level for Each Zone
dengan memindahkan salah satu pemindah; up atau down. Untuk merestore default

dari trust level untuk sebuah zone, klik tombol Default Level.
Klik tombol Next untuk memindahkan layar Completing the Wizard. Maka layar

Completing the Wizard akan muncul.


Review penyesuaian trust level dan klik tombol Finish untuk memberlakukan

perubahanmu.
Tutup perangkat Microsoft .NET Framework 2.0 Configuration.

Mengkonfigurasi Kelompok Kode


Dengan mengkonfigurasi kelompok kode, kamu bisa:

Membuat sebuah kelompok kode


Merubah deretan perizinan
Merubah kondisi hubungan anggota

Anda mungkin juga menyukai