Uygulamalarınız hesap parolaları veya erişim anahtarları gibi gizli anahtarlara erişmek zorundaysa, bunları Key Management Service (KMS) içinde gizli anahtar olarak depolayabilirsiniz. Uygulamalarınız daha sonra bir Alibaba Cloud SDK, bir KMS Instance SDK veya bir secrets SDK kullanarak gizli anahtarları KMS'den dinamik olarak alabilir. Bu yaklaşım, gizli anahtarların düz metin olarak saklanmasından kaynaklanan bilgi sızıntılarını ve kötü niyetli işlemleri önler.
Neden gizli anahtar yönetimi kullanılmalı
Veritabanı hesap parolaları, sunucu hesap parolaları, SSH anahtarları ve erişim anahtarları gibi sızan gizli anahtarlar, veri güvenliği için büyük bir tehdit oluşturur. Veri sızıntısı riskini azaltmak amacıyla gizli anahtarlarınızı etkili bir şekilde korumanız ve düzenli aralıklarla döndürmeniz kritik öneme sahiptir. KMS'in gizli anahtar yönetimi özelliğini kullanmak aşağıdaki güvenlik avantajlarını sağlar:
KMS, yüksek güçlü şifreleme algoritmaları kullanarak gizli anahtar değerlerini şifreler ve depolar. Bu sayede, gizli anahtarların sabit kodlanması nedeniyle oluşabilecek sızıntılar ve yüksek değerli varlıkların kaybı önlenir; veri güvenliği artırılır.
Güvenli ve kolay istemci erişimi sağlayarak uygulamalarınızın minimum kod değişikliğiyle veya hiç kod yazmadan gizli anahtarları dinamik olarak kullanmasına olanak tanır.
-
Anında döndürme sayesinde, uygulamalarınızı ve hizmetlerinizi etkilemeden gizli anahtarları güncelleyebilirsiniz.
NotBu özellik, yalnızca bir secrets SDK entegrasyonu kullandığınızda RAM gizli anahtarları, veritabanı gizli anahtarları (yönetilen çift hesap modunda) ve ECS gizli anahtarları için kullanılabilir.
Tamamen dinamik gizli anahtarlar için yüksek frekanslı döndürmeyi destekler; bu durum gizli anahtarın geçerlilik süresini kısaltır ve ele geçirilme riskini azaltır.
API'ler ve Resource Orchestration Service (ROS) veya Terraform gibi altyapı-kod-olarak (IaC) araçları aracılığıyla merkezi ve büyük ölçekli güvenlik yönetimini destekler.
Kullanım senaryoları
Bu bölümde, kendi kendinize yönettiğiniz bir veritabanı için kullanıcı adı ve parolanın yönetilmesi örneği üzerinden gizli anahtar depolama ve alma işleminin temel bir kullanım senaryosu açıklanmaktadır.
Bir ApsaraDB RDS veritabanı kullanıyorsanız, bir veritabanı gizli anahtarı kullanmanızı öneririz. Daha fazla bilgi için bkz. Veritabanı gizli anahtarlarını yönetme ve kullanma.

Bir güvenlik yöneticisi, MyApp uygulamasının hedef veritabanına erişmesi için gereken kullanıcı adını ve parolayı yapılandırır.
Güvenlik yöneticisi, kullanıcı adı ve parolayı depolamak üzere KMS içinde 'MyDbCreds' adlı genel bir gizli anahtar oluşturur.
MyApp veritabanına erişmesi gerektiğinde, bir secrets istemci SDK'sı kullanarak KMS'den 'MyDbCreds' gizli anahtarını ister.
KMS şifrelenmiş gizli anahtarı alır, şifresini çözer ve düz metin değerini HTTPS üzerinden MyApp'e döndürür.
MyApp, döndürülen düz metin gizli anahtarını ayrıştırarak kullanıcı adını ve parolayı elde eder; ardından bu kimlik bilgilerini kullanarak veritabanına erişir.
MyApp uygulaması için, veritabanı kullanıcı adını ve parolasını almak amacıyla bir KMS API'sini çağırmak, gizli anahtarların sabit kodlanmasıyla ilişkili güvenlik risklerini ortadan kaldırır. Aşağıdaki şekil, sabit kodlanmış gizli anahtarlar ile KMS tarafından yönetilen gizli anahtarlar arasındaki farkı göstermektedir.

