Birden çok uygulama ve ekip tek bir ApsaraMQ for RocketMQ örneğini paylaştığında, konulara ve gruplara sınırsız erişim güvenlik riskleri oluşturur. Kullanıcı kimlik doğrulama sayesinde hangi istemcilerin bağlanabileceğini ve hangi kaynaklara erişebileceğini denetleyebilirsiniz. ApsaraMQ for RocketMQ, broker'a bağlanan her istemciyi doğrular; yalnızca kimliği doğrulanmış istemciler mesaj gönderebilir ve alabilir.
Kimlik doğrulama yöntemleri
ApsaraMQ for RocketMQ iki kimlik doğrulama yöntemi sunar. Her örnek için en az bir yöntem seçin.
| Yöntem | Açıklama | Kimlik doğrulamadan sonraki izinler |
|---|---|---|
| Akıllı kimlik doğrulama (varsayılan) | Varsayılan kimlik doğrulama yöntemidir. İstemcileri örnek kullanıcı adı ve parolasına göre doğrular. | Tüm konulara ve gruplara tam erişim |
| ACL tabanlı kimlik doğrulama | Örnekteki belirli konular veya gruplar üzerinde daha ayrıntılı erişim denetimi sağlar. | Yalnızca ACL kullanıcısına açıkça verilen kaynaklar |
Yönteminizi seçin
Tüm istemcilerin tam erişime ihtiyacı var -- Akıllı kimlik doğrulamayı kullanın. Her istemci, örnek kullanıcı adı ve parolasıyla kimlik doğrulaması yapar ve tüm konulara ve gruplara erişim kazanır.
Farklı istemcilerin farklı izinlere ihtiyacı var -- ACL tabanlı kimlik doğrulamayı kullanın. ACL kullanıcıları oluşturun, her kullanıcıya belirli konular veya gruplar üzerinde izinler verin ve istemcileri ACL kullanıcı kimlik bilgileriyle doğrulayın.
-
Her iki senaryo da geçerli -- Aynı örnekte her iki yöntemi de etkinleştirin. Sistem, istemci kodundaki kimlik bilgilerine göre yöntemi seçer:
Örnek kullanıcı adı ve parola -- akıllı kimlik doğrulamayı kullanır.
ACL kullanıcı adı ve parola -- ACL tabanlı kimlik doğrulamayı kullanır.
Akıllı kimlik doğrulama nasıl çalışır
Bir örnek başlatıldığında sistem ona benzersiz bir kullanıcı adı ve parola atar. Bu kimlik bilgileriyle kimlik doğrulaması yapan istemciler, örnekteki tüm konulara ve gruplara tam erişim elde eder.
VPC bağlantıları: Authentication-free in VPCs özelliği etkinleştirilirse VPC uç noktası üzerinden bağlanan istemcilerin kimlik bilgisi belirtmesine gerek kalmaz; sistem bunları VPC uç noktasına göre tanımlar. Bu özellik varsayılan olarak devre dışıdır.
İnternet bağlantıları: İnternet üzerinden bağlanan istemciler her zaman örnek kullanıcı adını ve parolasını belirtmelidir.
ACL tabanlı kimlik doğrulama nasıl çalışır
ACL tabanlı kimlik doğrulama, her ACL kullanıcısına belirli konular veya gruplar üzerinde izinler verir. Bir istemci bir ACL kullanıcısının kimlik bilgileriyle kimlik doğrulaması yaptıktan sonra yalnızca bu ACL kullanıcısının yetkili olduğu kaynaklara erişebilir.
Örneğin, ACL kullanıcısı user_mq yalnızca Topic_A üzerinde yayınlama iznine sahipse user_mq olarak kimliği doğrulanan bir istemci Topic_A konusuna mesaj yayınlayabilir ancak başka hiçbir konuya veya gruba erişemez.
Yeni oluşturulan bir ACL kullanıcısının hiçbir izni yoktur. Kullanıcının herhangi bir kaynağa mesaj yayınlaması veya abone olması için önce izin verin.
Aynı kaynak için hem İzin Ver hem de Reddet kuralları varsa Reddet kuralı önceliklidir.
Kimlik doğrulama yöntemini seçin
ApsaraMQ for RocketMQ konsolu ile oturum açın. Sol gezinme bölmesinde Instances öğesine tıklayın.
Üst gezinme çubuğunda bir bölge seçin, örneğin China (Hangzhou). Instances sayfasında yönetmek istediğiniz örneğin adına tıklayın.
Sol gezinme bölmesinde Access Control öğesine tıklayın. Görüntülenen sayfada Erişim Denetimi Türü yanındaki Edit seçeneğine tıklayın.
İletişim kutusunda Intelligent Authentication, ACL-based Authentication veya her ikisini birden seçin ve ardından OK düğmesine tıklayın.
Akıllı kimlik doğrulamayı yapılandırın
Akıllı kimlik doğrulama ayarları, erişim denetimi türü olarak Intelligent Authentication seçildiğinde konsolda görünür.
Örnek kullanıcı adını ve parolasını değiştirmek, mevcut kimlik bilgilerini kullanan tüm istemcilerin bağlantısını keser. Dikkatli ilerleyin.
VPC'lerde kimlik doğrulamasız özelliğini etkinleştirin veya devre dışı bırakın
Sol gezinme bölmesinde Access Control öğesine tıklayın. Görüntülenen sayfada Intelligent Authentication sekmesine tıklayın.
-
Authentication-free in VPCs anahtarını açın veya kapatın.
On: VPC uç noktası üzerinden bağlanan istemcilerin kimlik bilgisi belirtmesine gerek kalmaz. Sistem istemciyi VPC uç noktasına göre tanımlar.
Off (varsayılan): İnternet üzerinden veya VPC üzerinden bağlansalar bile tüm istemciler örnek kullanıcı adını ve parolasını belirtmelidir.
Örnek kimlik bilgilerini alın
Akıllı kimlik doğrulama etkinse ve Authentication-free in VPCs devre dışıysa istemci kodunuzda örnek kimlik bilgilerini belirtin.
Access Control sayfasında Intelligent Authentication sekmesine tıklayın.
Kullanıcı adı listesinde örnek kullanıcı adını görüntüleyin ve parolayı kopyalayın.
ACL tabanlı kimlik doğrulamayı yapılandırın
ACL tabanlı kimlik doğrulama iki adım gerektirir: bir ACL kullanıcısı oluşturun, ardından kullanıcıya belirli kaynaklar üzerinde izinler verin. Yeni bir ACL kullanıcısının varsayılan olarak hiçbir izni yoktur.
İstemci kodunuzda ACL kullanıcısının kullanıcı adını ve parolasını belirtin. Kimlik doğrulamadan sonra istemci yalnızca ACL kullanıcısının izin kapsamındaki kaynaklara erişebilir.
ACL kullanıcı yönetimi ayarları, erişim denetimi türü olarak ACL-based Authentication seçildiğinde konsolda görünür.
Bir ACL kullanıcısını devre dışı bırakmak veya silmek, o kullanıcının kimlik bilgilerini kullanan tüm istemcilerin bağlantısını keser. Dikkatli ilerleyin.
ACL kullanıcısı oluşturun
Sol gezinme bölmesinde Access Control öğesine tıklayın. Görüntülenen sayfada ACL User sekmesine tıklayın.
ACL User sekmesinde Create ACL User düğmesine tıklayın. Görüntülenen panelde istendiği gibi kullanıcı adı ve parolayı ayarlayın.
ACL kullanıcısına izinler verin
Access Control sayfasında ACL Permissions sekmesine tıklayın ve ardından Add Permissions düğmesine tıklayın.
Add Permissions panelinde aşağıdaki parametreleri yapılandırın ve OK düğmesine tıklayın.
| Parametre | Açıklama | Örnek |
|---|---|---|
| Username | İzin verilecek ACL kullanıcısı. Açılır listeden mevcut bir ACL kullanıcısı seçin. | user_mq |
| Resource Type | TOPIC: konular üzerinde izin verir. GROUP: gruplar üzerinde izin verir. | TOPIC |
| Resource Name | Konu veya grup adı. Belirli bir ad, tümünü eşleştirmek için yıldız işareti (*) veya desenle eşleştirmek için yıldız işaretli ön ek (örneğin order_*) girin. |
normal_topic |
| Action | Kaynak üzerinde izin verilen işlemler. Kaynak türü GROUP ise yalnızca Subscribe kullanılabilir. Publish: belirtilen konulara mesaj yayınlar. Subscribe: belirtilen konulardan veya gruplardan mesajlara abone olur. | Publish |
| IP Address Whitelist | Kaynağa erişmesine izin verilen IP adresleri veya CIDR blokları, noktalı virgül (;) veya virgül (,) ile ayrılır. Tüm IP adreslerine izin vermek için boş bırakın. |
192.168.xx.xx |
| Permission Rule | Allow: belirtilen eyleme izin verir. Deny: belirtilen eylemi engeller. | Allow |
Örnek: Yukarıdaki tablodaki ayarlar şunları ifade eder: user_mq olarak kimliği doğrulanan bir istemci yalnızca 192.168.xx.xx IP adresinden bağlanabilir ve yalnızca normal_topic konusuna mesaj yayınlayabilir.
ACL kullanıcı kimlik bilgilerini alın
İstemci internet üzerinden veya VPC üzerinden bağlansa bile istemci kodunda ACL kullanıcısının kullanıcı adını ve parolasını belirtin.
Sol gezinme bölmesinde Access Control öğesine tıklayın. Görüntülenen sayfada ACL User sekmesine tıklayın.
ACL User sekmesinde kullanıcı listesindeki kullanıcı adını görüntüleyin ve parolayı kopyalayın.
ACL kullanıcılarını ve izinlerini toplu olarak yönetin
CSV şablonlarını kullanarak içe/dışa aktarma özelliği aracılığıyla ACL kullanıcılarını toplu olarak oluşturun ve izinler verin.
ACL kullanıcılarını toplu olarak oluşturun
Access Control sayfasında ACL User sekmesine tıklayın.
-
Şablonu indirmek için Export File düğmesine veya tamamlanmış bir şablonu yüklemek için Import File düğmesine tıklayın.
Şablon biçimini almak için önce en az bir ACL kullanıcısı oluşturun, ardından dışa aktarın.
İçe aktarmadan önce şablonu ACL kullanıcı bilgileriyle doldurun.
İçe aktarma sırasında mevcut kullanıcıların üzerine yazılıp yazılmayacağını seçin. Üzerine yazma devre dışıysa ve şablondaki bir kullanıcı zaten varsa bu kayıt içe aktarılamaz. Üzerine yazma etkinse mevcut kullanıcı kayıtları güncellenir.
ACL kullanıcı şablonu parametreleri
| Parametre | Açıklama | Geçerli değer |
|---|---|---|
| Username | ACL kullanıcı adı. | Bir harfle başlar. Yalnızca harfler, rakamlar, kısa çizgiler (-) ve alt çizgiler (_) içerir. 3 ila 64 karakter. |
| Password | ACL kullanıcı parolası. | 3 ila 64 karakter. |
| AccountStatus | Hesabın durumu. | ENABLE (kullanılabilir) veya DISABLE (kullanılamaz). |
Örnek
| Username | Password | AccountStatus |
|---|---|---|
| user1 | xxx | ENABLE |
| user2 | xxx | DISABLE |
| user3 | xxx | ENABLE |
ACL izinlerini toplu olarak verin
Access Control sayfasında ACL Permissions sekmesine tıklayın.
-
Şablonu indirmek için Export File düğmesine veya tamamlanmış bir şablonu yüklemek için Import File düğmesine tıklayın.
Şablon biçimini almak için önce en az bir ACL izni oluşturun, ardından dışa aktarın.
İçe aktarmadan önce şablonu izin bilgileriyle doldurun.
İçe aktarma sırasında mevcut izinlerin üzerine yazılıp yazılmayacağını seçin. Sistem mevcut kayıtları kullanıcı adı, kaynak türü ve kaynak adına göre eşleştirir. Üzerine yazma devre dışıysa ve eşleşen bir kayıt varsa içe aktarılamaz. Üzerine yazma etkinse mevcut kayıt güncellenir.
ACL izin şablonu parametreleri
| Parametre | Açıklama |
|---|---|
| Username | İzin verilecek ACL kullanıcısı. Mevcut bir ACL kullanıcısı olmalıdır. |
| ResourceType | Kaynak türü: TOPIC veya GROUP. |
| ResourceName | Kaynak adı. |
| Actions | PUB (yayınla), SUB (abone ol) veya PUB|SUB (her ikisi). PUB|SUB yalnızca ResourceType TOPIC olduğunda geçerlidir. |
| SourceIps | İzin verilen IP adresleri veya CIDR blokları. |
| Decision | Allow veya Deny. |
Örnek
| Username | ResourceType | ResourceName | Actions | SourceIps | Decision |
|---|---|---|---|---|---|
| user1 | TOPIC | topic_normal | PUB | 0.0.0.0/0 | Allow |
| user2 | TOPIC | * | PUB|SUB | 0.0.0.0/0 | Allow |
| user3 | GROUP | Group_a | SUB | 192.168.xx.xx | Deny |
Sınırlamalar
Örneğinizde kullanıcı kimlik doğrulaması henüz etkinleştirilmemişse etkinleştirme talebinde bulunmak için bir destek talebi oluşturun. Talep onaylandıktan sonra konsolda Access Control giriş noktası görünür.