ags authentication-provider
ags authentication-provider komutu, kullanıcının kimliğinin nasıl doğrulanacağını tanımlayan kayıtları yönetir: dizinde bind, RADIUS, OAuth2/OIDC, SAML, HTTP isteği, web formu ya da TR7'nin kendi yerel veritabanı. Panel karşılığı Authentication Providers ekranıdır.
Bir sağlayıcı kimlik doğrulamanın yöntemidir; bağlanılacak sunucu ayrı bir kayıttır ve ags authentication-server ile tanımlanır.
Komut Özeti
Yazım Sırası
İlk yazılan alan type'tır
Bu komutta tür seçilmeden hiçbir alan görünmez — kaydın adı bile. add yazıp Tab'a basıldığında listede yalnız type çıkar; name ancak tür yazıldıktan sonra istenir. Tür seçilmeden name yazılırsa Command not found: name hatası alınır.
ags authentication-provider add type ldapTür yazıldığı anda komut o türe göre şekillenir: yalnız o türün alanları istenir, diğerleri hiç görünmez. Değerleri görmek için tür yerine Tab kullanılır.
name kurumsal-girisAd, kaydın listede ve başka komutlarda görüneceği etikettir.
-- önekiyle yazılır ve verilmezse varsayılan değeriyle kalır. Bu komutta tür bir ayırıcıdır: türe özel zorunlu alanlar satırda -- ile başlayan alan olsa bile öneksiz kalır ve hepsi tamamlanmadan -- ile başlayan hiçbir alan kabul edilmez. Tab her adımda sıradaki alanı gösterir. Sıradaki alanı görmek
Tab bulunulan noktada yazılabilecekleri tamamlar; authServerId, databaseId, portalGateway gibi başka bir kayda işaret eden alanlarda mevcut kayıtları adlarıyla listeler. Satır sonuna ? yazılıp Enter'a basıldığında aynı liste açıklamalarıyla birlikte gelir.
Sağlayıcı Türleri
type alanı dokuz değer alır. Tür seçildikten sonra önce name, ardından aşağıdaki alanlar istenir:
type | Doğrulama yolu | name'den sonra istenen zorunlu alanlar |
|---|---|---|
ldap | Dizinde arama ve bind | authServerId ldapAuthMethod ldapDefaultDomain ldapUsername ldapPassword (+ yönteme göre üç alan) |
localDb | TR7 üzerindeki yerel veritabanı | databaseId localDbUsername localDbPassword |
radius | RADIUS sunucusunda PAP/CHAP | authServerId radiusUsername radiusPassword |
oauth2 | Yetkilendirme sayfasına yönlendirme, belirteçle kullanıcı bilgisi | oauth2ClientId (+ özel sağlayıcıda üç uç nokta adresi) |
oidc | OAuth2 akışı, kimlik imzalı ID belirtecinden | oauth2ClientId (+ özel sağlayıcıda üç uç nokta adresi) |
saml | Kimlik sağlayıcıya yönlendirme, imzalı SAML yanıtı | samlIdpSsoUrl samlIdpCertificate samlEntityId samlAssertionConsumerServiceUrl |
http | Bilgilerin bir HTTP servisine gönderilmesi | authServerId httpMethod httpPath |
webForm | Var olan bir uygulamanın giriş formuna gönderim | webFormLoginUrl |
portal | Kimliğin portal modundaki başka bir AGS'den alınması | portalGateway |
Tür Tür Alan Sırası ve Örnek Komut
Aşağıdaki tablolarda listelenen alanların tamamı zorunludur: CLI bunları verilen sırayla, tek tek ister ve biri yazılmadan sonraki alanı göstermez. Komut bu alanlar tamamlanmadan çalıştırılırsa hata döner. Koşullu zorunlu işaretli satırlar yalnızca yanında yazan seçim yapıldığında istenir. Bu listelerin dışındaki her alan isteğe bağlıdır ve -- önekiyle yazılır.
ldap
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | ldap |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | authServerId | Zorunlu | Bağlanılacak LDAP sunucusu kaydı (Tab ile seçilir) |
| 4 | ldapAuthMethod | Zorunlu | search-bind (varsayılan) ya da direct-bind |
| 5 | ldapDefaultDomain | Zorunlu | Kullanıcı adında alan adı yoksa eklenecek alan adı |
| 6 | ldapUsername · ldapPassword | Zorunlu | Dizine gönderilecek kullanıcı adı ve parola ifadesi |
| 7 | ldapServiceAccountDN · ldapServiceAccountPassword · ldapSearchBaseDN | Koşullu zorunlu | Yalnız search-bind yönteminde |
direct-bind seçilirse son üç alan yerine bağlama şablonuna göre ldapUserContainer ya da ldapCustomBindPattern istenir.
Grup bilgisi de çekilecekse grup araması ayrı bir güncelleme komutuyla açılır: ags authentication-provider update id <kimlik> --ldapEnableGroupSearch true. Açıldığında grup arama tabanı ve grup süzgeci alanları da yazılabilir.
ldap türünde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--ldapAttributes.N | Dizinden hangi ek özniteliklerin okunacağını belirler | Öznitelik adı; her biri kendi indeksiyle yazılır |
--ldapBindRestrictionFilter | Bağlanmaya izin verilecek kullanıcıları süzer | LDAP süzgeç ifadesi, örneğin (memberOf=CN=VPN Users,DC=kurum,DC=local) |
--ldapEnableGroupSearch | Kullanıcının grup bilgisinin de çekilmesini açar | true · false (varsayılan false); açıldığında aşağıdaki iki alan istenir |
--ldapGroupSearchBase | Grup aramasının başlayacağı dizin dalını belirler | DN, örneğin OU=Gruplar,DC=kurum,DC=local; --ldapEnableGroupSearch true iken açılır |
--ldapGroupFilter | Grup aramasında kullanılacak süzgeci belirler | LDAP süzgeç ifadesi; --ldapEnableGroupSearch true iken açılır |
--ldapSearchFilterType | Kullanıcı aramasında hazır süzgecin mi özel süzgecin mi kullanılacağını seçer | auto (varsayılan) · custom; yalnız ldapAuthMethod search-bind iken açılır |
--ldapCustomSearchFilter | Özel kullanıcı arama süzgecini yazar | LDAP süzgeç ifadesi; --ldapSearchFilterType custom iken açılır |
--ldapBindTemplate | Doğrudan bağlamada kullanıcı adının hangi biçimde gönderileceğini seçer | upn (user@domain) · netbios (domain\user) · uid · cn · custom (varsayılan upn); yalnız ldapAuthMethod direct-bind iken açılır |
--ldapUserContainer | Doğrudan bağlamada kullanıcıların bulunduğu kabı belirler | DN; uid ya da cn şablonu seçildiğinde açılır |
--ldapCustomBindPattern | Doğrudan bağlamada kullanılacak özel bağlama kalıbını yazar | Kalıp ifadesi; --ldapBindTemplate custom iken açılır |
localDb
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | localDb |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | databaseId | Zorunlu | Kullanıcıların bulunduğu yerel veritabanı kaydı |
| 4 | localDbUsername · localDbPassword | Zorunlu | Doğrulanacak kullanıcı adı ve parola ifadesi |
radius
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | radius |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | authServerId | Zorunlu | RADIUS protokollü sunucu kaydı |
| 4 | radiusUsername · radiusPassword | Zorunlu | Sunucuya gönderilecek kullanıcı adı ve parola ifadesi |
Doğrulama biçimi isteğe bağlıdır: --radiusAuthType ile pap (varsayılan) ya da chap seçilir.
radius türünde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--radiusAuthType | RADIUS doğrulama yöntemini seçer | pap (varsayılan) · chap |
--radiusAttributes.N.name · --radiusAttributes.N.value | İsteğe RADIUS özniteliği ekler | Öznitelik adı ve değeri; her çift kendi indeksiyle |
oauth2 ve oidc
İki tür aynı alanları paylaşır; oidc ek olarak kimliği imzalı ID belirtecinden okur.
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | oauth2 ya da oidc |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | oauth2ClientId | Zorunlu | Sağlayıcıdan alınan istemci kimliği |
| 4 | oauth2AuthorizationUrl · oauth2TokenUrl · oauth2UserInfoUrl | Koşullu zorunlu | Üç uç nokta adresi; yalnız sağlayıcı özel olduğunda istenir (hazır katalogdan seçim yapılırsa sorulmaz) |
Hazır sağlayıcı add komutundan sonra seçilir
Sağlayıcı belirtilmezse özel (custom) kabul edilir ve üç uç nokta adresi istenir. CLI add komutunda bu adresleri, --oauth2Provider alanı yazılabilmeden önce sırayla ister; sağlayıcı alanı ancak zorunlu alanlar tamamlandıktan sonra kabul edilir. Hazır katalogdan bir sağlayıcı kullanılacaksa kayıt oluşturulduktan sonra update id <kimlik> --oauth2Provider <sağlayıcı> ile seçilir; güncellemede adres alanları zorunlu değildir. Hazır sağlayıcı seçildiğinde adresler kendiliğinden gelir. Katalog: edevlet, google, microsoft, github, githubEnterprise, gitlab, keycloak, okta, auth0, apple, x, linkedin, facebook, yandex. apple seçilirse appleTeamId, appleKeyId ve applePrivateKey alanları istenir.
Sık kullanılan isteğe bağlı alanlar: --oauth2ClientSecret, --oauth2Scope, --oauth2RedirectUri, --namespace (isteğin çıkacağı route tablosu), --oauth2Tenant (Microsoft, Keycloak, Okta, Auth0, GitLab, GitHub Enterprise için), --oauth2ProviderLogout. Yalnız oidc türünde: --oidcJwksUri.
oauth2 ve oidc türlerinde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--namespace | Sağlayıcıya hangi yönlendirme tablosu üzerinden gidileceğini seçer | Yönlendirme tablosu (varsayılan 1) |
--oauth2Provider | Hazır sağlayıcı kataloğundan seçim yapar; seçim uç adreslerini ve ek alanları belirler | custom (varsayılan) · edevlet · google · microsoft · github · apple · githubEnterprise · gitlab · keycloak · okta · auth0 · x · linkedin · facebook · yandex |
--oauth2ClientSecret | Sağlayıcıdan alınan istemci parolasını taşır | Sağlayıcının verdiği gizli anahtar |
--oauth2Scope | Sağlayıcıdan hangi izinlerin isteneceğini belirler | Boşlukla ayrılmış kapsam listesi, örneğin "openid profile email" |
--oauth2RedirectUri | Sağlayıcının kullanıcıyı geri göndereceği adresi belirler | Sağlayıcı tarafında da tanımlı olan geri dönüş adresi |
--oauth2LogoutUrl | Oturum kapatmada sağlayıcıya gidilecek adresi belirler | Sağlayıcının oturum kapatma adresi |
--oauth2RevocationUrl | Belirteç iptali için sağlayıcı adresini belirler | Sağlayıcının iptal adresi |
--oauth2RevokeOnLogout | Oturum kapanırken belirteçlerin iptal edilmesini açar | true · false (varsayılan false) |
--oauth2ProviderLogout | Oturum kapanırken sağlayıcıdan da çıkış yapılmasını açar | true · false (varsayılan false) |
--oauth2ClientAuthMethod | İstemcinin sağlayıcıya kendini nasıl tanıtacağını seçer | post istek gövdesinde (varsayılan) · basic başlıkta · none |
--oauth2PkceRequired | PKCE korumasını açar | true · false (varsayılan false) |
--oauth2PkceMethod | PKCE doğrulama yöntemini seçer | --oauth2PkceRequired true ve özel sağlayıcı seçiliyken açılır |
--oauth2UserInfoMethod | Kullanıcı bilgisinin hangi yöntemle isteneceğini seçer | get (varsayılan) · post |
--oauth2UserInfoParams.N.name · --oauth2UserInfoParams.N.value | Kullanıcı bilgisi isteğine ek parametre ekler | Parametre adı ve değeri; her çift kendi indeksiyle |
--oauth2Tenant | Kiracı ya da örnek adresini belirler | Kiracı kimliği; Microsoft, Keycloak, Okta, Auth0, GitHub Enterprise gibi sağlayıcılarda açılır |
--oauth2HostedDomain | Girişi tek bir alan adıyla sınırlar | Alan adı; --oauth2Provider google iken açılır |
--oauth2AccessType | Yenileme belirteci alınıp alınmayacağını belirler | --oauth2Provider google iken açılır |
--oauth2Prompt | Sağlayıcının giriş ekranını her seferinde gösterip göstermeyeceğini belirler | --oauth2Provider google iken açılır |
--appleTeamId · --appleKeyId · --applePrivateKey | Apple ile giriş için imzalama bilgilerini taşır | Takım kimliği, anahtar kimliği ve .p8 özel anahtarı; --oauth2Provider apple iken açılır |
oidc türünde ek olarak:
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--oidcJwksUri | Belirteç imzalarının doğrulanacağı anahtar kümesi adresini belirler | JWKS adresi |
--oidcSkipSignatureVerification | Belirteç imzasının doğrulanmasını atlar | true · false (varsayılan false) |
--oidcSkipNonceValidation | Nonce denetimini atlar | true · false (varsayılan false) |
saml
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | saml |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | samlIdpSsoUrl | Zorunlu | Kimlik sağlayıcının tek oturum açma adresi |
| 4 | samlIdpCertificate | Zorunlu | Kimlik sağlayıcının imzalama sertifikası |
| 5 | samlEntityId | Zorunlu | TR7'nin (servis sağlayıcının) varlık kimliği |
| 6 | samlAssertionConsumerServiceUrl | Zorunlu | SAML yanıtının döneceği adres ya da yol |
İsteğe bağlı olarak imza beklentileri (--samlWantAssertionsSigned, varsayılan açık; --samlWantResponseSigned, varsayılan kapalı), ad biçimi (--samlNameIdFormat), istek bağlama yöntemi (--samlAuthnRequestBinding, varsayılan HTTP-Redirect) ve saat toleransı (--samlClockSkew.val, varsayılan 5 dakika) ayarlanır.
saml türünde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--samlIdpEntityId | Kimlik sağlayıcının kendini tanıttığı kimliği belirler | IdP entity ID (issuer) değeri |
--samlNameIdFormat | Kullanıcı kimliğinin hangi biçimde geleceğini belirler | urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified (varsayılan) · urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress · urn:oasis:names:tc:SAML:2.0:nameid-format:persistent · urn:oasis:names:tc:SAML:2.0:nameid-format:transient |
--samlWantAssertionsSigned | Gelen bildirimlerin imzalı olmasını zorunlu kılar | true (varsayılan) · false |
--samlWantResponseSigned | Gelen yanıtın imzalı olmasını zorunlu kılar | true · false (varsayılan false) |
--samlClockSkew.val · --samlClockSkew.unit | İki taraf arasındaki saat farkı toleransını belirler | Sayı ve birim (varsayılan 5 dakika) |
--samlForceAuthn | Kullanıcının her seferinde yeniden kimlik doğrulamasını ister | true · false (varsayılan false) |
--samlAuthnRequestBinding | Kimlik doğrulama isteğinin hangi yöntemle gönderileceğini seçer | HTTP-Redirect (varsayılan) · HTTP-POST |
http
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | http |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | authServerId | Zorunlu | İsteğin gideceği HTTP sunucusu kaydı |
| 4 | httpMethod | Zorunlu | İstek yöntemi (GET, POST, PUT… varsayılan POST) |
| 5 | httpPath | Zorunlu | İstek yolu |
Başarının neye göre belirleneceği --httpSuccessConditions.0 ile seçilir; varsayılan statusCode, beklenen kod varsayılanı 200. Koşula cookie, redirectUrl ya da jsonata eklendiğinde sırasıyla httpExpectedCookieName, httpExpectedRedirectUrl ve httpSuccessJsonataExpression alanları da istenir. Gövde biçimi --httpBodyType (varsayılan json), zaman aşımı --httpTimeout (varsayılan 30 saniye) ile ayarlanır; başlık ve sorgu parametreleri indeksli alanlarla eklenir.
http türünde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--httpQueryParams.N.name · --httpQueryParams.N.value | İsteğe sorgu parametresi ekler | Parametre adı ve değeri; her çift kendi indeksiyle |
--httpHeaders.N.name · --httpHeaders.N.value | İsteğe HTTP başlığı ekler | Başlık adı ve değeri; her çift kendi indeksiyle |
--httpBodyType | İstek gövdesinin biçimini seçer | none · multipartForm · urlEncodedForm · json (varsayılan) · raw |
--httpBodyParams.N.name · --httpBodyParams.N.value | Gövdeye alan ekler | Alan adı ve değeri; --httpBodyType json, multipartForm ya da urlEncodedForm iken açılır ve en az bir çift gerekir |
--httpRawBody | Gövdeyi olduğu gibi yazar | Ham gövde metni; --httpBodyType raw iken açılır ve zorunlu olur |
--httpTimeout | İsteğin ne kadar bekleyeceğini belirler | 1 ile 300 arasında saniye (varsayılan 30) |
--httpFollowRedirects | Yönlendirmelerin izlenip izlenmeyeceğini belirler | true (varsayılan) · false |
Başarı ölçütleri (http önekiyle):
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--httpSuccessConditions.N | Girişin başarılı sayılması için hangi ölçütlere bakılacağını seçer | statusCode (varsayılan) · cookie · redirectUrl · jsonata; birden çoğu birlikte seçilebilir |
--httpExpectedStatusCodes.N | Başarılı sayılacak HTTP durum kodlarını belirler | Durum kodu; statusCode ölçütü seçiliyken açılır |
--httpExpectedCookieName | Yanıtta bulunması beklenen çerezin adını belirler | Çerez adı; cookie ölçütü seçiliyken açılır ve zorunlu olur |
--httpExpectedRedirectUrl | Yanıtta beklenen yönlendirme adresini belirler | Adres; redirectUrl ölçütü seçiliyken açılır ve zorunlu olur |
--httpSuccessJsonataExpression | Yanıt gövdesinin JSONata ifadesiyle denetlenmesini sağlar | JSONata ifadesi; jsonata ölçütü seçiliyken açılır |
webForm
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | webForm |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | webFormLoginUrl | Zorunlu | Bilgilerin gönderileceği giriş formu adresi |
Başarı koşulu http türündeki mantıkla aynı çalışır (--webFormSuccessConditions.0), ancak beklenen durum kodu varsayılanı 302 ve 303'tür. Forma gönderilecek alanlar indeksli yazılır: --webFormLoginFields.0.name, --webFormLoginFields.0.value.
webForm türünde yazılabilen isteğe bağlı alanlar
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--namespace | Forma hangi yönlendirme tablosu üzerinden gidileceğini seçer | Yönlendirme tablosu (varsayılan 1) |
--webFormLoginFields.N.name · --webFormLoginFields.N.value | Giriş formuna gönderilecek alanları yazar | Form alanının adı ve değeri; kullanıcı girdisi %AGS_USER_INPUT(...) ile taşınır |
Başarı ölçütleri (webForm önekiyle):
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--webFormSuccessConditions.N | Girişin başarılı sayılması için hangi ölçütlere bakılacağını seçer | statusCode (varsayılan) · cookie · redirectUrl · jsonata; birden çoğu birlikte seçilebilir |
--webFormExpectedStatusCodes.N | Başarılı sayılacak HTTP durum kodlarını belirler | Durum kodu; statusCode ölçütü seçiliyken açılır |
--webFormExpectedCookieName | Yanıtta bulunması beklenen çerezin adını belirler | Çerez adı; cookie ölçütü seçiliyken açılır ve zorunlu olur |
--webFormExpectedRedirectUrl | Yanıtta beklenen yönlendirme adresini belirler | Adres; redirectUrl ölçütü seçiliyken açılır ve zorunlu olur |
--webFormSuccessJsonataExpression | Yanıt gövdesinin JSONata ifadesiyle denetlenmesini sağlar | JSONata ifadesi; jsonata ölçütü seçiliyken açılır |
portal
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | type | Zorunlu | portal |
| 2 | name | Zorunlu | Kaydın adı |
| 3 | portalGateway | Zorunlu | Kimliğin alınacağı, portal modundaki ağ geçidi kaydı |
Tüm Türlerde Ortak İsteğe Bağlı Alanlar
Aşağıdaki alanlar dokuz türün hepsinde yazılabilir.
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--userMapping.N.agsAttribute · --userMapping.N.sourceAttribute | Sağlayıcıdan gelen kullanıcı bilgisinin AGS alanlarına eşlenmesini sağlar | AGS alanı ve kaynaktaki öznitelik adı; her eşleme kendi indeksiyle |
--buttonText | Giriş sayfasındaki düğmenin yazısını belirler | Düğmede görünecek metin |
--buttonIcon | Giriş düğmesinin simgesini belirler | Simge adı |
--buttonColor | Giriş düğmesinin rengini belirler | Renk değeri |
--lockoutBehaviour | Hatalı girişlerde kilitleme davranışını belirler | inherit gateway varsayılanlarını kullanır (varsayılan) · override onların yerine geçer · extend üzerine ekler · disabled kilitleme yapmaz |
--lockoutPolicies.N | Uygulanacak kilitleme ilkelerini seçer | Kilitleme ilkesi kaydı; --lockoutBehaviour override ya da extend iken açılır |
Güncelleme ve Silme
Güncelleme kimliği id alanıyla ister ve yalnız yazılan alanları değiştirir:
Tür güncellemede de değiştirilebilir; değiştirildiğinde yeni türün alanlarının da verilmesi gerekir.
Bilinmesi Gerekenler
- Kullanıcı adı ve parola alanları birer ifadedir.
ldapUsername,localDbPassword,radiusUsernamegibi alanlara sabit bir kullanıcı adı değil, değerin nereden geleceğini söyleyen ifade yazılır. Varsayılanları giriş formundan gelen değerlerdir:"%AGS_USER_INPUT(username)"ve"%AGS_USER_INPUT(password)". - Parantez içeren değerler tırnak içine alınır. Komut satırı
(ve)işaretlerini ayırıcı sayar; bu yüzden"%AGS_USER_INPUT(username)"ve"(&(objectClass=group))"gibi değerler çift tırnakla yazılır. Boşluk içeren değerler (örneğin bir DN) de tırnak ister. Adres ve yol değerleri tırnaksız yazılabilir. - Gizli sorulan alan yoktur. Bu komutta servis hesabı parolası, istemci gizli anahtarı ve özel anahtar içeriği doğrudan komut satırına yazılır; satır ekranda görünür ve komut geçmişine düşer. Gizlilik gerektiren kurulumlar panelden yapılabilir.
- Satırda bir
--varsa, türe özel alanlar da--alır.typevenameher zaman öneksizdir. Türe bağlı alanlar ise yalnızca satırda hiç--yokken öneksiz yazılır; satıra bir isteğe bağlı alan eklendiği anda hepsi--önekli biçime geçer. - Sağlayıcı tek başına çalışmaz. Oluşturulan kayıt, bir ağ geçidinin akışına bağlanana kadar kullanılmaz; bağlama
ags gatewayile yapılır.
