Amazon Cognito SSS

Genel

Amazon Cognito, web ve mobil uygulamalarınıza dakikalar içinde kullanıcı kaydolma, oturum açma, erişim denetimi ve aracılı AWS hizmet erişimi eklemenizi sağlar. Milyonlarca kullanıcıya ölçeklenebilen güvenli ve kiracı tabanlı kimlik depoları ve federasyon seçenekleri sunan geliştirici merkezli, uygun maliyetli bir hizmettir. Amazon Cognito, markalı müşteri deneyimleri oluşturmanıza, güvenliği artırmanıza ve müşterilerinizin ihtiyaçlarına uyum sağlamanıza yardımcı olur. Örneğin, sosyal kimlik sağlayıcılarıyla oturum açmayı ve WebAuthn geçiş anahtarlarını veya tek seferlik SMS ve e-posta parolaları kullanarak parolasız oturum açmayı destekler. Amazon Cognito, çeşitli uygunluk standartlarını destekler, açık kimlik standartları üzerinde çalışır ve kapsamlı bir geliştirme kaynakları ve SDK kitaplıkları kataloğuyla entegre olur.

Kullanıcı yönetimi ve kimlik doğrulama işlemlerini yapabileceğiniz bir çözüm oluşturma, çözümün güvenliğini sağlama ve çözümü ölçeklendirme gibi konularda endişelenmenize gerek kalmadan Amazon Cognito sayesinde harika uygulama deneyimleri geliştirmeye odaklanabilirsiniz.

AWS Konsolu'nu ziyaret ederek kolayca kullanmaya başlayabilirsiniz. Amazon Web Services hesabınız yoksa konsolda oturum açtığınızda hesap oluşturabilirsiniz. Kullanıcı yönetimi için bir kullanıcı havuzu veya birleştirilmiş kimliklere yönelik bir kimlik havuzu oluşturduktan sonra uygulamanızı ve API'lerinizi OAuth ve OpenID Connect (OIDC) ile entegre edebilirsiniz.

Daha fazla bilgi almak için kullanmaya başlama kaynaklarımıza bakın.

Amazon Cognito, hem mobil hem de web uygulamalarına kullanıcı yönetimi ve eşitleme işlevlerini eklemek isteyen geliştiriciler için tasarlanmıştır. Geliştiriciler, uygulamalarına kayıt ve oturum açma işlevi ekleyip kullanıcılarının uygulama kaynaklarına güvenli bir şekilde erişmelerini sağlamak için Cognito Kimlik'i kullanabilir. Cognito, geliştiricilerin verileri cihazlar, platformlar ve uygulamalar arasında eşitlemesine de olanak verir.

Evet. Cognito sunucu tarafı API'ler sunar. Bu API'leri doğrudan çağırarak Cognito'da kendi özel arayüzünüzü oluşturabilirsiniz. Sunucu tarafı API'ler Geliştirici Kılavuzu'nda açıklanmıştır.

Cognito desteği iOS, Android, Unity ve Kindle Fire için kullanılabilen isteğe bağlı AWS Mobil SDK'ya dahildir. Cognito; .NET İçin AWS SDK, C++, Go, Java, JavaScript, PHP v3, Python, Ruby v3 ve komut satırı arabiriminde de mevcuttur.

Mevcut SDK'leri görüntülemek ve indirmek için kaynak sayfamızı ziyaret edin.

Hayır. Cognito, denetim ve veri API'lerini web hizmetleri olarak sunar. Sunucu tarafı API'lerini doğrudan çağıran kendi istemci kitaplığınızı uygulayabilirsiniz.

Web ve mobil uygulamalarınıza kaydolma ve bu uygulamalarda oturum açma özelliği ekleyin

Birinci faktörlü kimlik doğrulayıcıları için Amazon Cognito, kullanıcı adı/parola, e-posta OTP parolasız, SMS OTP parolasız ve WebAuthn geçiş anahtarlarını destekler. Cognito, şu çok faktörlü kimlik doğrulayıcılarını (MFA) destekler: e-posta OTP, SMS OTP ve TOTP kimlik doğrulayıcıları. Ayrıca müşteriler ve çözüm ortakları, AWS Lambda uzantılarını kullanarak özel kimlik doğrulama akışlarıyla üçüncü taraf ürünleri ve ısmarlama kimlik doğrulayıcıları için destek uygulayabilir.

