Tüm Ürünler
Search
Belge Merkezi

Resource Access Management:Use the STS SDK for Python to assume a RAM role

Son Güncelleme:Oct 03, 2026

STS Python SDK kullanarak AssumeRole işlemini çağırın ve bir RAM rolünü üstlenmek için geçici kimlik bilgileri (STS Token) edinin.

1. Adım: API dokümantasyonunu inceleyin

API'ye genel bakış bölümünü inceleyin ve AssumeRole işlemini bulun. İstek parametrelerini ve gerekli izinleri not alın.

2. Adım: Bir RAM kullanıcısı oluşturun ve izin verin

Kimlik

Bu API'yi yalnızca RAM kullanıcıları ve RAM rolleri çağırabilir. Alibaba Cloud hesapları (birincil hesaplar) desteklenmez. Daha fazla bilgi için bkz. Kimlikler.

Bu örnekte bir RAM kullanıcısı kullanılır.

RAM konsolu üzerinde oturum açın ve bir RAM kullanıcısı oluşturun. Bkz. RAM kullanıcısı oluşturma.

Kimlik Bilgileri

Hedef RAM kullanıcısının ayrıntılar sayfasına gidin. Authentication sekmesinde, User AccessKeys bölümünde Create AccessKey seçeneğine tıklayın. Bkz. AccessKey oluşturma.

Önemli

Bir RAM kullanıcısının AccessKey gizli anahtarı yalnızca oluşturulduğu sırada bir kez görüntülenir ve daha sonra alınamaz. Bu anahtarı güvenli bir şekilde saklayın.

İzinler

  1. RAM konsolundaki Users sayfasında hedef RAM kullanıcısını bulun ve Grant Permissions sütunundaki Actions seçeneğine tıklayın.

  2. Arama kutusuna sts yazın ve AliyunSTSAssumeRoleAccess sistem ilkesini seçin.

    Bu ilke, STS AssumeRole işlemini çağırma izni verir.

  3. Yetkilendirmeyi tamamlamak için OK seçeneğine tıklayın.

3. Adım: Bir RAM rolü oluşturun

RAM konsolu üzerinde oturum açın ve güvenilir varlık olarak bir Alibaba Cloud hesabı içeren bir RAM rolü oluşturun. Mevcut hesabı veya başka bir hesabı seçin:

  • Current Account: Mevcut Alibaba Cloud hesabındaki bir RAM kullanıcısının bu rolü üstlenmesine izin vermek için Current Account seçeneğini belirleyin.

  • Other Account: Başka bir Alibaba Cloud hesabından gelen RAM kullanıcılarının bu rolü üstlenmesine izin vermek için Other Account seçeneğini belirleyin ve diğer hesap kimliğini girin. Hesaplar arası erişim senaryolarında bu seçeneği kullanın.

2. Adım kısmındaki RAM kullanıcısı bu rolü üstleneceğinden, güvenilir varlığı söz konusu RAM kullanıcısına sahip olan Alibaba Cloud hesabı olarak ayarlayın. Bkz. Güvenilir varlığı bir Alibaba Cloud hesabı olan bir RAM rolü oluşturma.

Ayrıca, hangi RAM kullanıcılarının bu rolü üstlenebileceğini değiştirmek için Bir RAM rolünün güven ilkesini değiştirme işlemini uygulayabilirsiniz.

4. Adım: API çağrısı yapın

Bu örnekte Python SDK kullanılmaktadır. Diğer diller için bkz. STS SDK. Ayrıca diğer Çağrı yöntemlerini de kullanabilirsiniz.

Python ortamını kurun

Python 3 sürümünü indirin ve yükleyin.

Yüklemeyi doğrulamak için python --version komutunu çalıştırın.

Ortam değişkenlerini yapılandırın

AccessKey çiftini kaynak kodda sabit kodlamak yerine ortam değişkenlerinde saklayın. Bkz. Linux, macOS ve Windows'ta ortam değişkenlerini yapılandırma.

Bağımlılıkları yükleyin

pip install alibabacloud_credentials
pip install alibabacloud_sts20150401==1.1.3
pip install alibabacloud_tea_console

Örnek kodu indirin

  1. OpenAPI Portal'da 2. Adım kısmındaki RAM kullanıcısı olarak oturum açın ve AssumeRole hata ayıklama URL'sini açın.

  2. İstek parametrelerini girin ve Initiate Call seçeneğine tıklayın.

    RoleArn değeri olarak 3. Adım kısmındaki RAM rolünün ARN değerini girin. Bkz. Bir RAM rolünün ARN değerini nasıl görüntülerim?

  3. SDK Sample sekmesinde Python sekmesini seçin ve Download Project seçeneğine tıklayın.

  4. Paketi çıkarın ve alibabacloud_sample dizinine gidin.

Örnek kodu çalıştırın

Aşağıdaki komutu çalıştırın:

python sample.py

Örnek çıktı:

	"headers": {
		"date": "Thu, 17 Aug 2023 10:17:04 GMT",
		"content-type": "application/json;charset=utf-8",
		"content-length": "846",
		"connection": "keep-alive",
		"keep-alive": "timeout=25",
		"access-control-allow-origin": "*",
		"access-control-expose-headers": "*",
		"x-acs-request-id": "79E360B6-FAC5-5B18-8081-BC0F8E90A238",
		"x-acs-trace-id": "b2fb071a47e03e6d6cd507fd05438021",
		"etag": "8bZ4pA7U/ulImlQiwhQnxXw6"
	},
	"statusCode": 200,
	"body": {
		"AssumedRoleUser": {
			"Arn": "acs:ram::151266687691****:role/test-role/test",
			"AssumedRoleId": "30081280744271****:test"
		},
		"Credentials": {
			"AccessKeyId": "STS.NTdbdgE5zgL2qcb5pAify****",
			"AccessKeySecret": "Fyk6ab1xfCFn88hXFxzV44QnF6cDi9T2PiTJgsqU****",
			"Expiration": "2023-08-17T11:17:04Z",
			"SecurityToken": "CAIS7AF1q6Ft5B2yfSjIr5fRKd7TqOpb0ISgUnocHLFUE6eDM****"
		},
		"RequestId": "79E360B6-FAC5-5B18-8081-BC0F8E90A238"
	}
}