Alibaba Cloud CLI, bulut kaynaklarını yönetmek için bulut hizmetlerinin API'lerini çağırırken kimlik doğrulama amacıyla kimlik bilgilerini kullanır. Bu konuda, kullanım durumunuza göre uygun bir kimlik bilgisi türünü nasıl seçeceğiniz ve kimlik bilgilerini nasıl yapılandırıp yöneteceğiniz açıklanmaktadır.
Bir kimlik bilgisi türü seçin
Alibaba Cloud CLI birden fazla kimlik bilgisi türünü destekler. Kullanım durumunuza en uygun olanı seçin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RAM rolü üstlenin ve kaynakları rol kimliğiyle yönetin. Geçici yetki yükseltme veya hesaplar arası erişim için uygundur. Örneğin, temel izinlere sahip bir RAM kullanıcısı kaynak yönetimi izinlerine sahip bir RAM rolü üstlenebilir veya Alibaba Cloud hesapları arasında kaynaklara erişebilir. Geçici güvenlik kimlik bilgileri (STS belirteci) kullanır. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloud Shell kullanıyorsanız sistem otomatik olarak geçici bir kimlik bilgisi yapılandırır. Kimlik, konsola şu anda oturum açmış olan RAM kullanıcısı veya roldür ve izinler bu kimlikle tutarlıdır. Manuel yapılandırma yapmadan CLI komutlarını çalıştırabilirsiniz.
Kimlik bilgilerini yapılandırma
Alibaba Cloud CLI iki kimlik bilgisi yapılandırma yöntemini destekler: etkileşimli yapılandırma ve etkileşimsiz yapılandırma.
Etkileşimli yapılandırma
Etkileşimli yapılandırma, kimlik bilgisi yapılandırmasında size rehberlik eden bir komut satırı sihirbazı kullanır. Sistem her bir kimlik bilgisi parametresini sırayla girmenizi ister. Yerel geliştirme ortamları veya ilk kez yapılandırma işlemleri için uygundur.
aliyun configure --mode <AuthenticateMode> --profile <ProfileName>
Örnek: EcsProfile adlı bir EcsRamRole kimlik bilgisi profili oluşturmak için:
aliyun configure --mode EcsRamRole --profile EcsProfile
Aşağıda örnek bir etkileşimli oturum gösterilmektedir:
Configuring profile 'EcsProfile' in 'EcsRamRole' authenticate mode...
Ecs Ram Role []: ECSAdmin
Default Region Id []: cn-shanghai
Default Output Format [json]: json (Only support json)
Default Language [zh|en] en: en
Saving profile[EcsProfile] ...Done.
Etkileşimsiz yapılandırma
Etkileşimli giriş olmadan komut satırı bağımsız değişkenleri aracılığıyla kimlik bilgisi yapılandırma parametrelerini doğrudan belirtin. Betikler ve CI/CD işlem hatları gibi otomasyon senaryoları için uygundur.
Örnek: AkProfile adlı bir AK kimlik bilgisi profili oluşturmak için:
Bash
aliyun configure set \
--profile AkProfile \
--mode AK \
--access-key-id ************ \
--access-key-secret ************ \
--region "cn-shanghai"
PowerShell
aliyun configure set `
--profile AkProfile `
--mode AK `
--access-key-id ************ `
--access-key-secret ************ `
--region "cn-shanghai"
Her kimlik bilgisi türü tarafından desteklenen yapılandırma parametreleri için ilgili kimlik bilgisi türünün ayrıntılı yapılandırma sayfasına bakın. Aşağıdaki parametreler tüm kimlik bilgisi türleri için ortaktır:
|
|
|
|
|
|
|
|
|
|
|
|
Bir kimlik bilgisi türü seçin tablosunda hangi türlerin etkileşimsiz yapılandırmayı desteklediği gösterilmektedir.
Aynı kimlik bilgisi türü için benzersiz adlara sahip birden fazla profil oluşturabilirsiniz. Örneğin, geliştirme ve üretim ortamları için ak-dev ve ak-prod adlı AK profilleri oluşturun.
Kimlik bilgisi yapılandırmasını doğrulama
Kimlik bilgisi yapılandırıldıktan sonra kimlik bilgisinin geçerli olduğunu doğrulamak için aşağıdaki komutu çalıştırın:
aliyun sts get-caller-identity
Kimlik bilgisi doğru şekilde yapılandırılmışsa çıktı aşağıdakine benzer:
-
Kimlik doğrulanan kimlik bir RAM kullanıcısıysa:
{ "AccountId": "173305794806****", "Arn": "acs:ram::173305794806****:user/<user-name>", "IdentityType": "RAMUser", "PrincipalId": "20407046578681****", "RequestId": "D012C652-FF76-5101-81B3-45A1DDAC****", "UserId": "20407046578681****" } -
Kimlik doğrulanan kimlik bir RAM rolüyse:
{ "AccountId": "191317683912****", "Arn": "acs:ram::191317683912****:assumed-role/<role-name>/<role-session-name>", "IdentityType": "AssumedRoleUser", "PrincipalId": "30004467717606****:<role-session-name>", "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****", "RoleId": "30004467717606****" }
Başarılı doğrulama yalnızca kimlik doğrulamanın başarılı olduğunu gösterir. Kaynakları yönetmek için kimlik bilgisiyle ilişkili kimliğe ilgili izin ilkelerini de eklemelisiniz.
Kimlik bilgilerini yönetme
Kimlik bilgisi profillerini görüntülemek, değiştirmek, düzenlemek ve silmek için aliyun configure alt komutlarını kullanın.
Yapılandırmaları görüntüleme
Profil listesini ve aktif profili görüntüleme
Mevcut makinedeki tüm yapılandırılmış kimlik bilgilerini ve durumlarını görüntüleyin. Profil adları ve kimlik bilgisi türleri gibi kimlik bilgisi profili özet bilgilerini kontrol etmek ve aktif profili belirlemek için bu komutu kullanın.
aliyun configure list
Aşağıda örnek bir çıktı gösterilmektedir. Yıldız işareti (*), aktif kimlik bilgisi profilini işaret eder. Aktif profil, CLI tarafından kullanılan varsayılan kimlik bilgisi ve parametre kümesidir (bölge ve dil gibi). --profile parametresi veya bir ortam değişkeni kullanarak farklı bir profil belirtmediğiniz sürece tüm komutlar bu profili kullanır.
Profile | Credential | Valid | Region | Language
--------- | ------------------ | ------- | ---------------- | --------
default | AK:***UyLX | Valid | cn-shanghai | en
OAuthProfile | OAuth:fiA5bnZkyw@CN | Valid | cn-hangzhou | en
EcsProfile * | EcsRamRole:ecs-role-name | Valid | cn-beijing | zh
Profil ayrıntılarını görüntüleme
Belirtilen bir kimlik bilgisi profilinin ayrıntılı bilgilerini görüntülemek için aşağıdaki komutu çalıştırın:
aliyun configure get [--profile <ProfileName>] [<SETTING_NAME>...]
SETTING_NAME: Görüntülenecek ayarların adı. Aynı anda birden fazla ayar belirtebilirsiniz. Belirtilmezse tüm kimlik bilgisi profili bilgileri görüntülenir. Belirtilen ayar yoksa komut çıktı vermez.
Örnek 1: OAuthProfile adlı bir profilin ayrıntılarını görüntüleyin:
aliyun configure get --profile OAuthProfile
Çıktı:
{
"name": "OAuthProfile",
"mode": "OAuth",
"access_key_id": "STS.9jYc5erFPDLrwNGWc7Sob2ZRHenhHfz7pw9*************",
"access_key_secret": "3AcNFz37QykuHEwgzWramXGZaCrM1mDHpG1s7v******",
"sts_token": "CAIS5gJ1q6Ft5DqyfSjI2KnsKI/Rn5lx846Zd******",
"region_id": "cn-hangzhou",
"output_format": "json",
"language": "zh",
"sts_expiration": 1776751437,
"oauth_access_token": "eyJhbGciOiJSUzI1NiIsI*******",
"oauth_refresh_token": "ALGuHPAmSWxR5ynSsoRXhWpUtsxXHcLpGLnZqVvVXZDkjcbMsMasoshv1MnyRhkTq******",
"oauth_access_token_expire": 1776751436,
"oauth_site_type": "CN"
}
Örnek 2: OAuthProfile için yalnızca profil adını, kimlik bilgisi türünü ve varsayılan dili görüntüleyin:
aliyun configure get --profile OAuthProfile profile mode language
Çıktı:
profile=OAuthProfile
mode=OAuth
language=en
Yapılandırma dosyası konumu
Kimlik bilgisi yapılandırma dosyasını manuel olarak görüntülemek veya yedeklemek için aşağıdaki yollarda bulun:
|
|
|
|
|
|
|
|
|
Profilleri değiştirme
Aktif profili değiştirme
Belirtilen profili aktif profil olarak ayarlayın. Alibaba Cloud CLI, v3.0.214 sürümünden itibaren aliyun configure switch komutunu destekler. Değiştirme işlemi başarıyla tamamlandığında, --profile parametresi kullanılarak açıkça bir kimlik bilgisi belirtilmeyen tüm sonraki istekler otomatik olarak bu profili kullanır.
aliyun configure switch --profile <ProfileName>
Değiştirme işleminden önce hedef profil adını onaylamak için aliyun configure list komutunu çalıştırın.
Örnek: prod adlı bir profile geçiş yapın:
aliyun configure switch --profile prod
Geçiştan sonra hedef profilin * işaretiyle işaretlendiğini onaylamak için aliyun configure list komutunu çalıştırın.
Tek bir komut için profil kullanma
Tek bir komutta --profile parametresini kullanarak geçici olarak bir profil belirtin. Bu işlem aktif profili etkilemez.
Örnek: ECS bölgelerinin listesini sorgulamak için prod profilini kullanın:
aliyun ecs describe-regions --profile prod
Bir profili değiştirme
Mevcut bir profilin parametre değerlerini değiştirmek için aliyun configure set komutunu kullanın. Yalnızca değiştirmek istediğiniz parametreleri belirtmeniz gerekir. Belirtilmeyen parametreler değişmeden kalır.
aliyun configure set --profile <ProfileName> --<ParameterName> <NewValue>
Ortak parametreler:
--region: Varsayılan bölge--language: Çıktı dili (zh / en)
Ayrıntılı parametreler için her kimlik bilgisi türünün belgelerine bakın.
Örnek: default profilinin varsayılan bölgesini değiştirin:
aliyun configure set --profile default --region cn-shanghai
Bir profili değiştirmek, onu otomatik olarak aktif profil olarak ayarlar.
Bir profili silme
Belirtilen bir profili silmek için aşağıdaki komutu çalıştırın:
aliyun configure delete --profile <ProfileName>
Örnek: dev adlı bir profili silin:
aliyun configure delete --profile dev
Silme işlemi geri alınamaz. Aktif profili silerseniz listedeki ilk profil otomatik olarak yeni aktif profil olur.
Silme işleminden sonra profilin listeden kaldırıldığını onaylamak için aliyun configure list komutunu çalıştırın.
SSS
Etkileşimli yapılandırma sırasında yanlış bilgi girersem ne olur?
İlgili alanı değiştirmek için aliyun configure set komutunu kullanın. Baştan yeniden yapılandırmanıza gerek yoktur. Örnek:
aliyun configure set --profile <ProfileName> --<ParameterName> <CorrectValue>
Bir CLI komutu aktif profili kullanmıyor
CLI, kullanılacak gerçek profili aşağıdaki öncelik sırasına (yüksekten düşüğe) göre belirler. Daha yüksek öncelik, daha düşük önceliği geçersiz kılar:
--profilekomut satırı parametresi: Yalnızca geçerli komut için uygulanır ve en yüksek önceliğe sahiptir.ALIBABA_CLOUD_PROFILEortam değişkeni: Geçerli terminal oturumundaki tüm komutlar için uygulanır.Aktif profil:
aliyun configure listkomutunun çıktısında*işaretiyle işaretlenen profil. Bu ayar kalıcıdır.
Bir komutun sonucu beklentilerinizle eşleşmiyorsa aktif profili geçersiz kılan --profile parametresinin veya ALIBABA_CLOUD_PROFILE ortam değişkeninin ayarlanıp ayarlanmadığını kontrol edin. Ortam değişkeninin ayarlanıp ayarlanmadığını kontrol etmek için echo $ALIBABA_CLOUD_PROFILE komutunu çalıştırın.
Hata: load current configuration failed unknown profile default
Tam hata mesajı:
ERROR: load current configuration failed unknown profile default, run configure to check
Neden:
Tüm kimlik bilgisi profilleri silindiğinden Alibaba Cloud CLI düzgün çalışamaz.
Çözüm:
config.json dosyasını manuel olarak silin ve kimlik bilgilerini yeniden yapılandırmak için aliyun configure komutunu çalıştırın. Dosya konumu için Yapılandırma dosyası konumu bölümüne bakın. Örneğin, Linux veya macOS'ta dosyayı silmek için aşağıdaki komutu çalıştırın:
rm ~/.aliyun/config.json