Bagikan melalui


struktur RPC_SECURITY_QOS_V4_A (rpcdce.h)

Struktur RPC_SECURITY_QOS_V4 mendefinisikan pengaturan kualitas layanan keamanan versi 4 pada handel pengikatan. Lihat Keterangan untuk ketersediaan versi pada edisi Windows.

Sintaks

typedef struct _RPC_SECURITY_QOS_V4_A {
  unsigned long Version;
  unsigned long Capabilities;
  unsigned long IdentityTracking;
  unsigned long ImpersonationType;
  unsigned long AdditionalSecurityInfoType;
  union {
    RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
  } u;
  void          *Sid;
  unsigned int  EffectiveOnly;
} RPC_SECURITY_QOS_V4_A, *PRPC_SECURITY_QOS_V4_A;

Anggota

Version

Versi struktur RPC_SECURITY_QOS yang digunakan. Topik ini mendokumentasikan versi 4 dari struktur RPC_SECURITY_QOS . Lihat RPC_SECURITY_QOS, RPC_SECURITY_QOS_V2, RPC_SECURITY_QOS_V3, dan RPC_SECURITY_QOS_V5 untuk versi lainnya.

Capabilities

Layanan keamanan disediakan untuk aplikasi. Kemampuan adalah sekumpulan bendera yang dapat digabungkan menggunakan operator OR bitwise.

Nilai Makna
RPC_C_QOS_CAPABILITIES_DEFAULT
Tidak diperlukan kemampuan khusus penyedia.
RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH
Run time RPC meminta autentikasi bersama dari penyedia keamanan. Beberapa penyedia keamanan tidak mendukung autentikasi bersama. Jika penyedia keamanan tidak mendukung autentikasi bersama, atau identitas server tidak dapat dibuat, panggilan prosedur jarak jauh ke server tersebut gagal dengan kesalahan RPC_S_SEC_PKG_ERROR.
Catatan RPC bergantung pada SSP untuk menunjukkan opsi keamanan mana yang berhasil dinegosiasikan; pada gilirannya panggilan RPC gagal jika laporan SSP tidak dapat menegosiasikan opsi. Namun, beberapa penyedia keamanan diketahui melaporkan keberhasilan negosiasi opsi bahkan ketika opsi tidak berhasil dinegosiasikan. Misalnya, NTLM akan melaporkan keberhasilan negosiasi autentikasi timbal balik karena alasan kompatibilitas mundur, meskipun tidak mendukung autentikasi bersama. Periksa dengan SSP tertentu yang digunakan untuk menentukan perilakunya sehubungan dengan opsi keamanan.
 
RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC
Saat ini tidak diimplementasikan.
RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY
Menerima kredensial klien bahkan jika otoritas sertifikat (CA) tidak ada dalam daftar CA tepercaya server. Konstanta ini hanya digunakan oleh SCHANNEL SSP.
RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE
Runtime RPC pada klien mengabaikan kesalahan untuk menetapkan konteks keamanan yang mendukung delegasi. Biasanya, jika klien meminta delegasi dan sistem keamanan tidak dapat menetapkan konteks keamanan yang mendukung delegasi, kesalahan RPC_S_SEC_PKG_ERROR dikembalikan; ketika bendera ini ditentukan, tidak ada kesalahan yang dikembalikan.
Catatan Tidak didukung pada Windows XP dan edisi klien sebelumnya, tidak didukung pada Windows 2000 dan edisi server sebelumnya.
 
RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT
Server lokal untuk mesin yang melakukan panggilan RPC. Dalam situasi ini RPC menginstruksikan pemeta titik akhir untuk hanya mengambil titik akhir yang didaftarkan oleh prinsipal yang ditentukan dalam anggota ServerPrincName atau Sid (anggota ini hanya tersedia di RPC_SECURITY_QOS_V3, RPC_SECURITY_QOS_V4, dan RPC_SECURITY_QOS_V5 ). Lihat Keterangan untuk informasi selengkapnya.
Catatan Tidak didukung pada Windows XP dan edisi klien sebelumnya, tidak didukung pada Windows 2000 dan edisi server sebelumnya.
 

IdentityTracking

Mode pelacakan konteks sebagai salah satu nilai berikut.

Nilai Makna
RPC_C_QOS_IDENTITY_STATIC
Konteks keamanan dibuat hanya sekali dan tidak pernah direvisi selama seluruh komunikasi, bahkan jika sisi klien mengubahnya. Ini adalah perilaku default jika RPC_SECURITY_QOS_V4 tidak ditentukan.
RPC_C_QOS_IDENTITY_DYNAMIC
Konteks Keamanan direvisi setiap kali ModifiedId dalam token klien diubah. Semua protokol menggunakan ModifiedId (lihat catatan).

Windows 2000: Semua protokol jarak jauh (semua protokol selain ncalrpc) menggunakan AuthenticationID, juga dikenal sebagai LogonId, untuk melacak perubahan dalam identitas klien. Protokol ncalrpc menggunakan ModifiedId.

ImpersonationType

Tingkat di mana proses server dapat meniru klien.

Nilai Makna
RPC_C_IMP_LEVEL_DEFAULT
Menggunakan tingkat peniruan default.
RPC_C_IMP_LEVEL_ANONYMOUS
Klien tidak memberikan informasi identifikasi ke server. Server tidak dapat meniru klien atau mengidentifikasi klien. Banyak server menolak panggilan dengan jenis peniruan ini.
RPC_C_IMP_LEVEL_IDENTIFY
Server dapat memperoleh identitas klien, dan meniru klien untuk melakukan pemeriksaan daftar Access Control (ACL), tetapi tidak dapat meniru klien. Lihat Tingkat Peniruan Untuk informasi selengkapnya.
Catatan Beberapa penyedia keamanan mungkin memperlakukan jenis peniruan ini setara dengan RPC_C_IMP_LEVEL_IMPERSONATE.
 
