Alibaba Cloud CLI'yi yükledikten sonra API çağrıları yapmaya başlamak için kimlik bilgilerinizi yapılandırın ve bir cloud ürün eklentisi yükleyin. Bu konu, ECS örneğini kullanarak CLI kurulumundan ilk komutun çalıştırılmasına kadar tüm süreci adım adım açıklar.
Çözüm özeti
Alibaba Cloud CLI kullanarak cloud ürünlerinin API'lerini çağırmak için aşağıdaki dört adımı izleyin:
Ön koşullar
Bir Alibaba Cloud hesabınız olmalıdır. Henüz hesabınız yoksa şuraya gidin Alibaba Cloud official website ve kaydolun.
Adım 1: Alibaba Cloud CLI yükleyin
Linux'ta tek tıklamayla kurulum yapmak için aşağıdaki komutu çalıştırın:
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"
Diğer işletim sistemleri için kurulum talimatları için bkz. Install or update CLI.
Kurulumdan sonra sürümü kontrol etmek için aşağıdaki komutu çalıştırın:
aliyun version
Sürüm numarasının 3.3.0 veya üzeri olduğundan emin olun. Değilse CLI'yı yeniden yükleyin.
CLI'yı yerel olarak yüklemek istemiyorsanız Cloud Shell kullanın. Bu hizmet, Alibaba Cloud CLI önceden yüklü olarak gelir ve tarayıcı oturumunuzda otomatik kimlik doğrulama sağlar. Doğrudan Adım 3'ten devam edebilirsiniz.
Adım 2: Kimlik bilgilerini yapılandırın
Alibaba Cloud CLI birden fazla kimlik doğrulama yöntemini destekler. Mümkün olduğunda OAuth kimlik doğrulamasını kullanın. AccessKey kullanıyorsanız bunu kaynak kodunuzda sabit olarak kodlamayın.
OAuth authentication
OAuth, tarayıcınız üzerinden giriş yaparak kimlik doğrulamayı tamamlar. Anahtarları manuel olarak oluşturmanıza veya yönetmenize gerek yoktur.
Grafik arayüzü olmayan sunucularda OAuth kimlik doğrulamasını kullanamazsınız. Bunun yerine AccessKey authentication sekmesine geçin.
RAM yöneticilerinin önceden aşağıdaki görevleri tamamlaması gerekir: bir CLI OAuth uygulaması oluşturmak ve CLI erişimine ihtiyacı olan kullanıcılara kimlik atamak. Ayrıntılar için bkz. Configure OAuth authentication for Alibaba Cloud CLI konusundaki Adım 1 ve Adım 2. Alibaba Cloud hesabı (kayıt sırasında kullanılan hesap) kullanıcılarının bu görevleri gerçekleştirmesi gerekmez.
-
OAuth yapılandırmasını başlatmak için aşağıdaki komutu çalıştırın:
aliyun configure --mode OAuth --profile default--profile defaultseçeneği bu kimlik bilgilerinidefaultprofil adı altında kaydeder. CLI birden çok adlandırılmış profili destekler. Farklı kimlik bilgileri arasında geçiş yapmak için--profile mydevgibi bir seçenek kullanabilirsiniz. CLI sizden bir oturum açma sitesi seçmenizi ister. Varsayılan ayarı kabul etmek için Enter tuşuna basın.
-
CLI yetkilendirmeyi tamamlamak için tarayıcınızı otomatik olarak açar. Terminalinizde aşağıdakine benzer bir çıktı görüntülenir:
Please open the following URL in your browser to authorize: https://signin.alibabacloud.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin.alibabacloud.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 Now you can login to your account with OAuth configuration in the browser.Tarayıcı otomatik olarak açılmazsa terminalde gösterilen Sign In URL adresini kopyalayın ve tarayıcınızda manuel olarak açarak oturum açın.
-
Yetkilendirme başarılı olduktan sonra terminale dönün ve varsayılan bölge ID'nizi ile terminal dilinizi girin. Örnek terminal çıktısı:
Default Region Id []: cn-hangzhou Default Output Format [json]: json (Only support json) Default Language [zh|en] en: zh Saving profile[oauth-1] ...Done. Configure Done!!! ..............888888888888888888888 ........=8888888888888888888D=.............. ...........88888888888888888888888 ..........D8888888888888888888888I........... .........,8888888888888ZI: ...........................=Z88D8888888888D.......... .........+88888888 ..........................................88888888D.......... .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D.......... .........+88888888 ............. ************* ..............O8888888D.......... .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D.......... .........+88888888...........................................88888888D.......... ..........D888888888888DO+. ..........................?ND888888888888D.......... ...........O8888888888888888888888...........D8888888888888888888888=........... ............ .:D8888888888888888888.........78888888888888888888O .............. -
Kimlik bilgilerinizin geçerli olduğunu doğrulayın:
aliyun sts get-caller-identityYanıt
AccountIdveArniçeriyorsa kimlik bilgileriniz geçerlidir.NotForbidden.NoPermissionhatası alırsanız mevcut kullanıcınızın yeterli izni yoktur. Kuruluşunuzun RAM yöneticisiyle iletişime geçerek RAM kullanıcınıza gerekli izinleri vermesini isteyin. Bir Alibaba Cloud hesabı kullanıyorsanız hesap durumunuzun normal olduğunu kontrol edin.
AccessKey authentication
AccessKey uzun vadeli bir kimlik bilgisidir. Bunu kaynak kodunuzda veya yapılandırma dosyalarında sabit olarak kodlamayın. Bunun yerine ortam değişkenleri aracılığıyla iletin. AccessKey'leri yalnızca kişisel geliştirme ve test ortamlarında kullanın. Üretim ortamları için OAuth kullanın. Daha fazla bilgi için bkz. Secure credential usage practices.
Zaten bir AccessKey'iniz varsa mevcut AccessKey ID ve AccessKey secret değerlerinizi kullanın ve bu adımı atlayın. AccessKey'iniz yoksa RAM konsola giderek bir RAM kullanıcısı oluşturun ve bir AccessKey üretin. Ayrıntılar için bkz. Create a RAM user.
-
AccessKey yapılandırmasını başlatmak için aşağıdaki komutu çalıştırın:
aliyun configure --mode AK --profile default--profile defaultseçeneği bu kimlik bilgilerinidefaultprofil adı altında kaydeder. CLI birden çok adlandırılmış profili destekler. Farklı kimlik bilgileri arasında geçiş yapmak için--profile mydevgibi bir seçenek kullanabilirsiniz. İstendiğinde AccessKey ID'nizi, AccessKey secret değerinizi, varsayılan bölge ID'nizi (örneğin
cn-hangzhou) ve terminal dilinizi girin.-
Kimlik bilgilerinizin geçerli olduğunu doğrulayın:
aliyun sts get-caller-identityYanıt
AccountIdveArniçeriyorsa kimlik bilgileriniz geçerlidir. Hata alırsanız AccessKey ID ve secret değerlerinizin doğru olduğunu kontrol edin.NotForbidden.NoPermissionhatası alırsanız mevcut RAM kullanıcınızın yeterli izni yoktur. Kuruluşunuzun RAM yöneticisiyle iletişime geçerek gerekli izinleri vermesini isteyin. Bir Alibaba Cloud hesabı kullanıyorsanız hesap durumunuzun normal olduğunu kontrol edin.
Alibaba Cloud CLI geçici yetkilendirme senaryoları için Security Token Service belirteçleri gibi diğer kimlik bilgisi türlerini de destekler. Ayrıntılar için bkz. Configure and manage identity credentials.
Adım 3: Bir cloud ürün eklentisi yükleyin
Her bir cloud ürününe yönelik Alibaba Cloud CLI komutları eklenti olarak paketlenir ve gerektiğinde yüklenir.
Örnek olarak ECS eklentisini yüklemek için aşağıdaki komutu çalıştırın:
aliyun plugin install --names ecs
Terminalde Plugin aliyun-cli-ecs x.x.x installed successfully! mesajı görüntülenirse kurulum başarılıdır.
Eklentileri yükleme ve yönetme hakkında daha fazla bilgi için bkz. Quickly install cloud product CLI plugins.
Adım 4: Bir komut çalıştırın
Kullanılabilir bölgeleri listelemek için aşağıdaki komutu çalıştırın:
aliyun ecs describe-regions --accept-language zh-CN
--accept-language zh-CN seçeneği yanıt dilinin Çince olmasını sağlar.
Örnek komut çıktısı (kısaltılmış):
{
"Regions": {
"Region": [
{
"RegionId": "cn-hangzhou",
"RegionEndpoint": "ecs.cn-hangzhou.aliyuncs.com",
"LocalName": "China (Hangzhou)"
},
{
"RegionId": "cn-shanghai",
"RegionEndpoint": "ecs.cn-shanghai.aliyuncs.com",
"LocalName": "China (Shanghai)"
},
{
"RegionId": "cn-beijing",
"RegionEndpoint": "ecs.cn-beijing.aliyuncs.com",
"LocalName": "China (Beijing)"
}
]
},
"RequestId": "5BEAEC76-E9B4-47B2-8D24-A3C31D5D2EEF"
}
RequestId her API çağrısı için benzersiz bir tanımlayıcıdır ve sorun gidermede kullanılır.
SSS
OAuth yapılandırması sırasında neden “Unauthorized call” hatası alıyorum?
Mevcut hesabınızın bir OAuth uygulaması oluşturmak için gereken RAM yönetim izinleri yoktur. Bir RAM yönetici hesabına geçin veya yöneticinizden OAuth uygulamasını oluşturmasını ve kimlik atamasını yapmasını isteyin. Belirli izin gereksinimleri için bkz. OAuth credentials.
Cloud ürün komutlarını kullanmak için neden bir eklenti yüklemem gerekiyor?
Alibaba Cloud CLI eklenti tabanlı bir mimari kullanır. Temel CLI hafif kalırken her cloud ürününe ait komutlar ayrı eklentiler olarak paketlenir. Bu sayede tüm CLI'yı yükseltmeden eklentileri gerektiğinde yükleyebilir ve güncelleyebilirsiniz. Tüm kullanılabilir eklentileri görüntülemek için aliyun plugin list-remote komutunu çalıştırın.
Bir cloud ürünün CLI'yı desteklediğini nasıl anlarım?
Tüm kullanılabilir eklentileri görüntülemek için aliyun plugin list-remote komutunu çalıştırın veya şu adrese gidin OpenAPI Portal CLI Homepage ve ürün adına göre arama yapın.
Grafik arayüzü olmayan bir sunucuda OAuth kimlik doğrulamasını kullanabilir miyim?
Hayır. OAuth kimlik doğrulaması tarayıcı tabanlı oturum açma ve yetkilendirme gerektirir.