Ejemplo n.º 1
0
Archivo: v1.py Proyecto: ab/confidant
def get_credential(id):
    try:
        cred = Credential.get(id)
    except Credential.DoesNotExist:
        return jsonify({}), 404
    if (cred.data_type != 'credential' and
            cred.data_type != 'archive-credential'):
        return jsonify({}), 404
    services = []
    for service in Service.data_type_date_index.query('service'):
        services.append(service.id)
    if cred.data_type == 'credential':
        context = id
    else:
        context = id.split('-')[0]
    data_key = keymanager.decrypt_datakey(
        cred.data_key,
        encryption_context={'id': context}
    )
    cipher_version = cred.cipher_version
    cipher = CipherManager(data_key, cipher_version)
    _credential_pairs = cipher.decrypt(cred.credential_pairs)
    _credential_pairs = json.loads(_credential_pairs)
    return jsonify({
        'id': id,
        'name': cred.name,
        'credential_pairs': _credential_pairs,
        'metadata': cred.metadata,
        'services': services,
        'revision': cred.revision,
        'enabled': cred.enabled,
        'modified_date': cred.modified_date,
        'modified_by': cred.modified_by
    })
Ejemplo n.º 2
0
def get_credential(id):
    try:
        cred = Credential.get(id)
    except DoesNotExist:
        logging.warning('Item with id {0} does not exist.'.format(id))
        return jsonify({}), 404
    if (cred.data_type != 'credential'
            and cred.data_type != 'archive-credential'):
        return jsonify({}), 404
    services = []
    for service in Service.data_type_date_index.query('service'):
        services.append(service.id)
    if cred.data_type == 'credential':
        context = id
    else:
        context = id.split('-')[0]
    data_key = keymanager.decrypt_datakey(cred.data_key,
                                          encryption_context={'id': context})
    cipher_version = cred.cipher_version
    cipher = CipherManager(data_key, cipher_version)
    _credential_pairs = cipher.decrypt(cred.credential_pairs)
    _credential_pairs = json.loads(_credential_pairs)
    return jsonify({
        'id': id,
        'name': cred.name,
        'credential_pairs': _credential_pairs,
        'metadata': cred.metadata,
        'services': services,
        'revision': cred.revision,
        'enabled': cred.enabled,
        'modified_date': cred.modified_date,
        'modified_by': cred.modified_by,
        'documentation': cred.documentation
    })
Ejemplo n.º 3
0
Archivo: v1.py Proyecto: ab/confidant
def get_service_list():
    services = []
    for service in Service.data_type_date_index.query('service'):
        services.append({
            'id': service.id,
            'account': service.account,
            'enabled': service.enabled,
            'revision': service.revision,
            'modified_date': service.modified_date,
            'modified_by': service.modified_by
        })
    return jsonify({'services': services})
Ejemplo n.º 4
0
def get_service_list():
    services = []
    for service in Service.data_type_date_index.query('service'):
        services.append({
            'id': service.id,
            'account': service.account,
            'enabled': service.enabled,
            'revision': service.revision,
            'modified_date': service.modified_date,
            'modified_by': service.modified_by
        })
    return jsonify({'services': services})
Ejemplo n.º 5
0
Archivo: v1.py Proyecto: ab/confidant
def get_archive_service_list():
    services = []
    for service in Service.data_type_date_index.query(
            'archive-service', scan_index_forward=False):
        services.append({
            'id': service.id,
            'account': service.account,
            'revision': service.revision,
            'enabled': service.enabled,
            'credentials': list(service.credentials),
            'modified_date': service.modified_date,
            'modified_by': service.modified_by
        })
    return jsonify({'services': services})
Ejemplo n.º 6
0
def get_archive_service_list():
    services = []
    for service in Service.data_type_date_index.query(
            'archive-service', scan_index_forward=False):
        services.append({
            'id': service.id,
            'account': service.account,
            'revision': service.revision,
            'enabled': service.enabled,
            'credentials': list(service.credentials),
            'modified_date': service.modified_date,
            'modified_by': service.modified_by
        })
    return jsonify({'services': services})
Ejemplo n.º 7
0
 def run(self):
     grants = keymanager.get_grants()
     try:
         roles = [x for x in iam_resource.roles.all()]
     except ClientError:
         app.logger.error('Failed to fetch IAM roles.')
         return
     services = []
     for service in Service.data_type_date_index.query('service'):
         services.append(service.id)
     for role in roles:
         if role.name in services:
             app.logger.info('Managing grants for {0}.'.format(role.name))
             keymanager._ensure_grants(role, grants)
     app.logger.info('Finished managing grants.')
Ejemplo n.º 8
0
def get_service_list():
    #services라는 리스트 생성
    services = []
    #Service.data_type_date_index.query('service')양 만큼의 반복문이 실행되며 리스트에 id,account,enabled,revision,modified_date,modified_by를 추가한다
    for service in Service.data_type_date_index.query('service'):
        services.append({
            'id': service.id,
            'account': service.account,
            'enabled': service.enabled,
            'revision': service.revision,
            'modified_date': service.modified_date,
            'modified_by': service.modified_by
        })
    #리스트릴 jsonify시켜 리턴해준다.
    return jsonify({'services': services})
Ejemplo n.º 9
0
Archivo: v1.py Proyecto: ab/confidant
def _get_services_for_blind_credential(_id):
    services = []
    for service in Service.data_type_date_index.query('service'):
        if _id in service.blind_credentials:
            services.append(service)
    return services
Ejemplo n.º 10
0
def _get_services_for_blind_credential(_id):
    services = []
    for service in Service.data_type_date_index.query('service'):
        if _id in service.blind_credentials:
            services.append(service)
    return services