Evet, Amazon Cognito sayesinde uygulamalarınıza yönelik kayıt ve oturum açma işlevlerini kolayca ve güvenli bir şekilde ekleyebilirsiniz. Kullanıcılarınız e-posta, telefon numarası veya kullanıcı adı kullanarak kaydolup oturum açabilir. E-posta doğrulama, telefon numarası doğrulama ve çok faktörlü kimlik doğrulama gibi gelişmiş güvenlik özelliklerini de uygulayabilirsiniz. Cognito, örneğin AWS Lambda üzerinden dolandırıcılık tespiti ve kullanıcı doğrulaması için kullanıcı kaydına, uygulamaya özel mantık ekleyerek iş akışlarını özelleştirmenize de olanak verir. Daha fazla bilgi edinmek için belgelerimize bakın.

Kullanıcı havuzu, web ve mobil uygulamalarınız için yapılandırabileceğiniz kiracı tabanlı bir kullanıcı dizinidir. Kullanıcı havuzu, kullanıcılarınızın profil özniteliklerini güvenli bir şekilde depolar ve özel bir şemayı destekler. AWS Konsolu, AWS CLI veya AWS SDK'yı kullanarak kullanıcı havuzu oluşturup yönetebilirsiniz.

Geliştiriciler standart OpenID Connect tabanlı kullanıcı profili özniteliklerini (kullanıcı adı, telefon numarası, adres, saat dilimi vb.) kullanabilir veya uygulamaya özel kullanıcı öznitelikleri eklemek için bunları özelleştirebilir.

Evet, kullanıcılarınızın e-posta adresi ve şifre veya telefon numarası ve şifre ile kaydolmasını ya da oturum açmasını sağlamak için takma ad özelliğinden yararlanabilirsiniz.

Daha fazla bilgi edinmek için belgelerimize bakın.

 

Evet, kullanıcı havuzunuzu ayarlarken veya yapılandırırken parola uzunluğu, karakter karmaşıklığı ve parola geçmişi gereksinimleri gibi parola politikaları ayarlayabilirsiniz. Ayrıca Amazon Cognito, kullanıcıların başka bir sitede güvenliği ihlal edilmiş bir parola ile oturum açmadığından emin olmak için her kullanıcı kaydı, oturum açma ve parola değişikliği sırasında güvenliği ihlal edilmiş kimlik bilgilerini kontrol etmeyi destekler.

Evet, uygulamanıza erişmelerini sağlamadan önce Amazon Cognito ile kullanıcılarınızın e-posta adreslerini ve telefon numaralarını doğrulamalarını isteyebilirsiniz. Kayıt sırasında, kullanıcının telefon numarasına veya e-posta adresine doğrulama kodu gönderilir ve kullanıcının kaydı tamamlayıp onaylanması için doğrulama kodunu girmesi gerekir.

Evet, uygulamanızın son kullanıcılarının SMS tabanlı MFA ile oturum açmasına olanak verebilirsiniz. SMS tabanlı MFA etkinleştirildiğinde, kullanıcılardan parolalarını (bildikleri, ilk faktör) ve yalnızca SMS aracılığıyla cep telefonlarına gönderilecek güvenlik kodunu (sahip oldukları, ikinci faktör) girmeleri istenir.

Evet, AWS Lambda'yı kullanarak kaydolma ve oturum açma akışlarını özelleştirebilirsiniz. Örneğin, dolandırıcılık olaylarını tespit edebileceğiniz veya kullanıcı verilerinde ek doğrulamalar yapabileceğiniz AWS Lambda işlevleri oluşturabilirsiniz. Özel Lambda işlevlerini kayıt öncesinde, onay sonrasında (kayıt sırasında), kimlik doğrulama öncesinde, kimlik doğrulama sırasında ve kimlik doğrulama sonrasında tetikleyebilirsiniz. Lambda işlevlerini e-posta veya telefon numarası doğrulama ve çok faktörlü kimlik doğrulamanın bir parçası olarak gönderilen iletileri özelleştirmek için de kullanabilirsiniz.

Evet, uygulamanıza erişmek için kullanılan cihazları hatırlamayı seçebilir ve bu hatırlanan cihazları bir Cognito kullanıcı havuzundaki uygulamanızın kullanıcılarıyla ilişkilendirebilirsiniz. Çok faktörlü kimlik doğrulamayı ayarladığınızda, hatırlanan cihazları kullanıcılarınız için ikinci faktör istemlerini (uyarlanabilir kimlik doğrulama) geçersiz kılmak amacıyla kullanmayı da tercih edebilirsiniz.

Kullanıcıları uygulamanızın mevcut kullanıcı dizininden veya veri tabanından kullanıcı havuzlarına geçirmek için kullanabileceğiniz iki yöntem vardır: tam zamanında (JIT) taşıma ve toplu taşıma.

