|
@@ -11,87 +11,86 @@
|
|
|
@file: s3sts.py
|
|
|
@Contact: chanjunkai@163.com
|
|
|
"""
|
|
|
-
|
|
|
-def getCredentials():
|
|
|
+def test_get_credential():
|
|
|
import boto3
|
|
|
REGION_NAME = 'us-east-1' # e.g
|
|
|
import json
|
|
|
-
|
|
|
- sts = boto3.client(
|
|
|
+ boto3_sts = boto3.client(
|
|
|
'sts',
|
|
|
aws_access_key_id='AKIA2E67UIMD45Y3HL53',
|
|
|
aws_secret_access_key='ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw',
|
|
|
region_name=REGION_NAME
|
|
|
)
|
|
|
-
|
|
|
- Policy = {"Version": "2012-10-17",
|
|
|
- "Statement": [{"Effect": "Allow", "Action": "kinesisvideo:*", "Resource": ["arn:aws:kinesisvideo:us-east-1:697864307463:stream/wpy_stream/1573460250304"]}]}
|
|
|
- credentials = sts.get_federation_token(
|
|
|
- Name='chanjunkai@163.com', # or any unique text related to user
|
|
|
+ Policy = {"Version": "2012-10-17", "Statement": [
|
|
|
+ {"Effect": "Allow", "Action": "s3:*", "Resource": ["arn:aws:s3:::azvod1/*"]}]}
|
|
|
+ response = boto3_sts.get_federation_token(
|
|
|
+ Name='chanjunkai@166.com',
|
|
|
Policy=json.dumps(Policy),
|
|
|
- DurationSeconds=3600,
|
|
|
- )
|
|
|
-
|
|
|
- print(credentials)
|
|
|
- access_key_id = credentials['Credentials']['AccessKeyId']
|
|
|
- session_token = credentials['Credentials']['SessionToken']
|
|
|
- secret_access_key = credentials['Credentials']['SecretAccessKey']
|
|
|
|
|
|
-getCredentials()
|
|
|
+ DurationSeconds=7200
|
|
|
+ )
|
|
|
+ print(response)
|
|
|
|
|
|
-exit()
|
|
|
+# test_get_credential()
|
|
|
# exit()
|
|
|
-def getCredentialsTemplate():
|
|
|
+
|
|
|
+def getCredentials():
|
|
|
import boto3
|
|
|
REGION_NAME = 'us-east-1' # e.g
|
|
|
+ import json
|
|
|
|
|
|
sts = boto3.client(
|
|
|
'sts',
|
|
|
- aws_access_key_id='AKIAIXAA4C3QCK7ZNUOA',
|
|
|
- aws_secret_access_key='7h1cV8wSkJpvMELjS/3Zutp1t3/LAxJYY60oZ5gH',
|
|
|
+ aws_access_key_id='AKIA2E67UIMD45Y3HL53',
|
|
|
+ aws_secret_access_key='ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw',
|
|
|
region_name=REGION_NAME
|
|
|
)
|
|
|
|
|
|
- Policy = {"Version": "2012-10-17", "Statement": [
|
|
|
- {"Effect": "Allow", "Action": "s3:*", "Resource": ["arn:aws:s3:::<your-bucket>/<key-folder>/*"]}]}
|
|
|
+ Policy = {"Version": "2012-10-17",
|
|
|
+ "Statement": [{"Effect": "Allow", "Action": "kinesisvideo:*", "Resource": [
|
|
|
+ "arn:aws:kinesisvideo:us-east-1:697864307463:stream/wpy_stream/1573460250304"]}]}
|
|
|
credentials = sts.get_federation_token(
|
|
|
- Name='12132@qq.com', # or any unique text related to user
|
|
|
- Policy={},
|
|
|
+ Name='chanjunkai@163.com', # or any unique text related to user
|
|
|
+ Policy=json.dumps(Policy),
|
|
|
DurationSeconds=3600,
|
|
|
- # minimum is 200 which is enough as token is just for start of request and necessarily need not live throughout the life of the whole upload.
|
|
|
)
|
|
|
+
|
|
|
+ print(credentials)
|
|
|
access_key_id = credentials['Credentials']['AccessKeyId']
|
|
|
session_token = credentials['Credentials']['SessionToken']
|
|
|
secret_access_key = credentials['Credentials']['SecretAccessKey']
|
|
|
- print(credentials)
|
|
|
+ res = {
|
|
|
+ 'access_key_id': access_key_id,
|
|
|
+ 'session_token': session_token,
|
|
|
+ 'secret_access_key': secret_access_key,
|
|
|
+ }
|
|
|
+ print(res)
|
|
|
+
|
|
|
+# getCredentials()
|
|
|
+
|
|
|
|
|
|
def test():
|
|
|
print('test')
|
|
|
import boto3
|
|
|
REGION_NAME = 'us-east-1' # e.g
|
|
|
import json
|
|
|
- # crd = {'Credentials': {'AccessKeyId': 'ASIA2E67UIMDZEZW7F56', 'SecretAccessKey': '2XE3bxqUlt7RTwojtsOxAQdp25dXlPSOGJr4PJ9l', 'SessionToken': 'FQoGZXIvYXdzEHIaDNE8Ddu2SeUjFQB3ICL7AVZuoryvjuDgFFkNuB81R2tO+jo5xbH3mecUN9SygDRWccfGqUkZZli8h9oF9nxht3LzawpTzR8Xsk3Zcq7hXZ4n69nNjCzO5iRAqNU5OSA5QdS70xcJyGBvMz5QX+QL6T8nTUf0qImvgTgzHl1U7dhPDkpR2TTpuFkoCxPjPDDmljA45TzOzDPkZ9P48njKF0ijJsWKUIJSOOXpixn7QZHE0+WzCrl4OQdr4gyYBDufYQl4Hc/jhG1W40FE9KARRClOFQk01gc8RZR07K26+bDUfLdhT4uBpwZ64xR64VQX0OKVu0e9hjPFEePDheSIwdzS7htJomuF5Vq7KIGuk98F', 'Expiration': datetime.datetime(2018, 11, 9, 1, 38, 25, tzinfo=tzutc())}, 'FederatedUser': {'FederatedUserId': '697864307463:chanjunkai@163.com', 'Arn': 'arn:aws:sts::697864307463:federated-user/chanjunkai@163.com'}, 'PackedPolicySize': 11, 'ResponseMetadata': {'RequestId': 'c4e67d2b-e3b7-11e8-b1b0-bfa03e244fac', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'c4e67d2b-e3b7-11e8-b1b0-bfa03e244fac', 'content-type': 'text/xml', 'content-length': '1151', 'date': 'Fri, 09 Nov 2018 00:38:24 GMT'}, 'RetryAttempts': 0}}
|
|
|
- crd = {'AccessKeyId': 'ASIA2E67UIMD2KA76ZX3', 'SecretAccessKey': 'HbbZPLKcdr1vh81fUH5M8bGzhobPJ9/7SjOBqLNB', 'SessionToken': 'FQoGZXIvYXdzEOz//////////wEaDOT/uGl4KlSpHcQk1SL7AZW+0TxQFvhBp+UtPACl1L7WXftaHv7R5AozWYO/MmDHU1IDSQw0JNbK6v5xhOtxgdE2aSmN0UGq9g5SyI5+EX8xDrwuSg6b8fgUJ6Z9N62xO1e5qnY5wYI1R6xbmRHqCfIN+uBg/PzeKKcSLiLfK49nPbxTsgXn3drW+pQ4kjvyTDQlNVqwCk61eNTrt+WIqKz7e71BUV5I0vlERivyknWve5uoBrBGesYRSxAYT5/9MqvvGMc8k8lfDStlJOwANPqcXFyQFg8heU3pnenjJZOQ+vMHzEHxL7yZseq6SoadjkWT6xm4VyDLGPGr4IdUaoP1V9FFDdGbVHwzKM6crt8F'}
|
|
|
-
|
|
|
+ crd = {'Credentials': {'AccessKeyId': 'ASIA2E67UIMDZ3G2JTGG', 'SecretAccessKey': 'hZLPMgOiOUR08uZhEorG7Hf2KURo+U62n8pz4h9J', 'SessionToken': 'FwoGZXIvYXdzEEsaDFDNHGJymzOcRe21LiLFARGel4C5k3cqtnon8+yrpzZW5+tTsUONkQlBVeM6XjIgn9LUmlwroGktRBAOLuNb++licd8bUugeCU9+XMoWivJi7c3B3G5LVbofxPqs6MPfXdx4XXVa7PtMZPCyqjIhoIWcbrNuY21j3j3Mj1oggdLxPF1qPiAL1auVW8cTvygaRr6X5wgGGl0dOvBLOfGJzyCIOyLQ4BjwNCFaT4awgfrfK7rYnKvBGUWcM5UEkJ6O6dIkCHb+eHCV9RwqosXBcSE4KNk6KLKtpvMFMin3p5wPsYYvAAJVwDmFUoPyRuKom8HL8mlya7/aCnAbIM5u5lPO7TionA==', 'Expiration': 3600}, 'FederatedUser': {'FederatedUserId': '697864307463:chanjunkai@166.com', 'Arn': 'arn:aws:sts::697864307463:federated-user/chanjunkai@166.com'}, 'PackedPolicySize': 8, 'ResponseMetadata': {'RequestId': '65904087-9678-4c25-9042-fbb1b165a928', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '65904087-9678-4c25-9042-fbb1b165a928', 'content-type': 'text/xml', 'content-length': '1138', 'date': 'Thu, 12 Mar 2020 01:56:02 GMT'}, 'RetryAttempts': 0}}
|
|
|
|
|
|
|
|
|
# s3_resource = boto3.resource(
|
|
|
s3_resource = boto3.client(
|
|
|
's3',
|
|
|
- aws_access_key_id=crd['AccessKeyId'],
|
|
|
- aws_secret_access_key=crd['SecretAccessKey'],
|
|
|
- aws_session_token=crd['SessionToken'],
|
|
|
+ aws_access_key_id=crd['Credentials']['AccessKeyId'],
|
|
|
+ aws_secret_access_key=crd['Credentials']['SecretAccessKey'],
|
|
|
+ aws_session_token=crd['Credentials']['SessionToken'],
|
|
|
)
|
|
|
response = s3_resource.put_object(
|
|
|
Body='xxxxx',
|
|
|
- Key='test',
|
|
|
- Bucket='ansjerfilemanager',
|
|
|
+ Key='test1111111111111.log',
|
|
|
+ Bucket='azvod1',
|
|
|
# Expires=datetime()
|
|
|
)
|
|
|
- # response = s3_resource.get_object(
|
|
|
- # Bucket='ansjerfilemanager',
|
|
|
- # Key='face.jpg',
|
|
|
- # )
|
|
|
print(response)
|
|
|
|
|
|
-test()
|
|
|
+
|
|
|
+test()
|