Gizli anahtarın bileşenleri
Bir gizli anahtar, meta verilerden ve bir veya daha fazla gizli anahtar sürümünden oluşur. KMS konsolu üzerinde oturum açıp Secrets sayfasında bir gizli anahtarın ayrıntılarını görüntüleyebilirsiniz.
-
Meta veriler
Gizli anahtar adı, Alibaba Cloud Resource Name (ARN), oluşturma zamanı, gizli anahtar türü, şifreleme anahtarı ve etiketler gibi bilgileri içerir.
ÖnemliŞifreleme anahtarı yalnızca gizli anahtar değerini şifreler; gizli anahtarın meta verilerini şifrelemez. Anahtar ve gizli anahtar aynı KMS örneğine ait olmalıdır ve anahtar simetrik bir anahtar olmalıdır.
-
Gizli anahtar sürümleri
Bir gizli anahtar birden çok sürüme sahip olabilir. Her sürüm bir sürüm numarası, aşama etiketleri ve bir gizli anahtar değeri içerir.
Bir gizli anahtar sürümü birden fazla aşama etiketine sahip olabilir ancak her aşama etiketi yalnızca bir sürümü işaret edebilir.
-
Aşama etiketi: Bir gizli anahtar içinde benzersiz olan bir etikettir. Aşama etiketleri yerleşik aşama etiketleri ve özel aşama etiketleri olarak ikiye ayrılır.
-
Yerleşik aşama etiketleri:
ACSCurrent: Gizli anahtarın geçerli sürümü. Bu etiket her zaman en son gizli anahtar değerini işaret eder.
ACSPrevious: Gizli anahtarın önceki sürümü.
-
ACSPending: Gizli anahtar döndürme sırasında kullanılan geçici bir etikettir. KMS, döndürme tamamlandıktan sonra bu etiketi kaldırır.
NotBir API işlemi çağırarak gizli anahtar değeri aldığınızda, KMS ACSCurrent aşama etiketiyle ilişkili olan gizli anahtar değerini döndürür.
Yerleşik aşama etiketleri işaretçiler gibi çalışır. Örneğin, ilk kez bir gizli anahtar sürümü (v1) depoladığınızda, bu sürüm ACSCurrent etiketiyle işaretlenir. Ardından yeni bir sürüm (v2) depolarsanız, ACSCurrent etiketi v2'ye taşınır ve v1 otomatik olarak ACSPrevious olarak yeniden etiketlenir.
-
Özel aşama etiketleri: Her gizli anahtar sürümü için birden çok özel aşama etiketi tanımlayabilirsiniz.
ÖnemliYalnızca genel gizli anahtarlar özel aşama etiketlerini destekler. Bir gizli anahtar için özel ve yerleşik aşama etiketlerinin toplam sayısı sekizi aşamaz.
-
Gizli anahtar değeri: Gizli anahtarda depoladığınız hassas bilgidir. Bu değer bir dize veya ikili veri olabilir.
NotBir gizli anahtar için sürüm sayısı sınırı aşıldığında, herhangi bir aşama etiketiyle ilişkili olmayan en eski sürüm otomatik olarak silinir.
Gizli anahtar döndürme
Gizli anahtar döndürme, yeni bir sürüm oluşturarak gizli anahtarı güncelleme sürecidir. Bu uygulama, gizli anahtarın ömrünü sınırlayarak güvenliği artırır. Yeni sürüm otomatik olarak ACSCurrent olarak etiketlenir ve uygulamalar daha sonra ACSCurrent sürümünü isteyerek gizli anahtar değerini dinamik olarak alır.
Döndürme süreci
Döndürme yöntemleri
Otomatik döndürme: Bir döndürme zamanlaması yapılandırabilirsiniz; KMS belirtilen süre sona erdiğinde gizli anahtarı otomatik olarak döndürür. RAM gizli anahtarları, veritabanı gizli anahtarları ve ECS gizli anahtarları için otomatik döndürmeyi doğrudan KMS içinde yapılandırabilirsiniz. Genel bir gizli anahtar için Function Compute kullanarak periyodik döndürme uygulayabilirsiniz.
Acil durum müdahalesi olarak, ele geçirilmiş bir gizli anahtarı anında döndürebilirsiniz. Bu işlem RAM gizli anahtarları, veritabanı gizli anahtarları ve ECS gizli anahtarları için desteklenir. Genel bir gizli anahtarı anında döndürmek için yeni bir gizli anahtar değerini manuel olarak depolamanız gerekir.
Desteklenen gizli anahtar türleri
KMS dört tür gizli anahtarı destekler: genel gizli anahtarlar, RAM gizli anahtarları, veritabanı gizli anahtarları ve ECS gizli anahtarları. Aşağıdaki tabloda her bir türe ilişkin ayrıntılar sunulmaktadır.
RAM gizli anahtarları, veritabanı gizli anahtarları ve ECS gizli anahtarları tamamen yönetilir. Bu gizli anahtarları KMS'te yönetmeye başladıktan sonra tüm döndürme işlemlerini KMS içinde gerçekleştirmeniz gerekir. Durumlarını değiştirmeyin veya bunları ilgili kaynak hizmetlerde silmeyin. Aksi takdirde, KMS'teki gizli anahtar döndürme süreci kesintiye uğrar ve uygulamalarınız gizli anahtarları alırken hata verebilir.
Bir gizli anahtarın döndürmesini, sürümlerini ve aşama etiketlerini yönetmek istiyorsanız genel bir gizli anahtar kullanın.
|
Tür |
Açıklama |
Döndürme yöntemi |
Referans |
|
Genel gizli anahtar |
Genel gizli anahtar, KMS tarafından desteklenen temel bir gizli anahtar türüdür. Hesap parolaları, erişim anahtarları, OAuth anahtarları ve belirteçleri veya API anahtarları gibi hassas verileri depolamak için genel bir gizli anahtar kullanabilirsiniz. |
|
|
|
RAM gizli anahtarı |
RAM gizli anahtarı, KMS tarafından desteklenen tamamen yönetilen bir gizli anahtar türüdür. Bir RAM kullanıcısının erişim anahtarını depolamak için RAM gizli anahtarı kullanabilirsiniz. |
|
|
|
Veritabanı gizli anahtarı |
Veritabanı gizli anahtarı, KMS tarafından desteklenen tamamen yönetilen bir gizli anahtar türüdür. ApsaraDB RDS örnekleri ve PolarDB örnekleri gibi veritabanlarının hesap kimlik bilgilerini depolamak için kullanabilirsiniz. |
|
|
|
ECS gizli anahtarı |
ECS gizli anahtarı, KMS tarafından desteklenen tamamen yönetilen bir gizli anahtar türüdür. Bir ECS örneğinde oturum açmak için kullanılan kullanıcı adı ve parolayı veya SSH anahtar çiftini depolamak için kullanabilirsiniz. |
|
Faturalandırma
Gizli anahtarları kullanmaya başlamadan önce bir KMS örneği satın almanız ve bir gizli anahtar kotası yapılandırmanız gerekir. KMS örneklerinin fiyatlandırması hakkında daha fazla bilgi için bkz. Faturalandırma. Bir KMS örneği satın alma talimatları için bkz. KMS örneği satın alma ve etkinleştirme.
Erişim kontrolü ve denetim
Gizli anahtarlara erişim ve gizli anahtarlar üzerinde işlem yapılması için izinleri kontrol etmek üzere Resource Access Management (RAM) kullanabilirsiniz. İzin ilkelerini nasıl yapılandıracağınız hakkında daha fazla bilgi için bkz. KMS için özel RAM ilkeleri.
Gizli anahtar oluşturma, döndürme ve alma gibi işlemleri kaydetmek için ActionTrail kullanabilirsiniz. Daha fazla bilgi için bkz. Anahtarların ve gizli anahtarların kullanım kayıtlarını sorgulama.