Data Management (DMS), MySQL, MongoDB ve PostgreSQL veritabanları için veritabanı hesapları oluşturmanıza, izin türü kombinasyonlarını özelleştirmenize ve tablo düzeyinde izinler atamanıza olanak tanır. Bu konuda, DMS'de veritabanı hesaplarının nasıl oluşturulacağı, düzenleneceği ve silineceği ile hesap izinlerinin nasıl yönetileceği açıklanmaktadır.
DMS yalnızca MySQL, PostgreSQL ve MongoDB veritabanları için hesap yönetimini destekler. Diğer veritabanı altyapılarının hesaplarını yönetmek için ilgili hizmetin konsoluna gidin.
Ön koşullar
-
Veritabanınız aşağıdaki türlerden biri olmalıdır:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL, kendi kendinize yönettiğiniz bir MySQL veritabanı, kendi kendinize yönettiğiniz bir MariaDB veritabanı veya ApsaraDB for MariaDB.
-
ApsaraDB for MongoDB.
NotAdmin veritabanında bir kullanıcı oluşturuyorsanız, en az bir mevcut kullanıcının dbAdminAnyDatabase, userAdmin veya userAdminAnyDatabase gibi kullanıcı oluşturma iznine sahip olduğundan emin olun.
PostgreSQL: ApsaraDB RDS for PostgreSQL veya AnalyticDB for PostgreSQL.
Sistem rolünüz DMS yöneticisi, DBA veya normal kullanıcı (örnek sahibi) olmalıdır. Daha fazla bilgi için bkz. Sistem rolleri.
Hedef veritabanının Database account ve Database password bilgilerini edinin.
DMS konsolunda hesap oluşturmak istiyorsanız, DMS'de oturum açmak için kullandığınız Database account hesabının kullanıcı oluşturma iznine sahip olduğundan emin olun.
Hesap izin yönetimi örnekleri
-
A hesabına genel
SELECTveUPDATEizinlerini atayın.NotGenel izinler veritabanı örneği düzeyinde uygulanır. Genel izin türleri hakkında daha fazla bilgi için bkz. İzin referansı.
-
B hesabına tek bir tablo üzerinde
SELECTizni veya belirli bir sütun üzerindeUPDATEizni atayın.NotNesne izinleri tüm veritabanı nesnelerine veya bir ya da daha fazla belirtilmiş veritabanı nesnesine uygulanabilir. Nesne izin türleri hakkında daha fazla bilgi için bkz. İzin referansı.
Veritabanı hesaplarını yönetme
Veritabanı hesabı oluşturma
DMS üzerinden oluşturulan veritabanı hesapları standart hesaplardır.
DMS yöneticisi, DMS konsoluna erişimi yöneten ve işlemleri onaylayan bir RAM kullanıcısıdır. Ayrıcalıklı veritabanı hesabı, veritabanı örneği düzeyinde tanımlanır ve CREATE USER ile GRANT gibi veritabanı işlem izinlerine sahiptir. Bu ikisi farklı izin sistemlerine aittir: DMS'de CREATE USER gibi veritabanı yönetimi işlemlerini çalıştırmak için ayrıcalıklı bir veritabanı hesabı kullanmanız gerekir. DMS yöneticisinde bu veritabanı düzeyindeki izinler bulunmaz.
DMS'de CREATE USER komutunu çalıştırırken aşağıdaki hatayla karşılaşırsanız:
execute create_user failed: you need (at least one of) the create user privilege for this operation
Sorunu şu şekilde giderin:
ApsaraDB RDS konsolunda ayrıcalıklı bir hesap oluşturun, DMS'de bu hesapla oturum açın ve işlemi yeniden deneyin.
Alternatif olarak, veritabanı kullanıcısını doğrudan ApsaraDB RDS konsolunun Hesap Yönetimi sayfasında oluşturun.
DMS örneğinde güvenlik barındırma modu etkinleştirilmişse, DMS'de veritabanı hesabını değiştiremeyebilirsiniz. Bu durumda, hesabı ApsaraDB RDS konsolunda oluşturun veya yeniden denemeden önce örneğin güvenlik barındırma ayarlarını düzenleyin.
MySQL veritabanı hesabı oluşturma
DMS 5.0 adresinde oturum açın.
Hedef veritabanında oturum açın. Daha fazla bilgi için bkz. Veritabanında oturum açma.
Ana sayfada sol gezinme bölmesindeki veritabanı örneğine tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Database Account Management seçeneğine tıklayın.
Database Account Management sayfasında sol üst köşede bulunan Create Database Account öğesine tıklayın.
-
Açılan iletişim kutusunda aşağıdaki parametreleri yapılandırın.
-
Basic settings sekmesine tıklayıp parametreleri yapılandırın.
Parameter
Description
Database account
Veritabanında oturum açmak için kullanılan hesap adı.
Host
Hesabın veritabanına erişmesine izin verilen IP adresi.
NotBu parametreyi boş bırakırsanız hesap belirli bir IP adresiyle sınırlanmaz. Varsayılan değer
%şeklindedir.Password
Oturum açma parolası.
Confirm Password
Oturum açma parolasını tekrar girin.
NotYukarıdaki parametrelerden oluşturulan SQL ifadesi şu biçimdedir:
CREATE USER.Advanced Options bölümünü yapılandırmak için Advanced Options düğmesine tıklayıp seçenekleri yapılandırın.
Örneğin, aşağıdaki ayarlardan oluşturulan SQL ifadesi şöyledir:
GRANT USAGE ON *.* TO 'username'@'host' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400; -
Global permissions sekmesine tıklayıp hedef izinleri seçin. Genel izinler hakkında daha fazla bilgi için bkz. MySQL genel izinleri.
NotStandart bir hesap kullanıyorsanız ve izin türü listesinde hedef izni bulamıyorsanız hesap gerekli izne sahip olmayabilir veya örnek türü bu izni desteklemiyor olabilir. Sorun yetersiz hesap izinlerinden kaynaklanıyorsa ayrıcalıklı bir hesapla yeniden deneyin.
-
Object permissions sekmesine tıklayıp parametreleri yapılandırın. Nesne izinleri hakkında daha fazla bilgi için bkz. MySQL nesne izinleri.
Örneğin, aşağıdaki ayarlardan oluşturulan SQL ifadeleri şunlardır:
GRANT SELECT,INSERT ON `rds_db`.* TO 'username'@'host'; GRANT DELETE ON `rds_db`.`rds_table` TO 'username'@'host';
-
Confirm seçeneğine tıklayın.
-
Preview SQL Statement iletişim kutusunda Confirm seçeneğine tıklayın.
NotGüvenlik İşbirliği modundaki veritabanı örnekleri güvenlik kurallarıyla kısıtlanır. İşlem gerçekleştirilemezse ekrandaki talimatları uygulayın veya bir DBA ya da DMS yöneticisiyle iletişime geçin. Güvenlik kurallarının nasıl ayarlanacağı hakkında daha fazla bilgi için bkz. SSS.
MongoDB veritabanı hesabı oluşturma
DMS 5.0 adresinde oturum açın.
-
Hedef veritabanında oturum açın. Daha fazla bilgi için bkz. Veritabanında oturum açma.
ÖnemliMongoDB çoğaltma kümesi örneği için birincil düğümde oturum açın.
Ana sayfada sol gezinme bölmesindeki veritabanı örneğine tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Database Account Management seçeneğine tıklayın.
-
Sayfanın sol üst köşesindeki Create User seçeneğine tıklayıp aşağıdaki bilgileri yapılandırın.
-
Kullanıcı bilgilerini yapılandırın.
Create User iletişim kutusundaki Current Database Permissions sekmesi aşağıdaki rolleri seçmeniz için sunar:
Normal operation role:
read(geçerli veritabanındaki verileri sorgulama izni) vereadWrite(geçerli veritabanındaki verileri ekleme, silme, değiştirme ve sorgulama izni)Administrator operation role:
dbAdmin(veritabanı nesneleri üzerinde yönetim işlemleri, veritabanında okuma ve yazma izni olmadan) veuserAdmin(geçerli veritabanında kullanıcı oluşturma izni)
Parameter
Description
Target database
Kullanıcının ait olduğu veritabanını açılır listeden seçin.
Notadmin dışında bir veritabanı seçerseniz oluşturulan kullanıcı standart bir kullanıcı olur.
admin veritabanını seçerseniz oluşturulan kullanıcı ayrıcalıklı bir kullanıcı olur.
Username
Kullanıcı adı.
Çince karakterler desteklenmez.
Harfler, rakamlar ve özel karakterler desteklenir.
Özel karakterler şunları içerir:
!#$%^&*()_+-=
Password
Kullanıcı parolası.
Veri güvenliğini sağlamak için parola 8 ila 32 karakter uzunluğunda olmalı ve aşağıdaki karakter türlerinden en az üçünü içermelidir:
Büyük harfler
Küçük harfler
Rakamlar
Özel karakterler (
!#$%^&*()_+-=)
Confirm Password
Parolayı tekrar girin.
-
Kullanıcının izinlerini yapılandırın.
Not-
Hedef veritabanı olarak admin veritabanını seçerseniz:
Current Database Permissions sekmesinde Normal operation role, Administrator operation role, Instance-level operation role, Cluster management role, Backup and restore role ve Superuser role gibi izinleri yapılandırabilirsiniz. Rol izinleri hakkında daha fazla bilgi için bkz. MongoDB rol izinleri.
Ayrıca Other Database Permissions sekmesine tıklayarak veritabanı adlarını ekleyebilir ve ilgili veritabanları için rol izinlerini yapılandırabilirsiniz.
-
Hedef veritabanı olarak admin dışı bir veritabanı seçerseniz:
Current Database Permissions sekmesinde yalnızca geçerli veritabanı için Normal operation role ve Administrator operation role izinlerini yapılandırabilirsiniz. Rol izinleri hakkında daha fazla bilgi için bkz. MongoDB rol izinleri.
Other Database Permissions sekmesi kullanılamaz.
-
-
-
Confirm seçeneğine tıklayın.
NotGüvenlik İşbirliği modundaki veritabanı örnekleri güvenlik kurallarıyla kısıtlanır. İşlem gerçekleştirilemezse ekrandaki talimatları uygulayın veya bir DBA ya da DMS yöneticisiyle iletişime geçin.
PostgreSQL veritabanı hesabı oluşturma
DMS 5.0 adresinde oturum açın.
Hedef veritabanında oturum açın. Daha fazla bilgi için bkz. Veritabanında oturum açma.
Ana sayfanın sol tarafındaki Veritabanı örnekleri bölümüne tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Account Management seçeneğine tıklayın.
Account Management sayfasında sol üst köşede bulunan Create User seçeneğine tıklayın.
-
Açılan iletişim kutusunda aşağıdaki parametreleri yapılandırın.
-
Basic settings sekmesine tıklayıp parametreleri yapılandırın.
Parameter
Description
User name
Hesabın kullanıcı adı.
Password
Oturum açma parolası.
Confirm Password
Oturum açma parolasını tekrar girin.
Password expiration time
Parolanın sona erme zamanı. Örneğin, parolanın sona erme tarihini 30 Aralık 2021 saat 00:00 olarak ayarlarsanız parola bu tarihte geçersiz hale gelir.
Bu parametre isteğe bağlıdır. Varsayılan olarak parolanın süresi dolmaz.
Connection limit
Hesap için maksimum eşzamanlı bağlantı sayısı. Örneğin, bu parametreyi 10 olarak ayarlarsanız hesap aynı anda en fazla 10 istemciden veritabanına bağlanabilir.
Varsayılan değer -1'dir ve bu, bağlantı sayısının sınırlı olmadığını gösterir.
Remarks
Hesabın açıklaması.
-
Permissions sekmesine tıklayıp hedef izinleri seçin.
Permission type
Description
Allow logon
Oturum açma izni. İlgili SQL komutlarıLOGINveNOLOGINşeklindedir. Varsayılan olarak oturum açmaya izin verilir.
Allow user creation
Veritabanı hesapları oluşturma izni. İlgili SQL komutlarıCREATEROLEveNOCREATEROLEşeklindedir. Varsayılan olarak kullanıcı oluşturmaya izin verilir.
Allow database creation
Veritabanı oluşturma izni. İlgili SQL komutlarıCREATEDBveNOCREATEDBşeklindedir. Varsayılan olarak veritabanı oluşturmaya izin verilir.
-
Confirm seçeneğine tıklayın.
-
Preview SQL iletişim kutusunda Confirm seçeneğine tıklayın.
NotGüvenlik İşbirliği modundaki veritabanı örnekleri güvenlik kurallarıyla kısıtlanır. İşlem gerçekleştirilemezse ekrandaki talimatları uygulayın veya bir DBA ya da DMS yöneticisiyle iletişime geçin. Güvenlik kurallarının nasıl ayarlanacağı hakkında daha fazla bilgi için bkz. İzin referansı.
Hesabı düzenleme veya silme
Hesap düzenleme özelliğini kullanarak bir hesabın Username, Password, MySQL Global permissions ve Object permissions bilgilerini değiştirebilirsiniz.
DMS 5.0 adresinde oturum açın.
Ana sayfanın sağ tarafındaki Veritabanı örnekleri bölümüne tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Account Management seçeneğine tıklayın.
Hedef hesabı bulun ve ilgili işlemi yapmak için Edit veya Delete seçeneğine tıklayın.
Hesabı düzenleme veya silme
Hesap düzenleme özelliğini kullanarak bir hesabın Username, Password, MySQL Global permissions ve Object permissions bilgilerini değiştirebilirsiniz.
DMS 5.0 adresinde oturum açın.
Ana sayfada sol gezinme bölmesindeki veritabanı örneğine tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Database Account Management seçeneğine tıklayın.
Hedef hesabı bulun ve ilgili işlemi yapmak için Edit veya Delete seçeneğine tıklayın.
Veritabanı hesabını değiştirme
DMS 5.0 adresinde oturum açın.
Soldaki Veritabanı örnekleri alanında hedef örneği bulun.
Örnek adına sağ tıklayıp Edit Instance seçeneğini seçin.
Basic Information bölümünde oturum açmak için kullanmak istediğiniz veritabanı hesabını ve parolayı girin.
Save seçeneğine tıklayın.
Veritabanı hesabı izinlerini atama veya iptal etme
DMS 5.0 adresinde oturum açın.
Ana sayfada sol gezinme bölmesindeki veritabanı örneğine tıklayın. Örnek listesinde hedef örnek adına sağ tıklayıp Database Account Management seçeneğine tıklayın.
Hedef hesabı bulun ve Edit seçeneğine tıklayın.
İzinler alanında izin atamak için hedef izinleri seçin veya izinleri iptal etmek için hedef izinlerin seçimini kaldırın ve ardından Confirm seçeneğine tıklayın.
İzin referansı
MySQL genel izinleri
MySQL nesne izinleri
MongoDB rol izinleri
İlgili konular
ApsaraDB RDS for PostgreSQL'de izin yönetimi için en iyi uygulamalar
SSS
S: Bir izin kullanıcısı oluştururken CREATE_USER komutunun güvenlik kuralları tarafından engellendiğini belirten bir hata alıyorum. Bu sorunu nasıl çözebilirim?
C: Bu sorunu hata iletişim kutusundaki adımları izleyerek çözün. Aşağıdaki işlemleri yapın:
-
Örneğe bağlı güvenlik kuralı kümesinin adını görüntüleyin.
Konsol ana sayfasının sol tarafındaki örnek listesinde hedef örneği bulun, üzerine sağ tıklayıp View Details seçeneğine tıklayın.
-
Güvenlik kurallarını düzenleyin.
DMS adresinde oturum açın.
Üst menü çubuğunda yolunu izleyin.
security rules sekmesinde hedef kural kümesini bulun ve Actions sütunundaki Edit seçeneğine tıklayın.
Sol gezinme bölmesinde SQL Correct seçeneğine tıklayın.
Checkpoint öğesini SQL execution rules olarak ayarlayın.
Allow all DCL statements to be executed directly in SQL Console güvenlik kuralını bulun ve Actions sütunundaki Edit seçeneğine tıklayın.
-
Kuralı Düzenle iletişim kutusunun Rule DSL bölümünde kuralı şu şekilde değiştirin:
if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end.Bu sözdizimi tüm DCL kategorisini eşleştirir ve her bir SQL türünü ayrı ayrı listelemeden
CREATE USERveGRANTgibi tüm DCL deyimlerini kapsar. Bu kuraldaallow_execute_directdeyimlerin SQL Konsolu'nda doğrudan yürütülmesine izin verirkenallow_submityalnızca deyimlerin onay için bilet olarak gönderilmesine izin verir. İki seçenek izin verme açısından farklılık gösterdiğinden gereksinimlerinize göre seçim yapın.
Submit seçeneğine tıklayın.
Risk tanımlama kurallarını kontrol edin. SQL Change > Risk Identification Rules altında DCL deyimlerini yüksek riskli olarak işaretleyen bir kural olup olmadığını doğrulayın. Böyle bir kural varsa devre dışı bırakın veya düzenleyin. Aksi takdirde bu kural önceki adımda yapılandırdığınız DCL kuralını geçersiz kılar ve kural değişikliği etkili olmaz.
Yalnızca Security Collaboration modundaki örnekler güvenlik kurallarının düzenlenmesini destekler. Flexible Management ve Stable Change modlarındaki örnekler düzenlenemeyen yerleşik sistem kurallarını kullanır. Hedef örnek Security Collaboration modunda değilse bir Security Collaboration lisansı satın alın ve yukarıda açıklandığı gibi kuralları değiştirmeden önce kontrol modunu değiştirin. Ayrıca değiştirdiğiniz kural kümesinin hedef örnekle ilişkilendirildiğinden emin olun. Aksi takdirde değişiklikler etkili olmaz.