Kullanıcı Ayarları 

Bu users bu bölüm user.xml yapılandırma dosyası kullanıcı ayarlarını içerir.

Bu yapı users bölme:

<users>
    <!-- If user name was not specified, 'default' user is used. -->
    <user_name>
        <password></password>
        <!-- Or -->
        <password_sha256_hex></password_sha256_hex>

        <access_management>0|1</access_management>

        <networks incl="networks" replace="replace">
        </networks>

        <profile>profile_name</profile>

        <quota>default</quota>

        <databases>
            <database_name>
                <table_name>
                    <filter>expression</filter>
                <table_name>
            </database_name>
        </databases>
    </user_name>
    <!-- Other users settings -->
</users>

home/şifre 

Şifre düz metin veya SHA256 (hex formatında) belirtilebilir.

  • Düz metin içinde bir şifre atamak için (tavsiye edilmezbir koyun password öğe.

    Mesela, <password>qwerty</password>. Şifre boş bırakılabilir.

  • SHA256 karmasını kullanarak bir şifre atamak için, bir password_sha256_hex öğe.

    Mesela, <password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>.

    Kabuktan bir parola oluşturma örneği:

      PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
    

    Sonucun ilk satırı şifredir. İkinci satır karşılık gelen SHA256 karmasıdır.

  • MySQL istemcileri ile uyumluluk için, şifre çift SHA1 karma belirtilebilir. İçine yerleştirin password_double_sha1_hex öğe.

    Mesela, <password_double_sha1_hex>08b4a0f1de6ad37da17359e592c8d74788a83eb0</password_double_sha1_hex>.

    Kabuktan bir parola oluşturma örneği:

      PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
    

    Sonucun ilk satırı şifredir. İkinci satır karşılık gelen çift SHA1 karmasıdır.

access_management 

Bu ayar, SQL-driven kullanarak devre dışı bırakır sağlar erişim kontrolü ve hesap yönetimi kullanıcı için.

Olası değerler:

  • 0 — Disabled.
  • 1 — Enabled.

Varsayılan değer: 0.

kullanıcı_adı / ağlar 

Kullanıcının ClickHouse sunucusuna bağlanabileceği ağların listesi.

Listenin her öğesi aşağıdaki formlardan birine sahip olabilir:

  • <ip> — IP address or network mask.

    Örnekler: 213.180.204.3, 10.0.0.1/8, 10.0.0.1/255.255.255.0, 2a02:6b8::3, 2a02:6b8::3/64, 2a02:6b8::3/ffff:ffff:ffff:ffff::.

  • <host> — Hostname.

    Örnek: example01.host.ru.

    Erişimi denetlemek için bir DNS sorgusu gerçekleştirilir ve döndürülen tüm IP adresleri eş adresiyle karşılaştırılır.

  • <host_regexp> — Regular expression for hostnames.

    Örnek, ^example\d\d-\d\d-\d\.host\.ru$

    Erişimi kontrol etmek için, bir DNS ptr sorgusu eş adresi için gerçekleştirilir ve sonra belirtilen regexp uygulanır. Daha sonra PTR sorgusunun sonuçları için başka bir DNS sorgusu gerçekleştirilir ve alınan tüm adresler eş adresine karşılaştırılır. Regexp'nin $ile bitmesini şiddetle tavsiye ederiz.

Sunucu yeniden başlatılıncaya kadar DNS isteklerinin tüm sonuçları önbelleğe alınır.

Örnekler

Herhangi bir ağdan kullanıcı için erişimi açmak için şunları belirtin:

<ip>::/0</ip>

Erişimi yalnızca localhost'tan açmak için şunları belirtin:

<ip>::1</ip>
<ip>127.0.0.1</ip>

kullanıcı_adı / profil 

Kullanıcı için bir ayarlar profili atayabilirsiniz. Ayarlar profilleri ayrı bir bölümde yapılandırılır users.xml Dosya. Daha fazla bilgi için, bkz. Ayarların profilleri.

user_name / kota 

Kotalar, belirli bir süre boyunca kaynak kullanımını izlemenize veya sınırlamanıza izin verir. Kotalar yapılandırılır quotas
bu bölüm users.xml yapılandırma dosyası.

Kullanıcı için ayarlanmış bir kotalar atayabilirsiniz. Kotalar yapılandırmasının ayrıntılı bir açıklaması için bkz. Kotalar.

user_name / veritabanları 

Bu bölümde, ClickHouse tarafından döndürülen satırları sınırlayabilirsiniz SELECT geçerli kullanıcı tarafından yapılan sorgular, böylece temel satır düzeyinde güvenlik uygular.

Örnek

Aşağıdaki yapılandırma bu kullanıcıyı zorlar user1 sadece satırları görebilirsiniz table1 sonucu olarak SELECT sorgular, burada değeri id alan 1000'dir.

<user1>
    <databases>
        <database_name>
            <table1>
                <filter>id = 1000</filter>
            </table1>
        </database_name>
    </databases>
</user1>

Bu filter bir sonuç veren herhangi bir ifade olabilir Uİnt8- tip değeri. Genellikle karşılaştırmalar ve mantıksal operatörler içerir. Satır fromlardan database_name.table1 burada filtre sonuçları 0 için bu kullanıcı için döndürülür. Filtreleme ile uyumsuz PREWHERE işlemler ve devre dışı bırakır WHERE→PREWHERE optimizasyon.

Orijinal makale

Rating: 4 - 7 votes

Was this content helpful?
★★★★☆