Cassandra kimlik doğrulamasını etkinleştir

Cassandra varsayılan olarak, kimlik doğrulama etkinleştirilmeden yüklenir. Bu, herkesin erişebileceği anlamına gelir. Cansu. Edge'i yükledikten sonra veya yüklemenin bir parçası olarak kimlik doğrulamayı etkinleştirebilirsiniz bahsedeceğim.

Cassandra CREATE/ALTER/DROP ROLES ifadelerini kullanarak rol ekleyebilir, kaldırabilir ve değiştirebilirsiniz. Daha fazla bilgi için aşağıdaki konulara bakın:

Dikkat edilmesi gereken bazı genel noktalar

  • Cassandra kimlik doğrulamasını etkinleştirdiğiniz anda Cassandra tarafından otomatik olarak varsayılan bir süper kullanıcı cassandra (cassandra şifresiyle) oluşturulur. Bu, geniş çapta tanınan bir süper kullanıcıdır ve bu kullanıcıyı üretim ihtiyaçlarınız için kullanmamalısınız. Ayrıca, bu süper kullanıcı aracılığıyla kimlik doğrulaması yapmak çoğunluk tutarlılığı gerektirir. Bu nedenle, bu kullanıcı üzerinden kimlik doğrulaması yapan Cassandra'ya yönelik tüm bağlantılar daha yüksek tutarlılık gerektirir. Bu da performansın daha yavaş ve hatadan etkilenmez.
  • Tipik bir iş akışı, yapılandırma dosyası üzerinden özel bir kullanıcı adı ve şifre iletilirken Cassandra'da kimlik doğrulamanın etkinleştirilmesini içerir. Bu işlem, ihtiyaçlarınız için güvenle kullanabileceğiniz özel kullanıcı ve şifre oluşturur. Bu tür kullanıcılar üzerinden kimlik doğrulaması yapmak çoğunluk tutarlılığı kısıtlamalarına tabi değildir.
  • Özel kullanıcı oluşturulmuş olsa bile Cassandra'nın varsayılan cassandra süper kullanıcısını oluşturduğunu ve Cassandra kümenize süper kullanıcı yoluyla erişilebildiğini unutmayın. Cassandra kimlik doğrulaması Apigee'de başarıyla etkinleştirildikten sonra bu cassandra kullanıcısının şifresini varsayılan cassandra dışında bir şifreyle değiştirmek için ALTER ROLE komutunu kullanmanız gerekir. İleride tekrar kullanabilmek için bu şifreyi saklayın.
  • Hizmetin kesintiye uğramasına neden olacağından, edge-* bileşenlerinin kimlik doğrulama için kullandığı rolün şifresini DEĞİŞTİRMEMELİSİNİZ. Bunun yerine yepyeni bir kullanıcı oluşturmalı, edge-* bileşenlerini yeni kullanıcıyı kullanacak şekilde değiştirmeli ve tamamlandığında DROP ROLE komutunu kullanarak eski kullanıcıyı bırakmalısınız.
  • Cassandra kimlik doğrulaması için edge-* bileşenlerinin kullandığı rolü değiştirmek için şu adımları uygulayın:
    1. Yeni bir kullanıcı oluşturmak için Kimlik Doğrulamayı Etkinleştir bölümündeki adımları uygulayın. Kümenizde kimlik doğrulama zaten etkinse ve cassandra kullanıcısının şifresini değiştirdiyseniz mevcut bir kullanıcının kullanıcı adı/şifre kombinasyonunu CASS_EXISTING_USERNAME ve CASS_EXISTING_PASSWORD üzerinden iletmeniz gerektiğini unutmayın.
    2. İşlem tamamlandıktan sonra, cqlsh aracılığıyla Cassandra'ya hem eski hem de yeni kullanıcı üzerinden bağlanabildiğinizi doğrulayın.
    3. Cassandra'ya bağlanan Edge bileşenlerini güncelleme başlıklı makaledeki talimatları uygulayarak tüm edge-* bileşenlerini yeni oluşturulan kullanıcıyı kullanarak Cassandra'ya bağlayın.
    4. Son olarak, tüm bileşenler Cassandra ile iletişim kurmak için yeni kullanıcıyı kullandığında, DROP ROLE komutunu kullanarak eski kullanıcıyı bırakabilirsiniz. Varsayılan cassandra rolünün bırakılmaması gerektiğini unutmayın. edge-* bileşenleri tarafından Cassandra ile iletişim kurmak için kullanılmayan, özel olarak oluşturulmuş rolleri kaldırabilirsiniz.
  • Edge bileşenlerini yüklemek veya yeni sürüme geçirmek için kullandığınız yapılandırma dosyasında işlevsel Cassandra kullanıcı adını ve şifresini güncellemeyi unutmayın. Bu sayede, uç işlemleri sırasında oluşabilecek kesintileri ortadan kaldırır veya en aza indirir.

sırasında Cassandra kimlik doğrulamasını etkinleştir kurulum

Cassandra kimlik doğrulamasını yükleme sırasında etkinleştirebilirsiniz.

Cassandra kimlik doğrulamasını yükleme sırasında etkinleştirmek için CASS_AUTH özelliğini eklemeniz gerekir:

CASS_AUTH=y # The default value is n.

Aşağıdaki Edge bileşenleri Cassandra'ya erişir:

  • Yönetim Sunucusu
  • Mesaj İşleyiciler
  • Yönlendiriciler
  • Qpid sunucuları
  • Postgres sunucuları

