Skip to content

Commit 9fee7d7

Browse files
author
yikefan
committed
添加policy参数
1 parent 62a8adb commit 9fee7d7

File tree

4 files changed

+24
-11
lines changed

4 files changed

+24
-11
lines changed

SDK_Integration_zh.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ if __name__ == '__main__':
175175
host="sts.volcengineapi.com", # 非必填,请求域名,默认sts.volcengineapi.com
176176
region="cn-beijing", # 非必填,请求服务器区域地址,默认cn-north-1
177177
timeout=30, # 非必填,请求超时时间,默认30秒
178-
expired_buffer_seconds=60 #非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
178+
expired_buffer_seconds=60, #非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
179+
policy='{"Statement":[{"Effect":"Allow","Action":["vpc:CreateVpc"],"Resource":["*"],"Condition":{"StringEquals":{"volc:RequestedRegion":["cn-beijing"]}}}]}' # 非必填,授权策略,默认为空
179180
)
180181

181182
# set default configuration
@@ -235,7 +236,8 @@ if __name__ == '__main__':
235236
host="sts.volcengineapi.com", # 非必填,请求域名,默认sts.volcengineapi.com
236237
region="cn-beijing", # 非必填,请求服务器区域地址,默认cn-beijing
237238
timeout=30, # 非必填,请求超时时间,默认30秒
238-
expired_buffer_seconds=60 # 非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
239+
expired_buffer_seconds=60, # 非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
240+
policy='{"Statement":[{"Effect":"Allow","Action":["vpc:CreateVpc"],"Resource":["*"],"Condition":{"StringEquals":{"volc:RequestedRegion":["cn-beijing"]}}}]}' # 非必填,授权策略,默认为空
239241
)
240242

241243
# set default configuration
@@ -296,7 +298,8 @@ if __name__ == '__main__':
296298
host="sts.volcengineapi.com", # 非必填,请求域名,默认sts.volcengineapi.com
297299
region="cn-beijing", # 非必填,请求服务器区域地址,默认cn-beijing
298300
timeout=30, # 非必填,请求超时时间,默认30秒
299-
expired_buffer_seconds=60 # 非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
301+
expired_buffer_seconds=60, # 非必填,session有效期前多久过期,剩余时间小于这个设置就要请求新的token了,默认60秒
302+
policy='{"Statement":[{"Effect":"Allow","Action":["vpc:CreateVpc"],"Resource":["*"],"Condition":{"StringEquals":{"volc:RequestedRegion":["cn-beijing"]}}}]}' # 非必填,授权策略,默认为空
300303
)
301304

302305
# set default configuration

volcenginesdkcore/auth/providers/sts_oidc_provider.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from volcenginesdkcore import UniversalApi, UniversalInfo, ApiClient, Configuration
99
from .provider import Provider, CredentialValue
10+
import json
1011

1112

1213
class AssumeRoleOidcCredentials:
@@ -20,7 +21,7 @@ def __init__(self, ak, sk, session_token, current_time, expired_time):
2021

2122
class StsOidcCredentialProvider(Provider):
2223
def __init__(self, role_name, account_id, oidc_token, duration_seconds=3600, scheme='https',
23-
host='sts.volcengineapi.com', region='cn-beijing', timeout=30, expired_buffer_seconds=60):
24+
host='sts.volcengineapi.com', region='cn-beijing', timeout=30, expired_buffer_seconds=60, policy=None):
2425

2526
self.role_name = role_name
2627
self.account_id = account_id
@@ -32,7 +33,8 @@ def __init__(self, role_name, account_id, oidc_token, duration_seconds=3600, sch
3233
self.host = host
3334
self.region = region
3435
self.scheme = scheme
35-
36+
if policy is not None:
37+
self.policy = json.loads(policy)
3638
self.expired_time = None
3739
if expired_buffer_seconds > 600:
3840
raise ValueError('expired_buffer_seconds must be less than or equal to 600')
@@ -65,7 +67,8 @@ def _assume_role_oidc(self):
6567
'RoleTrn': 'trn:iam::' + self.account_id + ':role/' + self.role_name,
6668
'OIDCToken': self.oidc_token,
6769
}
68-
70+
if self.policy is not None:
71+
params['Policy'] = self.policy
6972
configuration = type.__call__(Configuration)
7073

