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 ROLES
ifadelerini kullanarak rol ekleyebilir, kaldırabilir ve değiştirebilirsiniz. Daha fazla bilgi için aşağıdakilere bakın:
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 şifresiyle cassandra) oluşturulur. Bu, yaygın olarak bilinen bir süper kullanıcıdır ve üretim ihtiyaçlarınız için bu kullanıcıyı kullanmamanız gerekir. Ayrıca, bu süper kullanıcı aracılığıyla kimlik doğrulama yapmak için yeterli katılım gerekir. Bu nedenle, bu kullanıcı aracılığıyla kimlik doğrulaması yapılan Cassandra bağlantılarının tümü daha sıkı tutarlılık gerektirir. Bu da daha yavaş ve hata toleransı daha düşük bir performansa neden olur.
- Tipik bir iş akışı, yapılandırma dosyası aracılığıyla özel bir kullanıcı adı ve şifre iletirken Cassandra'da kimlik doğrulamayı etkinleştirmeyi içerir. Bu işlem, ihtiyaçlarınız için güvenli bir şekilde kullanabileceğiniz özel kullanıcıyı ve şifreyi oluşturur. Bu tür kullanıcılar aracılığıyla kimlik doğrulama işleminde ise oy birliği tutarlılığı kısıtlamaları yoktur.
- Özel bir 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ı aracılığıyla erişilebileceğini unutmayın. 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 değere değiştirmek için genellikle ALTER ROLE komutunu kullanmanız gerekir. Gelecekte referans olarak kullanmak için bu şifreyi kaydedin.
- edge-* bileşenlerinin kimlik doğrulaması için kullandığı rolün şifresini değiştirmemeniz gerekir. Aksi takdirde hizmet kesintisi yaşanır. Bunun yerine, yeni bir kullanıcı oluşturmalı, edge-* bileşenlerini yeni kullanıcıyı kullanacak şekilde değiştirmeli ve işlem tamamlandığında DROP ROLE komutunu kullanarak eski kullanıcıyı bırakmalısınız.
- 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
CASS_EXISTING_USERNAME
veCASS_EXISTING_PASSWORD
aracılığıyla mevcut bir kullanıcının kullanıcı adı/şifre kombinasyonunu iletmeniz gerektiğini unutmayın. - İşlem tamamlandıktan sonra, hem eski hem de yeni kullanıcı aracılığıyla Cassandra'ya bağlanabildiğinizi cqlsh aracılığıyla doğrulayın.
- Cassandra'ya bağlanan Edge bileşenlerini güncelleme başlıklı makaledeki talimatları uygulayarak tüm edge-* bileşenlerini, Cassandra'ya bağlanmak için yeni oluşturulan kullanıcıyı kullanacak şekilde yönlendirin.
- 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. 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
- 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ç operasyonları sırasında herhangi bir kesinti 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.
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 ROLE <username> WITH 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 sunucusu, mesaj işleyiciler, 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ü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.