Bu bileşenleri yüklediğinizde yapılandırma dosyası:

CASS_USERNAME=cassandra_username
CASS_PASSWORD=cassandra_password

Cassandra'yı yükledikten sonra Cassandra kimlik bilgilerini değiştirebilirsiniz. Ancak Yönetim Sunucusu, İleti İşlemcileri, Yönlendiriciler, Qpid sunucuları veya Postgres zaten yüklüyse bu bileşenleri yeni kimlik bilgilerini kullanacak şekilde güncellemeniz de gerekir.

Cassandra'yı yükledikten sonra Cassandra kimlik bilgilerini değiştirmek için:

  1. cqlsh aracını ve varsayılan değeri kullanarak herhangi bir Cassandra düğümüne giriş yapın kimlik bilgileri. Şifreyi tek bir düğümde değiştirmeniz yeterlidir. Bu şifre herkese açık olur. Halkadaki Cassandra düğümleri:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    Burada:

    1. cassIP, Cassandra düğümünün IP adresidir.
    2. 9042 varsayılan Cassandra bağlantı noktasıdır.
  2. cqlsh dosyasında aşağıdaki komutu yürütün> şifreyi güncelleme istemi:
    ALTER ROLE <username> WITH PASSWORD='';
  3. cqlsh aracından aşağıdaki örnekte gösterildiği gibi çıkın:
    exit
  4. Yönetim Sunucusu'nu ve İleti İşlemcilerini henüz yüklemediyseniz, Yönlendiriciler, Qpid sunucuları veya Postgres sunucuları, aşağıdaki özellikleri config dosyasını açın ve ardından şu bileşenleri yükleyin:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. Yönetim sunucusunu, mesaj işleyicileri, yönlendiricileri, Qpid sunucularını veya Postgres sunucularını zaten yüklediyseniz bu bileşenleri yeni şifreyi kullanacak şekilde güncelleme prosedürü için Edge şifrelerini sıfırlama başlıklı makaleyi inceleyin.

Cassandra kimlik doğrulama yayınını etkinleştir kurulum

Yükleme işleminden sonra kimlik doğrulamayı etkinleştirmek için:

Cassandra'ya bağlanan Edge bileşenlerini güncelleme

Cassandra ile iletişim kuran tüm Edge bileşenlerini güncellemek için aşağıdaki prosedürü uygulayın yeni bir iletişim formu doldurmanız gerekir. Bu adımı, Cassandra kimlik bilgilerini güncellemeden önce uyguladığınızdan emin olun:

  1. Yönetim Sunucusu düğümünde aşağıdaki komutu çalıştırın:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server
      store_cassandra_credentials -u cassandra_username -p cassandra_password

    İsterseniz yeni kullanıcı adını ve şifreyi içeren komuta bir dosya aktarabilirsiniz:

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    configFile şunu içerir:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars

    Bu komut Yönetim Sunucusu'nu otomatik olarak yeniden başlatır.

  2. Aşağıdaki hizmetlerin her biri için 1. adımı tekrarlayın:
    • Tüm Mesaj İşleyiciler
    • Tüm Yönlendiriciler
    • Tüm Qpid sunucuları (edge-qpid-server)
    • Postgres sunucuları (edge-postgres-server)

    Her hizmet için 1. Adım'ı tekrar ettiğinizde edge-management-server görevini komutunu uygun hizmet adıyla değiştirin. Örneğin, Arkadaş Bitkiler projesinin Yönlendirici hizmeti için aşağıdaki komutu kullanın:

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

Kimlik doğrulamayı etkinleştir

Cassandra kimlik doğrulamasını etkinleştirmek için aşağıdaki prosedürü kullanarak kullanıcı adını ve şifre:

  1. Aşağıda gösterilen içeriklerle sessiz bir yapılandırma dosyası oluşturun:
    # Specify IP address or DNS name of cassandra node
    IP1=192.168.1.1
    IP2=192.168.1.2
    IP3=192.168.1.3
    # Must resolve to IP address or DNS name of host
    HOSTIP=$(hostname -i)
    # Set to ‘y’ to enable Cassandra authentication.
    CASS_AUTH=y # Possible values are ‘y/n’
    # Cassandra username. If it does not exist, this user would be created as a SUPERUSER
    CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production
    # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
    CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production
    # Space-separated IP/DNS names of the Cassandra hosts
    CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
    
    # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’)
    CASS_EXISTING_USERNAME=existing_cassandra_username
    # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
    CASS_EXISTING_PASSWORD=existing_cassandra_password
    # Cassandra port
    CASS_PORT=9042 # The default port is 9042.
  2. İlk Cassandra düğümüne giriş yapın ve aşağıdaki komutu yürütün:

    apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

    İsteğe bağlı olarak, özellikleri şu örneği inceleyin:

    CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password  CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication

    Notlar:

    • Varsayılan Cassandra kimlik bilgileri için yukarıdaki komut, Cassandra kimlik doğrulamasını etkinleştirir ve Cassandra'yı yeniden başlatır.
    • Varsayılan olmayan kimlik bilgileri için komut, çoğaltma faktörünü de değiştirir, süper kullanıcı olarak çalışır ve system_auth keyspace adresinde onarım işlemi gerçekleştirir.
  3. Tüm Cassandra düğümlerinde 1. ve 2. adımları tekrarlayın.