Güvenlik Kuralları'ndaki Access apply sekmesini kullanarak; veritabanı örnekleri, veritabanları, tablolar, sütunlar, satırlar, programlanabilir nesneler ve veri sahipliği için izin isteklerine yönelik onay iş akışlarını tanımlayın. Kurallar, DMS'nin alana özel dilinde (DSL) yazılır ve kullanıcılar izin talepleri gönderdiğinde kontrol noktaları olarak değerlendirilir.
Çalışma şekli
Bir kullanıcı bir izin talebi gönderdiğinde DMS bu talebi her bir kontrol noktası altında tanımlanan kurallara göre değerlendirir. Talep yalnızca geçerli tüm kurallardan geçtiğinde ilerler. Her kontrol noktası belirli talep türleriyle eşleşir ve özel bir kuralın eşleşmediği durumlarda uygulanan varsayılan bir onay şablonuna sahiptir.
Aşağıdaki tabloda izin türleri, kontrol noktaları ve varsayılan şablonlar arasındaki ilişki gösterilmektedir:
| İzin türü | Kontrol noktası | Varsayılan onay şablonu |
|---|---|---|
| Örnek (performans, oturum açma) | Validation for instance permission application | [Instance-permission application] default approval template |
| Veritabanı | Database permission application validation | [DB-permission application] default approval template |
| Tablo | Table permission application validation | Table-permission request default approval template |
| Programlanabilir nesne | Programmable object verification | [Programmable object-permission application] default approval template |
| Hassas sütun | Sensitive field application validation | [Field-permission application] default approval template |
| Satır | Line permission application verification | Line-permission application default approval template |
| Veri sahipliği (mevcut sahibi yok) | Owner application validation | [Owner-application] default approval template (when the resource has no owner) |
| Veri sahipliği (sahibi var) | Owner application validation | [Owner-application] default approval template (when the resource has an owner) |
Her kontrol noktası için varsayılan şablon, ilgili kontrol noktasında belirli risk seviyeleri için özel kural yapılandırılmadığında etkin olur. Varsayılanı geçersiz kılmak için ilgili kontrol noktası altında bir güvenlik kuralı oluşturun.
Ön koşullar
Başlamadan önce aşağıdaki rollerden birine sahip olduğunuzdan emin olun:
DMS yöneticisi
Veritabanı yöneticisi (DBA)
Güvenlik yöneticisi
Temel kavramlar
Faktörler, DMS bir güvenlik kuralını değerlendirirken bağlam sağlayan önceden tanımlanmış değişkenlerdir. Faktör adları @fac. önekini kullanır. Access apply sekmesinde aşağıdaki faktörler kullanılabilir:
| Faktör | Açıklama |
|---|---|
@fac.env_type |
Ortam türünün görünen adı; örneğin DEV veya PRODUCT. Ayrıntılar için bkz. Change the environment type of an instance. |
@fac.schema_name |
Veritabanının adı. |
@fac.perm_apply_duration |
İstenen izinlerin süresi (saat cinsinden). |
@fac.column_security_level |
Sütunun güvenlik seviyesi. Geçerli değerler: sensitive, confidential, inner. |
@fac.perm_type |
İstenen izin türleri; örneğin ['CORRECT','EXPORT'] gibi bir dize listesi olarak döndürülür. Geçerli değerler: QUERY, EXPORT, CORRECT, LOGIN, PERF. İzin kümesinin tam olarak değerlendirilmesi için @fun.listEqualIgnoreOrder ile birlikte kullanın. Örneğin, @fun.listEqualIgnoreOrder(@fac.perm_type, ['QUERY']) ifadesi yalnızca sorgu izinlerinin istenip istenmediğini kontrol eder. |
Actions öğeleri, bir kuralın koşulu karşılandığında DMS'nin ne yapacağını tanımlar. Eylem adları @act. önekini kullanır. Access apply sekmesinde aşağıdaki eylemler kullanılabilir:
| Eylem | Açıklama |
|---|---|
@act.forbid_submit_order |
Talebin gönderilmesini engeller. |
@act.do_not_approve |
Bir onay şablonunun kimliğini belirtir. Ayrıntılar için bkz. Configure approval processes. |
@act.choose_approve_template |
|
@act.choose_approve_template_with_reason |
DSL sözdizimi ayrıntıları için bkz. DSL syntax for security rules.
Güvenlik kuralı şablonları
DMS, yaygın onay senaryoları için önceden tanımlanmış şablonlar sağlar. Bir başlangıç noktası olarak bir şablon seçin ve gereksinimlerinize uyacak şekilde DSL'i değiştirin.
| Kontrol noktası | Kullanılabilir şablonlar |
|---|---|
| Owner application validation | Block all ownership applicationsBlock ownership applications in productionAuto-approve ownership applications in test |
| Database permission application validation | Block all database permission applicationsBlock database permission applications in productionAuto-approve database permission applications in test |
| Table permission application validation | Block all table permission applicationsBlock table permission applications in productionAuto-approve table permission applications in test |
| Programmable object verification | Block all programmable object applicationsBlock programmable object applications in productionAuto-approve programmable object applications in test |
| Sensitive field application validation | Block all sensitive column permission applicationsRoute confidential column applications to a specific approval process |
| Line permission application verification | Block all row permission applicationsBlock row permission applications in productionRoute row permission applications to a specific approval process |
Güvenlik kuralı oluşturma
DMS console V5.0 adresinde oturum açın.
-
Sol üst köşedeki
simgesinin üzerine gelin ve seçeneklerini belirleyin.NotDMS konsolunu normal modda kullanıyorsanız üst gezinme çubuğundan seçeneğini belirleyin.
-
Sol üst köşedeki
simgesinin üzerine gelin ve All functions > Security and Specifications > Security Rules seçeneklerini belirleyin.Normal modda üst gezinme çubuğundan Security and Specifications > Security Rules seçeneğini belirleyin.
Security Rules sekmesinde yönetmek istediğiniz güvenlik kuralı kümesini bulun ve Actions sütunundaki Edit seçeneğine tıklayın.
Details sayfasında sol bölmedeki Access apply sekmesine tıklayın.
Actions öğesinin yanındaki Create Rule seçeneğine tıklayın.
-
Create Rule - Access apply iletişim kutusunda aşağıdaki parametreleri yapılandırın:
Parametre Zorunlu Açıklama Checkpoints Evet Bu kuralın ekleneceği kontrol noktası. How it works bölümünde listelenen yedi kontrol noktasından birini seçin. Template database Hayır Başlangıç noktası olarak kullanılacak önceden tanımlanmış bir şablon. Bir kontrol noktası seçtikten sonra mevcut şablonlara göz atmak için Load from Template Database seçeneğine tıklayın. Kural adı ve DSL otomatik olarak doldurulur. Rule name Evet Kural için açıklayıcı bir ad. Şablondan yüklenirken otomatik olarak doldurulur. Rule DSL Evet Koşulu ve eylemi tanımlayan DSL ifadesi. Şablondan yüklenirken otomatik olarak doldurulur. Sözdizimi ayrıntıları için bkz. DSL syntax for security rules. Submit seçeneğine tıklayın.
Kural varsayılan olarak Disabled durumunda oluşturulur. Kuralı etkinleştirmek için Actions sütunundaki Enable seçeneğine tıklayın ve ardından OK seçeneğine tıklayın.
Sonraki adımlar
DSL syntax for security rules — Özel koşullar ve eylemler yazmak için tam DSL sözdizimini öğrenin.
Configure approval processes —
@act.choose_approve_templatetarafından başvurulan onay şablonlarını ayarlayın.Data change — Bir örnek izin başvurusu için varsayılan onay şablonunu değiştirin.