7174
# configuration.ak = self.ak

volcenginesdkcore/auth/providers/sts_provider.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from volcenginesdkcore import UniversalApi, UniversalInfo, ApiClient, Configuration
99
from .provider import Provider, CredentialValue
10+
import json
1011

1112

1213
class AssumeRoleCredentials:
@@ -20,7 +21,7 @@ def __init__(self, ak, sk, session_token, current_time, expired_time):
2021

2122
class StsCredentialProvider(Provider):
2223
def __init__(self, ak, sk, role_name, account_id, duration_seconds=3600, scheme='https',
23-
host='sts.volcengineapi.com', region='cn-north-1', timeout=30, expired_buffer_seconds=60):
24+
host='sts.volcengineapi.com', region='cn-north-1', timeout=30, expired_buffer_seconds=60, policy=None):
2425
self.ak = ak
2526
self.sk = sk
2627
self.role_name = role_name
@@ -32,7 +33,8 @@ def __init__(self, ak, sk, role_name, account_id, duration_seconds=3600, scheme=
3233
self.host = host
3334
self.region = region
3435
self.scheme = scheme
35-
36+
if policy is not None:
37+
self.policy = json.loads(policy)
3638
self.expired_time = None
3739
if expired_buffer_seconds > 600:
3840
raise ValueError('expired_buffer_seconds must be less than or equal to 600')
@@ -64,6 +66,8 @@ def _assume_role(self):
6466
'RoleSessionName': uuid.uuid4().hex,
6567
'RoleTrn': 'trn:iam::' + self.account_id + ':role/' + self.role_name,
6668
}
69+
if self.policy is not None:
70+
params['Policy'] = self.policy
6771
configuration = type.__call__(Configuration)
6872
configuration.ak = self.ak
6973
configuration.sk = self.sk

volcenginesdkcore/auth/providers/sts_saml_provider.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from volcenginesdkcore import UniversalApi, UniversalInfo, ApiClient, Configuration
99
from .provider import Provider, CredentialValue
10+
import json
1011

1112

1213
class AssumeRoleSamlCredentials:
@@ -20,7 +21,7 @@ def __init__(self, ak, sk, session_token, current_time, expired_time):
2021

2122
class StsSamlCredentialProvider(Provider):
2223
def __init__(self, role_name, account_id, provider_name, saml_resp, duration_seconds=3600, scheme='https',
23-
host='sts.volcengineapi.com', region='cn-beijing', timeout=30, expired_buffer_seconds=60):
24+
host='sts.volcengineapi.com', region='cn-beijing', timeout=30, expired_buffer_seconds=60, policy=None):
2425
# self.ak = ak
2526
# self.sk = sk
2627
self.role_name = role_name
@@ -34,7 +35,8 @@ def __init__(self, role_name, account_id, provider_name, saml_resp, duration_sec
3435
self.host = host
3536
self.region = region
3637
self.scheme = scheme
37-
38+
if policy is not None:
39+
self.policy = json.loads(policy)
3840
self.expired_time = None
3941
if expired_buffer_seconds > 600:
4042
raise ValueError('expired_buffer_seconds must be less than or equal to 600')
@@ -68,7 +70,8 @@ def _assume_role_saml(self):
6870
'SAMLProviderTrn': 'trn:iam::' + self.account_id + ':saml-provider/' + self.provider_name,
6971
'SAMLResp': self.saml_resp,
7072
}
71-
73+
if self.policy is not None:
74+
params['Policy'] = self.policy
7275
configuration = type.__call__(Configuration)
7376

7477
# configuration.ak = self.ak

0 commit comments

Comments
 (0)