Kullanıcılarınız uygulamanızda yerleşik bir AWS Lambda tetikleyicisiyle oturum açarken Amazon Cognito, onları tam zamanında uygulamanıza geçirmenize yardımcı olur. Lambda tetikleyicisi sayesinde kullanıcıların verilerini, parolalarını sıfırlamaya zorlamadan haricî bir sistemden taşıyabilirsiniz.

Alternatif olarak, tüm uygulama kullanıcılarınızın profil verilerini içeren bir CSV dosyası yükleyerek kullanıcılarınızı toplu olarak taşıyabilirsiniz. CSV dosyasını Amazon Cognito konsolu, API'ler veya AWS CLI aracılığıyla yükleyebilirsiniz. Kullanıcılarınızın, ilk kez oturum açtıktan sonra hesaplarını doğrulamaları ve e-posta adreslerine veya telefon numaralarına gönderilen doğrulama kodunu kullanarak yeni parola oluşturmaları gerekir.

Daha fazla bilgi edinmek için Kullanıcıları kullanıcı havuzlarına aktarma sayfasını inceleyin.

AWS kaynaklarına erişimi etkinleştirin

Evet. Cognito kimlik havuzları, haricî bir kimlik sağlayıcısı aracılığıyla kullanıcıların kimliğini doğrulamanıza olanak tanır ve uygulamanızın AWS'deki veya Amazon API Ağ Geçidi'nde barındırılan başka hizmetlerdeki arka uç kaynaklarına erişilebilecek geçici güvenlik kimlik bilgileri sağlar. Amazon Cognito; SAML veya OpenID Connect'i destekleyen harici kimlik sağlayıcıları, sosyal kimlik sağlayıcıları (Facebook, Twitter, Amazon gibi) ve entegre edebileceğiniz kendi kimlik sağlayıcınızla birlikte çalışır.

Amazon, Facebook, Twitter, Apple ile oturum açma, Google sosyal kimlik sağlayıcıları, OpenID Connect (OIDC) kimlik sağlayıcıları, SAML kimlik sağlayıcıları, Amazon Cognito kullanıcı havuzları ve özel geliştirici sağlayıcılarını kullanabilirsiniz.

Kimlik havuzları, kullanıcılarınız için benzersiz kimlikler oluşturmanıza ve bunları AWS hizmet sağlayıcılarıyla güvenli bir şekilde birleştirmenize olanak tanır. Müşteriler, AWS kaynaklarına erişmek için geçici ve sınırlı ayrıcalıklara sahip AWS kimlik bilgilerini elde etmek üzere kimlik bilgileri aracısı olarak Amazon Cognito kimlik havuzlarından yararlanır.

Kullanıcılar; Amazon Cognito kullanıcı havuzları, OIDC kimlik sağlayıcıları, SAML kimlik sağlayıcıları veya sosyal kimlik sağlayıcıları aracılığıyla oturum açabilir ve Amazon S3 bucket'ları veya Amazon DynamoDB kayıtları gibi AWS hizmetlerine rol tabanlı erişim elde edebilir. Kimlik Havuzları'nda kullanıcı profilleri saklanmaz. Kimlik havuzu bir veya daha fazla uygulamayla ilişkilendirilebilir. İki uygulama için iki farklı kimlik havuzu kullanırsanız, aynı son kullanıcının her Kimlik Havuzunda farklı benzersiz tanımlayıcısı olacaktır.

Mobil uygulamanız, sağlayıcının SDK'sını kullanarak Kimlik Sağlayıcı (IdP) ile kimlik doğrulaması yapar. IdP ile son kullanıcının kimliği doğrulandıktan sonra OpenID Connect belirteci ya da IdP'den döndürülen SAML onayı, uygulamanız tarafından Cognito kimlik havuzuna iletilir. Bu da kullanıcı için yeni Cognito ID ve bir dizi geçici ve sınırlı ayrıcalıklı AWS kimlik bilgisi döndürür.

Cognito kimlik havuzları, mevcut kimlik doğrulama sisteminizle entegre olabilir. Basit bir API çağrısı ile, kullanıcılarınız için kendi benzersiz tanımlayıcınıza göre son kullanıcılarınız için Cognito Kimliği alabilirsiniz. Cognito ID ve OpenID Belirteci'ni aldıktan sonra AWS kaynaklarına erişip kullanıcı verilerini eşitlemek için Cognito kimlik havuzları istemci SDK'sini kullanabilirsiniz.

