def create_role(iam_client,path,rolename,policy_document,description,sessionduration,permissionboundary,tag_list=None):
role_err=None
+ role_response = None
if rolename is None:
rolename=get_parameter_name()
if tag_list is None:
def put_role_policy(iam_client,rolename,policyname,role_policy):
role_err=None
+ role_response = None
if policyname is None:
policyname=get_parameter_name()
try:
def put_user_policy(iam_client,username,policyname,policy_document):
role_err=None
+ role_response = None
if policyname is None:
policyname=get_parameter_name()
try:
policy_document = "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/"+sts_user_id+"\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
(role_error,role_response,general_role_name)=create_role(iam_client,'/',None,policy_document,None,None,None)
- assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ if role_response:
+ assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ else:
+ assert False, role_error
role_policy = "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"arn:aws:s3:::*\"}}"
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200
policy_document = "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/"+sts_user_id+"\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
(role_error,role_response,general_role_name)=create_role(iam_client,'/',None,policy_document,None,None,None)
- assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ if role_response:
+ assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ else:
+ assert False, role_error
role_policy = "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Deny\",\"Action\":\"s3:*\",\"Resource\":\"arn:aws:s3:::*\"}}"
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200
policy_document = "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/"+sts_user_id+"\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
(role_error,role_response,general_role_name)=create_role(iam_client,'/',None,policy_document,None,None,None)
- assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ if role_response:
+ assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name+''
+ else:
+ assert False, role_error
role_policy = "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"arn:aws:s3:::*\"}}"
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name,DurationSeconds=900)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200
policy_document = '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/'+sts_user_id+'"]},"Action":["sts:AssumeRole"]}]}'
(role_error,role_response,general_role_name)=create_role(iam_client,'/',None,policy_document,None,None,None)
- assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name
+ if role_response:
+ assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name
+ else:
+ assert False, role_error
# allow GetObject but deny ListBucket
role_policy = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"s3:GetObject","Principal":"*","Resource":"arn:aws:s3:::*"}}'
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200
policy_document = '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/'+sts_user_id+'"]},"Action":["sts:AssumeRole"]}]}'
(role_error,role_response,general_role_name)=create_role(iam_client,'/',None,policy_document,None,None,None)
- assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name
+ if role_response:
+ assert role_response['Role']['Arn'] == 'arn:aws:iam:::role/'+general_role_name
+ else:
+ assert False, role_error
# allow GetObject and ListBucket
role_policy = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":["s3:GetObject","s3:ListBucket"],"Principal":"*","Resource":"arn:aws:s3:::*"}}'
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200
role_policy = "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"arn:aws:s3:::*\"}}"
(role_err,response)=put_role_policy(iam_client,general_role_name,None,role_policy)
- assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ if response:
+ assert response['ResponseMetadata']['HTTPStatusCode'] == 200
+ else:
+ assert False, role_err
resp=sts_client.assume_role_with_web_identity(RoleArn=role_response['Role']['Arn'],RoleSessionName=role_session_name,WebIdentityToken=token)
assert resp['ResponseMetadata']['HTTPStatusCode'] == 200