def __getPolicyForTenantAdmin()

in server/layers/auth_manager.py [0:0]


def __getPolicyForTenantAdmin(tenant_id, sevice_identifier, region, aws_account_id):
    if (sevice_identifier == utils.Service_Identifier.SHARED_SERVICES.value):
        policy = {	
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "dynamodb:UpdateItem",
                        "dynamodb:GetItem",
                        "dynamodb:PutItem",
                        "dynamodb:Query"                   
                    ],
                    "Resource": [
                        "arn:aws:dynamodb:{0}:{1}:table/ServerlessSaaS-TenantUserMapping".format(region, aws_account_id),
                        "arn:aws:dynamodb:{0}:{1}:table/ServerlessSaaS-TenantDetails".format(region, aws_account_id)
                    ],
                    "Condition": {
                        "ForAllValues:StringEquals": {
                            "dynamodb:LeadingKeys": [
                                "{0}".format(tenant_id)
                            ]
                        }
                    }
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "dynamodb:UpdateItem",
                        "dynamodb:GetItem",
                        "dynamodb:PutItem",
                        "dynamodb:DeleteItem",
                        "dynamodb:Query"               
                    ],
                    "Resource": [
                        "arn:aws:dynamodb:{0}:{1}:table/ServerlessSaaS-TenantStackMapping".format(region, aws_account_id),
                        "arn:aws:dynamodb:{0}:{1}:table/ServerlessSaaS-Settings".format(region, aws_account_id)
                    ]
                }
            ]
        }
    else:
        policy = {	
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "dynamodb:UpdateItem",
                        "dynamodb:GetItem",
                        "dynamodb:PutItem",
                        "dynamodb:DeleteItem",
                        "dynamodb:Query"    
                    ],
                    "Resource": [
                        "arn:aws:dynamodb:{0}:{1}:table/Product-*".format(region, aws_account_id),                      
                    ],
                    "Condition": {
                        "ForAllValues:StringLike": {
                            "dynamodb:LeadingKeys": [
                                "{0}-*".format(tenant_id)
                            ]
                        }
                    }
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "dynamodb:UpdateItem",
                        "dynamodb:GetItem",
                        "dynamodb:PutItem",
                        "dynamodb:DeleteItem",
                        "dynamodb:Query"       
                    ],
                    "Resource": [
                        "arn:aws:dynamodb:{0}:{1}:table/Order-*".format(region, aws_account_id),                      
                    ],
                    "Condition": {
                        "ForAllValues:StringLike": {
                            "dynamodb:LeadingKeys": [
                                "{0}-*".format(tenant_id)
                            ]
                        }
                    }
                }
            ]
        }
    return json.dumps(policy)