Cognito kimlik havuzları, AWS hesabı kimlik bilgilerinizi kullanmak zorunda kalmamanızı sağlamak amacıyla kullanıcılarınıza AWS kaynaklarınıza erişebilecekleri bir dizi geçici ve sınırlı ayrıcalıklara sahip kimlik bilgisi atar. Her kullanıcının izinleri, oluşturduğunuz AWS IAM rolleri aracılığıyla denetlenir. Her kullanıcıya ait IAM rolünü seçmek için kurallar tanımlayabilir veya Cognito kullanıcı havuzunda grupları kullanıyorsanız bu gruplara göre IAM rolleri atayabilirsiniz. Cognito kimlik havuzları, kimliği doğrulanmamış konuk kullanıcılar için sınırlı izinlere sahip ayrı bir IAM rolü tanımlamanıza da olanak tanır. Ayrıca, Cognito'nun kullanıcılarınızın belirli kaynaklara erişimi denetlemesi için oluşturduğu benzersiz tanımlayıcıyı kullanabilirsiniz. Örneğin, bir S3 bucket'ı için her kullanıcının yalnızca bucket'taki kendi klasörüne erişmesine izin veren bir politika oluşturabilirsiniz.

Hayır, uygulamanız kullanıcıların kimliğini doğrulamak için, desteklenen genel kimlik sağlayıcısıyla (Amazon, Facebook, Twitter, Apple ile oturum açma, Google, SAML veya Open ID Connect uyumlu bir sağlayıcı) doğrudan iletişim kurar. Cognito Kimlik, kullanıcı kimlik bilgilerini almaz veya saklamaz. Cognito Kimlik, kullanıcı için benzersiz tanımlayıcı elde etmek amacıyla kimlik sağlayıcısından gelen belirteci kullanır ve ardından tek yönlü karma kullanarak bu belirteci karma haline getirir. Bu sayede, asıl kullanıcı tanımlayıcısını depolamaya gerek kalmadan aynı kullanıcı gelecekte tanınabilir.

Hayır. Cognito Kimlik, kimlik sağlayıcılarından gizli bilgileri (e-posta adresi, arkadaş listesi vb.) almaz.

Cognito kimlik havuzları, hem kimliği doğrulanmamış hem de kimliği doğrulanmış kullanıcılar için belirteç oluşturma ve sağlama sürecini destekler. Bu sayede hem uygulamanızda ek bir oturum açma ekranı görünmez hem de AWS kaynaklarına erişim için geçici ve sınırlı ayrıcalığa sahip kimlik bilgilerini kullanabilirsiniz.

Hayır. Cognito Kimlik hem Amazon, Facebook, Twitter, Digits ve Google üzerinden oturum açmayı destekler hem de kimliği doğrulanmamış kullanıcılara yönelik destek sağlar. Cognito Kimlik sayesinde, arka uç kodu yazmanıza gerek kalmadan birleştirilmiş kimlik doğrulaması, profil verileri eşitlemesi ve AWS erişim belirteci dağıtımını destekleyebilirsiniz.

Kimliği doğrulanmamış kullanıcılar, herhangi bir kimlik sağlayıcısıyla kimlik doğrulaması yapmak yerine uygulamanıza konuk olarak erişen kullanıcılardır. Arka uç kaynaklarınıza sınırlı erişim sağlamaları için bu kullanıcılara ayrı IAM rolü tanımlayabilirsiniz.

Evet, Cognito kimlik havuzları aile iPad'i gibi tek bir cihazda ayrı kimlikleri destekler. Her kimlik ayrı ayrı ele alınır. Kullanıcıların uygulamanıza nasıl girip çıktığı ve hem yerel hem de uzak uygulama verilerinin nasıl depolandığı konusunda tam denetime sahip olursunuz.

Programlama yoluyla, Cognito kimlik havuzları ile ilişkili bir veri kümesi oluşturabilir ve verileri anahtar/değer çiftleri biçiminde kaydetmeye başlayabilirsiniz. Veriler hem cihazda yerel olarak hem de Cognito eşitleme deposunda saklanır. Cognito, bu verileri son kullanıcının tüm cihazlarında da eşitleyebilir.

Cognito kimlik havuzları konsolundaki kimlik sayısında, Cognito kimlik havuzları API'leri aracılığıyla oluşturulan kimlik sayısı gösterilir. Doğrulanmış Kimlikler için (Facebook veya OpenID Connect sağlayıcısı gibi bir oturum açma sağlayıcısı ile oturum açanlar), Cognito kimlik havuzlarının GetId API'sine yapılan her çağrı, her kullanıcı için yalnızca tek bir kimlik oluşturur. Ancak, doğrulanmamış kimlikler için, GetID API'si uygulamadaki istemci tarafından her çağrıldığında yeni kimlik oluşturur. Bu nedenle, uygulamanız tek bir kullanıcıya ait doğrulanmamış kimlikler için GetID'yi birden çok kez çağırırsa, tek bir kullanıcının birden fazla kimliği olduğu görünecektir. Bu nedenle, doğrulanmamış kimlikleri kullanırken GetId'den gelen yanıtı önbelleğe almanız ve kullanıcı başına birden çok kez çağırmamanız önemlidir.

