Cassandra, varsayılan olarak kimlik doğrulama etkinleştirilmeden yüklenir. Bu, Cassandra'ya herkesin erişebileceği anlamına gelir. Kimlik doğrulamayı Edge'i yükledikten sonra veya yükleme işlemi sırasında etkinleştirebilirsiniz.
Cassandra CREATE/ALTER/DROP ROLES ifadelerini kullanarak rol ekleyebilir, kaldırabilir ve değiştirebilirsiniz. Daha fazla bilgi için aşağıdaki kaynaklara 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, yaygın olarak bilinen bir süper kullanıcıdır ve bu kullanıcıyı üretim ihtiyaçlarınız için kullanmamanız gerekir. Ayrıca, bu süper kullanıcı aracılığıyla kimlik doğrulama için çoğunluk tutarlılığı gerekir. Bu nedenle, bu kullanıcı aracılığıyla kimlik doğrulaması yapan Cassandra'ya yönelik tüm bağlantılar daha katı tutarlılık gerektirir. Bu da daha yavaş ve hatadan etkilenmez performansa neden olur.
- Tipik bir iş akışında, yapılandırma dosyası aracılığıyla özel bir kullanıcı adı ve şifre iletilirken Cassandra'da kimlik doğrulama etkinleştirilir. Bu işlem, ihtiyaçlarınız için güvenle kullanabileceğiniz özel kullanıcı ve şifreyi oluşturur. Bu tür kullanıcılar aracılığıyla kimlik doğrulama, çoğunluk tutarlılığı kısıtlamalarına tabi değildir.
- Özel bir kullanıcı oluşturulmuş olsa bile Cassandra'nın varsayılan cassandra süper kullanıcısını oluşturmaya devam ettiğini ve Cassandra kümenize süper kullanıcı aracılığıyla erişilebileceğini unutmayın. Genellikle, Cassandra kimlik doğrulaması Apigee'de genel olarak 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 kullanmak üzere bu şifreyi kaydedin.
- edge-* bileşenlerinin kimlik doğrulama için kullandığı rolün şifresini DEĞİŞTİRMEMELİSİNİZ. Aksi takdirde hizmette anında kesinti yaşanır. Bunun yerine, yeni bir kullanıcı oluşturmanız, edge-* bileşenlerini yeni kullanıcıyı kullanacak şekilde değiştirmeniz ve işlem tamamlandıktan sonra DROP ROLE komutunu kullanarak eski kullanıcıyı silmeniz gerekir.
- Cassandra kimlik doğrulaması için edge-* bileşenleri tarafından kullanılan rolü değiştirmek üzere aşağıdaki adımları uygulayın:
- Yeni bir kullanıcı oluşturmak için Kimlik Doğrulamayı Etkinleştirme başlıklı bölümdeki 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_USERNAMEveCASS_EXISTING_PASSWORDaracılığıyla iletmeniz gerekir. - İşlem tamamlandıktan sonra, hem eski hem de yeni kullanıcı üzerinden Cassandra'ya bağlanabildiğinizi cqlsh ile doğrulayın.
- Cassandra'ya bağlanan Edge bileşenlerini güncelleme bölümündeki talimatları uygulayarak tüm edge-* bileşenlerini, Cassandra'ya bağlanmak için yeni oluşturulan kullanıcıyı kullanacak şekilde ayarlayın.
- Son olarak, tüm bileşenler Cassandra ile iletişim kurmak için yeni kullanıcıyı kullandığında
DROP ROLEkomutunu kullanarak eski kullanıcıyı bırakabilirsiniz. Varsayılan cassandra rolünün silinmemesi gerektiğini unutmayın. Cassandra ile iletişim kurmak için edge-* bileşenleri tarafından kullanılmayan özel olarak oluşturulmuş rolleri bırakabilirsiniz.
- Yeni bir kullanıcı oluşturmak için Kimlik Doğrulamayı Etkinleştirme başlıklı bölümdeki 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
- Edge bileşenlerini yüklemek veya yükseltmek 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 kesintiler ortadan kaldırılır veya en aza indirilir.
Yükleme sırasında Cassandra kimlik doğrulamasını etkinleştirme
Cassandra kimlik doğrulamasını yükleme sırasında etkinleştirebilirsiniz.
Yükleme sırasında Cassandra kimlik doğrulamasını etkinleştirmek için tüm Cassandra düğümlerinin yapılandırma dosyasına CASS_AUTH
özelliğini ekleyin:
CASS_AUTH=y # The default value is n.
Aşağıdaki Edge bileşenleri Cassandra'ya erişir:
- Yönetim Sunucusu
- Mesaj İşlemcileri
- Yönlendiriciler
- Qpid sunucuları
- Postgres sunucuları
Bu bileşenleri yüklediğinizde yapılandırma dosyasında bir kullanıcı adı ve şifre belirlemeniz gerekir:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
Cassandra'yı yükledikten sonra Cassandra kimlik bilgilerini değiştirebilirsiniz. Ancak Yönetim Sunucusu, Mesaj İşlemciler, Yönlendiriciler, Qpid sunucuları veya Postgres sunucularını zaten yüklediyseniz yeni kimlik bilgilerini kullanmak için bu bileşenleri de güncellemeniz gerekir.
Cassandra'yı yükledikten sonra Cassandra kimlik bilgilerini değiştirmek için:
cqlsharacını ve varsayılan kimlik bilgilerini kullanarak herhangi bir Cassandra düğümüne giriş yapın. Şifreyi yalnızca bir düğümde değiştirmeniz yeterlidir. Değişiklik, halkadaki tüm Cassandra düğümlerine yayınlanır:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
Burada:
- cassIP, Cassandra düğümünün IP adresidir.
- 9042, varsayılan Cassandra bağlantı noktasıdır.
- Şifreyi güncellemek için cqlsh> isteminde aşağıdaki komutu çalıştırın:
ALTER ROLE <username> WITH PASSWORD='
'; - Aşağıdaki örnekte gösterildiği gibi
cqlsharacından çıkın:exit
- Yönetim sunucusunu, mesaj işlemcilerini, yönlendiricileri, Qpid sunucularını veya Postgres sunucularını henüz yüklemediyseniz yapılandırma dosyasında aşağıdaki özellikleri ayarlayın ve ardından bu bileşenleri yükleyin:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- Yönetim Sunucusu, Mesaj İşlemciler, Yönlendiriciler, Qpid sunucuları 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.
Yükleme sonrası Cassandra kimlik doğrulamasını etkinleştirme
Yükleme işleminden sonra kimlik doğrulamayı etkinleştirmek için:
- Cassandra'ya bağlanan tüm Edge bileşenlerini Cassandra kullanıcı adı ve şifresiyle güncelleyin.
- Tüm Cassandra düğümlerinde kimlik doğrulamayı etkinleştirin ve herhangi bir düğümde Cassandra kullanıcı adını ve şifresini ayarlayın. Kimlik bilgilerini yalnızca bir Cassandra düğümünde değiştirmeniz yeterlidir. Bu bilgiler, halkadaki tüm Cassandra düğümlerine yayınlanır.
Cassandra'ya bağlanan Edge bileşenlerini güncelleme
Cassandra ile iletişim kuran tüm Edge bileşenlerini yeni kimlik bilgileriyle güncellemek için aşağıdaki prosedürü kullanın. Bu adımı, Cassandra kimlik bilgilerini güncellemeden önce uygulamanız gerektiğini unutmayın:
- 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 bir dosyayı komuta iletebilirsiniz:
apigee-service edge-management-server store_cassandra_credentials -f configFile
configFile şunları 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.
- Aşağıdaki hizmetlerin her biri için 1. adımı tekrarlayın:
- Tüm Mesaj İşlemcileri
- Tüm Yönlendiriciler
- Tüm Qpid sunucuları (edge-qpid-server)
- Postgres sunucuları (edge-postgres-server)
Her hizmet için 1. adımı tekrarlarken yukarıdaki komutta
edge-management-serverifadesini uygun hizmet adıyla değiştirin. Örneğin, bir yönlendirici hizmeti için adımı yürütürken 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 ve kullanıcı adı ile şifreyi ayarlamak için aşağıdaki prosedürü uygulayın:
- Aşağıda gösterilen içeriğe sahip bir sessiz 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.
İlk Cassandra düğümüne giriş yapın ve aşağıdaki komutu çalıştırın:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
İsterseniz özellikleri aşağıdaki örnekte gösterildiği gibi komut bağımsız değişkenleri olarak komut dosyasına iletebilirsiniz:
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 bilgilerinde komut, replikasyon faktörünü de değiştirir, süper kullanıcı oluşturur ve
system_auth keyspaceüzerinde onarım gerçekleştirir.
- 1. ve 2. adımları tüm Cassandra düğümlerinde tekrarlayın.