İzinler, geçerlilik süreleri, hız sınırları ve güvenlik dahil olmak üzere RAM rolleri ve STS belirteçleri ile ilgili sık sorulan soruları yanıtlar.
AssumeRole çağrısı yaparken neden "You are not authorized..." hatası alıyorum?
AssumeRole işlemini çağırdığınızda aşağıdaki hata dönebilir:
Error message: You are not authorized to do this action. You should be authorized by RAM.
Olası nedenler şunlardır:
-
İşlemi Alibaba Cloud hesabı olarak çağırıyor olabilirsiniz.
AssumeRole işlemini bir Alibaba Cloud hesabı çağíramaz. Bunun yerine bir RAM kullanıcısı veya rolü kullanın.
-
Çağrı yapan kimliğin rolü üstlenme izni yoktur.
Çağrı yapan kimliğe AliyunSTSAssumeRoleAccess ilkesini veya özel bir ilke ekleyin. Özel ilkenin, aşağıdaki İlke örneği bölümünde gösterildiği gibi sts:AssumeRole eylemine izin vermesi gerekir.
-
Rolün güven ilkesi, çağrı yapan kimliği asıl öğe olarak içermiyor.
Hedef rolün güven ilkesini güncelleyerek çağrı yapan kimliğin bu rolü üstlenmesine izin verin. Daha fazla bilgi için bkz. RAM rolünün güven ilkesini değiştirme.
AssumeRole API işlemini kimler çağırabilir?
Bir RAM rolü için geçici güvenlik kimlik bilgileri elde etmek amacıyla AssumeRole işlemini yalnızca RAM kullanıcıları veya rolleri çağırabilir. Alibaba Cloud hesapları bu işlemi çağıramaz.
Hangi tür RAM rolleri vardır ve bunları kimler üstlenebilir?
RAM, asıl öğeye bağlı olarak aşağıdaki rol türlerini sağlar:
|
|
|
|
|
|
|
|
|
|
|
Bir cloud hizmetinin sizin adınıza hareket etmesini delege edin. Örneğin, uygulamalarının bir Object Storage Service (OSS) paketine erişebilmesi için bir ECS örneğine örnek RAM rolü ekleyin. Pek çok cloud hizmeti ayrıca işlevselliğini etkinleştirmek için hizmetle bağlantılı önceden tanımlanmış bir rol olan hizmetle bağlantılı rol kullanır. |
|
|
|
Kurumsal IdP'nizden gelen kullanıcılar, Alibaba Cloud konsolunda oturum açmak için rol tabanlı tek oturum açma (SSO) kullanabilir. Federe kullanıcılar, geçici kimlik bilgileri elde etmek için IdP'den bir belirteç (SAML onayı veya ID belirteci) sağlayarak |
Belirli bir RAM kullanıcısının belirli bir RAM rolünü üstlenmesini nasıl kısıtlayabilirim?
-
RAM rolünün güven ilkesini güncelleyin.
RAM rolünün güven ilkesinde, rolü üstlenmesine izin verilen RAM kullanıcısını belirtmek için
Principalöğesini kullanın. İlke içinde<account-id>ifadesini Alibaba Cloud hesabınızın ID'siyle ve<user-name>ifadesini RAM kullanıcısının adıyla değiştirin. Daha fazla bilgi için bkz. RAM rolünün güven ilkesini değiştirme.İlke örneği:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<account-id>:user/<user-name>" ] } } ], "Version": "1" } -
RAM kullanıcısına rolü üstlenme izni verin.
RAM kullanıcısına AliyunSTSAssumeRoleAccess ilkesini veya özel bir ilke ekleyin. Özel bir ilke, kullanıcının hangi rolleri üstlenebileceğini kısıtlamanıza olanak tanır.
Özel ilke içinde, üstlenilebilen RAM rolünün ARN'sini belirtmek için
Resourceöğesini kullanın. İlke içinde<account-id>ifadesini Alibaba Cloud hesabınızın ID'siyle ve<role-name>ifadesini RAM rolünün adıyla değiştirin. Daha fazla bilgi için bkz. Özel ilke oluşturma ve RAM kullanıcı izinlerini yönetme.İlke örneği:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": "acs:ram:*:<account-id>:role/<role-name>" } ], "Version": "1" }
Bir RAM rolünün ARN'sini nasıl görüntülerim?
RAM konsoluna giriş yapın.
Sol gezinme bölmesinde seçeneklerini seçin.
Hedef RAM rolünün adına tıklayın.
Basic Information bölümünde rolün ARN'sini bulun ve kopyalayın.

STS için API istek sınırları var mı?
AssumeRole işlemi, Alibaba Cloud hesabı başına saniyede 100 istekle sınırlıdır (bu sınır tüm RAM kullanıcıları ve rolleri arasında paylaşılır).
Bu sınırı aşarsanız STS aşağıdaki hata mesajlarından birini döndürür:
-
Hata mesajları
Hata kodu
Hata mesajı
Throttling.Api
Request was denied due to api flow control.
Throttling.User
Request was denied due to user flow control.
Throttling
Request was denied due to flow control. 302durum kodu
Bu hataları çözmek için istek hızınızı azaltın. Daha yüksek bir kota talep etmek için bir destek bileti gönderin.
Bir STS belirtecinin izin sınırları nelerdir?
Bir STS belirtecinin izinleri, rolün kimlik tabanlı ilkeleri ile AssumeRole çağrısının Policy parametresinde ilettiğiniz oturum ilkesinin kesişimidir.
AssumeRole çağrısı yaparken bir oturum ilkesi belirtmezseniz, döndürülen STS belirteci rol ile aynı izinlere sahip olur.
Bir STS belirteci ne kadar süreyle geçerlidir?
STS belirteçlerinin varsayılan geçerlilik süresi 3.600 saniyedir (1 saat). Geçerli aralık 900 saniye (15 dakika) ile rolün maksimum oturum süresi arasındadır.
Belirteç geçerliliğini DurationSeconds parametresiyle AssumeRole işleminde ayarlayın.
Bir rol için maksimum oturum süresini yapılandırmak için bkz. RAM rolü için maksimum oturum süresini ayarlama.
Aynı rol için birden fazla STS belirteci aynı anda geçerli olabilir mi?
Evet. Her belirteç, süresi dolana kadar geçerliliğini korur. Yeni bir belirteç oluşturmak mevcut olanları geçersiz kılmaz.
Bir STS belirteci sızdırılırsa ne yapmalıyım?
Bir STS belirteci ele geçirilirse, rolün izinlerini kaldırarak veya rolü silerek o role ait tüm aktif belirteçleri geçersiz kılın:
RAM konsoluna giriş yapın.
-
Tüm ilkeleri RAM rolünden ayırın.
Daha fazla bilgi için bkz. RAM rolünden izinleri geri alma.
-
Alternatif olarak, RAM rolünü tamamen silin.
Daha fazla bilgi için bkz. RAM rolü silme.
Bu işlem, o role ait süresi dolmamış tüm STS belirteçlerini anında geçersiz kılar.
Rolu daha sonra yeniden kullanmaya devam etmek için aynı ad ve ilkelerle yeni bir rol oluşturun.
Bir STS belirteci için maksimum uzunluk sınırı var mı?
Hayır. Belirteç uzunluğu değişkendir. Kodunuzda sabit bir maksimum uzunluk olduğunu varsaymayın.