RPC_C_IMP_LEVEL_IMPERSONATE
Server dapat meniru konteks keamanan klien pada sistem lokalnya, tetapi tidak pada sistem jarak jauh.
RPC_C_IMP_LEVEL_DELEGATE
Server dapat meniru konteks keamanan klien saat bertindak atas nama klien. Server juga dapat melakukan panggilan keluar ke server lain sambil bertindak atas nama klien. Server dapat menggunakan konteks keamanan klien pada komputer lain untuk mengakses sumber daya lokal dan jarak jauh sebagai klien.

AdditionalSecurityInfoType

Jenis kredensial tambahan yang ada di u union. Konstanta berikut didukung:

Konstanta yang Didukung Makna
0
Tidak ada kredensial tambahan yang diteruskan di u union.
RPC_C_AUTHN_INFO_TYPE_HTTP
Anggota HttpCredentials dari serikat u menunjuk ke struktur RPC_HTTP_TRANSPORT_CREDENTIALS . Nilai ini hanya dapat digunakan ketika urutan protokol ncacn_http. Urutan protokol lainnya mengembalikan RPC_S_INVALID_ARG.

u

u.HttpCredentials

Set kredensial tambahan untuk diteruskan ke RPC, dalam bentuk struktur RPC_HTTP_TRANSPORT_CREDENTIALS . Digunakan saat anggota AdditionalSecurityInfoType diatur ke RPC_C_AUTHN_INFO_TYPE_HTTP.

Sid

Penunjuk ke pengidentifikasi keamanan (SID). SID adalah alternatif untuk anggota ServerPrincName , dan hanya satu yang dapat ditentukan. Anggota Sid tidak dapat diatur ke non-NULL jika penyedia keamanan adalah SCHANNEL SSP. Beberapa urutan protokol menggunakan Sid secara internal untuk keamanan, dan beberapa menggunakan ServerPrincName. Misalnya, ncalrpc menggunakan Sid secara internal, dan jika pemanggil tahu SID dan ServerPrincName, panggilan menggunakan ncalrpc dapat selesai jauh lebih cepat dalam beberapa kasus jika SID diteruskan. Sebaliknya, urutan protokol ncacn_ dan ncadg_ menggunakan ServerPrincName secara internal, dan karenanya dapat menjalankan panggilan lebih cepat ketika disediakan ServerPrincName.

EffectiveOnly

Jika diatur, hanya hak istimewa yang diaktifkan yang dilihat oleh server.

Keterangan

Daftar berikut menentukan ketersediaan versi QOS pada berbagai sistem operasi Windows:

  • Versi 1: Windows 2000 dan yang lebih baru.
  • Versi 2: Windows XP dengan Paket Layanan 1 (SP1) dan yang lebih baru.
  • Versi 3: Windows Server 2003 dan yang lebih baru.
  • Versi 4: Windows Vista dan yang lebih baru.
  • Versi 5: Windows 8 dan yang lebih baru.
Edisi Windows juga mendukung versi tingkat bawah. Misalnya, Windows Server 2003 mendukung versi 3, tetapi juga mendukung versi 1 dan 2.

Fungsi keamanan sisi klien RpcBindingInqAuthInfoEx dan RpcBindingSetAuthInfo menggunakan struktur RPC_SECURITY_QOS untuk menanyakan, atau mengatur, kualitas keamanan layanan untuk handel pengikatan.

RPC mendukung petunjuk RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT (tidak didukung pada Windows XP dan edisi klien sebelumnya, tidak didukung pada Windows 2000 dan edisi server yang lebih lama). Petunjuk ini hanya digunakan ketika titik akhir dinamis dan autentikasi bersama digunakan. Selain itu, ini tidak didukung untuk urutan protokol ncadg_ . Jika bendera ini digunakan untuk urutan protokol ncadg_ , atau tanpa menggunakan autentikasi timbal balik, RPC_S_INVALID_ARG dikembalikan dari panggilan fungsi RpcBindingSetAuthInfoEx . Bendera ini dirancang untuk mencegah Penolakan Serangan Layanan. Menggunakan bendera ini memaksa RPC Runtime untuk meminta pemeta titik akhir hanya untuk titik akhir yang didaftarkan oleh prinsipal yang ditentukan dalam anggota ServerPrincName atau Sid . Ini mencegah penyerang pada komputer lokal mencoba menipu klien RPC Anda untuk terhubung ke titik akhir spoof yang telah terdaftar di pemeta titik akhir. Perhatikan bahwa karena serangan hanya lokal (seperti dari komputer server terminal dengan banyak pengguna), bendera juga hanya berfungsi untuk panggilan RPC yang dilakukan secara lokal.

Catatan Beberapa penyedia keamanan, seperti Kerberos, mendukung jenis peniruan delegasi. Pada edisi Windows yang mendukung jenis peniruan delegasi, jika klien telah meminta delegasi tetapi penyedia keamanan tidak dapat menyediakannya, panggilan gagal dengan PRC_S_SEC_PKG_ERROR kecuali bendera RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE ditentukan.
 

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header rpcdce.h (termasuk Rpc.h)

Lihat juga

RPC_BINDING_HANDLE_SECURITY_V1

RPC_HTTP_TRANSPORT_CREDENTIALS

RPC_SECURITY_QOS

RPC_SECURITY_QOS_V2

RPC_SECURITY_QOS_V3

RPC_SECURITY_QOS_V5

RpcBindingInqAuthInfoEx

RpcBindingSetAuthInfoEx