Google Cloud Platform'un Auth Kılavuzu burada kesin bir kaynaktır.
API anahtarları, API aramasını hangi proje adına yaptığınızı belirlemenize olanak sağlar. Projeniz adına yapılan istekleri kotalarla sınırlamakta fayda var. Bir API anahtarı genellikle istemci uygulamalarında ve web sayfalarında gömülü olduğundan genellikle güvenli kabul edilmez. Bu nedenle, API anahtarları kimlik doğrulama veya yetkilendirme sağlamaz. Anonim bir kullanıcı aramayı yapamazsa, bir API anahtarı yeterli olmaz.
Sonraki sayfa, OAuth. OAuth, gerçek kullanıcı kullanıcılarını Google hesaplarıyla kimliği doğrulanmış API çağrılarına dönüştürmenin bir yoludur. Yerel olarak gcloud
gibi bir uygulamayı çalıştırıyormuşsunuz gibi, ya da Google Cloud ile ilgili bir şeyler yapmalarına izin vermesi gereken bir web sitesi oluşturuyorsanız, kendiniz gibi bir şey yapmak istediğinizde kullanacaksınız. adına. Bu süreç, istemci kimliklerini ve sırları içerir ve yenileme belirteçleri ve erişim belirteçleri ile biter. Birkaç farklı lezzet var.
Son olarak hizmet hesapları. Uygulamanız belirli bir insan olarak değil, kendi başına bir yerde çalışıyorsa, uygulamanız için bir hizmet hesabı oluşturarak bunu modellemelisiniz. Hizmet hesapları, şifresi olmayan özel kullanıcılardır. Bunun yerine, kendileriyle kimlik doğrulaması yapabilmeleri için uygulama ile dağıtılabilen özel anahtar dosyalarına sahipler. Bu genellikle uygulamanızın belirli kullanıcılar adına çalıştırılması gerekmedikçe (örneğin, gcloud
veya gsutil
gibi bir bulut yönetim programı) istemediğiniz şeydir.
Google Cloud Java library, uygulamanız App Engine veya GCE'de çalışıyorsa, auth'u yapılandırma gereksinimini ortadan kaldıran "Application Default Credentials" adlı bir özellik sağlar. Kodu, yerel bir makinede kendiniz çalıştırmak istiyorsanız ve gcloud
yüklü ise, auth'u da halledebilir.bu hiç auth hakkında bir şey söylemez nasıl
Storage storage = StorageOptions.getDefaultInstance().getService();
Bucket bucket = storage.create(BucketInfo.of("myBucketName"));
Uyarı:
İşte GCS kova yaratan bir Bilişim Altyapısı programının an example bu. Uygulama varsayılan kimlik bilgileri, uygun hizmet hesabını veya kullanıcıyı seçmeye özen gösterir. Gerçi böyle bir ortamda olduğunuzu varsayar.
Storage storage = StorageOptions.newBuilder()
.setProjectId(PROJECT_ID)
.setCredentials(GoogleCredentials.fromStream(
new FileInputStream(PATH_TO_JSON_KEY))).build();
Bucket bucket = storage.create(BucketInfo.of("myBucketName"));
Ve işte bu: Bir özel anahtar .json dosyası varsa, bunun yerine bu yapardı!
Anında yanıtlama için teşekkürler ve bana güvenilir bir seçim yapmak için teşekkürler! GoogleCredentials sınıfı, hizmet hesabı anahtarını kullanarak kullanıcının kimliğini doğrular. Bu nedenle, tüm bu üçü kullanarak kimlik doğrulaması uygulamanız gerektiğinden, OAuth istemci kimliği ve API anahtarının nasıl kullanılacağını gösteren API snippet'i de sağlayabilir misiniz? lütfen google bulut istemci kütüphanesi API örneği sağlayın –
OAuth'un çeşitli tatları vardır. İyi cevap vermek için uygulamanızın ne yapmak istediğini daha iyi bilmeliyim. Burada Google OAuth için genel bir kılavuz var: https://developers.google.com/identity/protocols/OAuth2 ve bir Java kütüphanesi ve örnekleri: https://developers.google.com/api-client-library/java/ google-oauth-java-client/oauth2 –
Basit bir uygulama geliştiriyorum, GCS'den nesneleri getirme ve yerel olarak işleme koyma, şimdi OAuth istemcisi gibi kullanıcı kimlik doğrulamalarının istediği kimlik bilgilerini kullanmak için seçenekler vermem gerekiyor. Kimlik veya Hizmet hesabı anahtarı vb. Kimlik doğrulama için JSON hizmet hesabı anahtarını kullanabilir ve OAuth İstemci Kimliği'nden alınan İstemci gizli JSON dosyasını kullanmak ister. Lütfen 'google bulut istemci kütüphanesi API örneği' –