Mobil SDK, Cognito kimlik havuzları verilerini otomatik olarak önbelleğe alma mantığını sağlar. Bu konuda içiniz rahat olabilir. Benzersiz kullanıcıları izleme özelliği de dâhil olmak üzere, uygulamanız için eksiksiz bir analiz çözümü arıyorsanız lütfen Amazon Mobile Analytics'i inceleyin.

Fiyatlandırma

Amazon Cognito kullanıcı havuzu fiyatlandırması için lütfen Amazon Cognito fiyatlandırma sayfasına bakın.

Tahminî maliyetleri hesaplamak için AWS Fiyatlandırma Hesaplama Aracı'nı kullanın

 

Amazon Cognito kullanıcı havuzları için aylık aktif kullanıcılarınıza (MAU) göre ödeme yaparsınız. Bir takvim ayı içinde, uygulamanız söz konusu kullanıcı için yönetimsel oluşturma veya güncelleme, kaydolma, oturum açma, oturum kapatma, belirteç yenileme, parola değişikliği, kullanıcı hesabı öznitelik güncellemesi ya da kullanıcı üzerinde öznitelik sorgusu (AdminGetUser API'si) gibi bir kimlik işlemi oluşturursa kullanıcı, MAU olarak sayılır. O takvim ayı içinde etkin olmayan kullanıcılar veya sonraki oturumlar için ücret alınmaz. Genellikle, toplam kullanıcı ve işlem sayınız toplam MAU sayınızdan önemli ölçüde daha fazladır.

Amazon Cognito Eşitleme fiyatlandırması için lütfen Amazon Cognito fiyatlandırma sayfasına bakın.

Telefon numaralarını doğrulamak, unutulan şifreler veya şifreleri sıfırlamak için kod göndermek ya da çok faktörlü kimlik doğrulama işlemi yapmak amacıyla SMS mesajı kullanımı ayrıca ücretlendirilir. Daha fazla bilgi için Dünya Genelinde SMS Fiyatlandırması sayfasına bakın.

AWS Mobile SDK'yı kullanarak synchronize() yöntemini çağırdığınızda, bu bir eşitleme işlemi olarak sayılır. Doğrudan Sunucu API'lerini çağırıyorsanız yeni eşitleme oturumu belirteci aktarıldığında ve başarılı bir yazma ile tamamlandığında veya oturum belirteci zaman aşımına uğradığında bir eşitleme işlemi başlatılır. SDK synchronize() yöntemini kullanmanızdan veya doğrudan sunucu API'sini çağırmanızdan bağımsız olarak, eşitleme işlemleri aynı fiyattan ücretlendirilir.

Evet, Amazon Cognito kullanıcı havuzları SKU ve Essentials SKU ilk 10.000 MAU için ücretsizdir. 21 Kasım 2024'ten önce aktif Amazon Cognito kullanıcı havuzlarına sahip müşteri hesapları, 50.000 MAU'luk ücretsiz kullanım için uygundur.

AWS Ücretsiz Kullanımı kapsamında uygun AWS müşterileri ilk 12 ay boyunca 10 GB bulut eşitleme deposuna ve 1.000.000 eşitleme işlemine sahip olur.

Kullanıcıların kimliğini doğrulama ve benzersiz tanımlayıcılar oluşturmaya yönelik Amazon Cognito kimlik havuzlarının kullanılmasından ücret alınmaz

Lambda işlevlerini tetiklemek amacıyla Cognito olayları kullanımı için ek ücret alınmaz ancak Lambda işlevleriniz yürütülürken AWS Lambda ve diğer AWS hizmetlerine ilişkin kullanımınız için normal ücretler geçerli olur.

Ayrıntılar için lütfen AWS Lambda fiyatlandırması sayfasına göz atın.

 

Hayır. synchronize() yönteminin ne zaman çağrılacağına siz karar verirsiniz. Cihazdaki her yazma ve okuma işlemi yerel SQLite deposuna gönderilir. Bu sayede maliyetleriniz üzerinde tam denetim sahibi olursunuz.

Cognito, sessiz anlık bildirimler göndermek için Amazon SNS'den yararlanır. Anlık eşitleme amacıyla Cognito kullanımı için ek ücret alınmaz, ancak cihazlara gönderilen bildirimler için standart Amazon SNS ücretleri geçerli olur.