Cassandra varsayılan olarak kimlik doğrulaması etkin olmadan yüklenir. Bu, herkesin Cassandra'ya erişebileceği anlamına gelir. Kimlik doğrulamayı Edge'i yükledikten sonra veya yükleme işleminin bir parçası olarak etkinleştirebilirsiniz.
Cassandra CREATE/ALTER/DROP USER
ifadelerini kullanarak kullanıcı ekleyebilir, kaldırabilir ve değiştirebilirsiniz. Daha fazla bilgi için Cassandra SQL kabuk komutları başlıklı makaleyi inceleyin.
Yükleme sırasında Cassandra kimlik doğrulamasını etkinleştirme
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 tüm Cassandra düğümlerinin yapılandırma dosyasına CASS_AUTH
mülkünü ekleyin:
CASS_AUTH=y # The default value is n.
Aşağıdaki Edge bileşenleri Cassandra'ya erişir:
- Yönetim sunucusu
- Mesaj işleyiciler
- Yönlendiriciler
- Qpid sunucuları
- Postgres sunucuları
Bu bileşenleri yüklerken yapılandırma dosyasında bir kullanıcı adı ve şifre ayarlamanız 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 İşleyicileri, Yönlendiriciler, Qpid sunucuları veya Postgres sunucularını zaten yüklediyseniz bu bileşenleri de yeni kimlik bilgilerini kullanacak şekilde güncellemeniz gerekir.
Cassandra'yı yükledikten sonra Cassandra kimlik bilgilerini değiştirmek için:
cqlsh
aracı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 gerekir. Bu şifre, 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 yürütün:ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
- Aşağıdaki örnekte gösterildiği gibi
cqlsh
aracından çıkın:exit
- Yönetim sunucusunu, mesaj işleyicileri, 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 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.
Yüklemeden sonra Cassandra kimlik doğrulamasını etkinleştirme
Yüklemeden 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. Yalnızca bir Cassandra düğümünün kimlik bilgilerini değiştirmeniz gerekir. Bu kimlik bilgileri, 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ü uygulayın. Bu adımı, Cassandra kimlik bilgilerini güncellemeden önce uyguladığınızdan emin olun:
- 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 komuta yeni kullanıcı adını ve şifreyi içeren bir dosya da iletebilirsiniz:
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.
- 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ı tekrarladığınızda, yukarıdaki komuttaki
edge-management-server
değerini uygun hizmet adıyla değiştirin. Örneğin, Yönlendirici hizmetiyle ilgili adımı yürüttüğünüzde 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ını ile şifreyi ayarlamak için aşağıdaki prosedürü uygulayın:
- Aşağıda gösterilen içeriği içeren 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.
İ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, aşağıdaki örnekte gösterildiği gibi özellikleri 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 bilgileri için komut, çoğaltma faktörünü de değiştirir, bir süper kullanıcı oluşturur ve
system_auth keyspace
üzerinde bir onarım işlemi gerçekleştirir.
- 1. ve 2. adımları tüm Cassandra düğümlerinde tekrarlayın.