2017-05-05 8 views
3

PEP-Proxy-Steelskin과 관련하여 Orion Context에 보안 계층을 제공 할 수 있도록 노력하고 있습니다. 그러나 진행 상황을 차단하는 몇 가지 문제가 있습니다.PEP Proxy 설정

IDM 및 키스톤 글로벌 인스턴스를 사용하고 싶습니다.

나는, 그러나, 결과는 항상 같은 성공적으로 다음 각각의 방향 (https://github.com/telefonicaid/fiware-pep-steelskin)에 의해 pepProxy를 설치하는 것입니다했습니다

{ 
"name": "KEYSTONE_AUTHENTICATION_ERROR", 
    "message": "There was a connection error while authenticating to Keystone: 500" 
} 

config.js 파일에 사용되는 내 구성이 아래에 제시되어

var config = {}; 

// Protected Resource configuration 
//-------------------------------------------------- 
// Configures the address of the component that is being proxied and the address of the proxy itself. 
config.resource = { 
    original: { 
     /** 
     * Host that is being proxied. 
     */ 
     host: 'account.lab.fiware.org', 

     /** 
     * Port where the proxied server is listening. 
     */ 
     port: 10026 
    }, 

    proxy: { 
     /** 
     * Port where the proxy is listening to redirect requests. 
     */ 
     port: 1026, 

     /** 
     * Administration port for the proxy. 
     */ 
     adminPort: 11211 
    } 
}; 

// Access Control configuration 
//-------------------------------------------------- 
/** 
* This options can be used to configure the address and options of the Access Control, responsible of the request 
* validation. 
*/ 
config.access = { 
    /** 
    * Indicates whether the access control validation should be enabled. Defaults to false. 
    */ 
    disable: false, 

    /** 
    * Protocol to use to access the Access Control. 
    */ 
    protocol: 'http', 
    /** 
    * Host where the Access Control is located. 
    */ 
    host: 'account.lab.fiware.org', 
    /** 
    * Port where the Access Control is listening. 
    */ 
    port: 7070, 
    /** 
    * Path of the authentication action. 
    */ 
    path: '/pdp/v3' 
} 

// User identity configuration 
//-------------------------------------------------- 
/** 
* Information about the Identity Manager server from where the information about a user will be drawn. 
*/ 
config.authentication = { 
    checkHeaders: false, 
    module: 'keystone', 
    user: 'pep_proxy_99c595...', 
    password: 'e3025a2...', 
    domainName: 'matest', 
    retries: 3, 
    cacheTTLs: { 
     users: 1000, 
     projectIds: 1000, 
     roles: 60, 
     validation: 120 
    }, 
    options: { 
     protocol: 'http', 
     host: 'cloud.lab.fiware.org', 
     port: 5000, 
     path: '/v3/role_assignments', 
     authPath: '/v3/auth/tokens' 
    } 
}; 


// Security configuration 
//-------------------------------------------------- 
config.ssl = { 
    /** 
    * This flag activates the HTTPS protocol in the server. The endpoint always listen to the indicated port 
    * independently of the chosen protocol. 
    */ 
    active: false, 

    /** 
    * Key file to use for codifying the HTTPS requests. Only mandatory when the flag active is true. 
    */ 
    keyFile: '', 

    /** 
    * SSL Certificate to present to the clients. Only mandatory when the flag active is true. 
    */ 
    certFile: '' 
} 

/** 
* Default log level. Can be one of: 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL' 
*/ 
config.logLevel = 'FATAL'; 

// List of component middlewares 
//------------------------------------------------- 
/** 
* To validate the request, the proxy needs some information that is dependant of the component: the action that a 
* request is going to execute. How to detect the action given the request is component-specific logic, that can be 
* codified in a middleware-like function that will be executed before the user validation. This logic must populate 
* the 'action' parameter of the request. 
*/ 
config.middlewares = { 
    /** 
    * Indicates the module from where the middlewares will be loaded. 
    */ 
    require: 'lib/plugins/orionPlugin', 

    /** 
    * Indicates the list of middlewares to load. 
    */ 
    functions: [ 
     'extractCBAction' 
    ] 
}; 

/** 
* If this flag is activated, whenever the pepProxy is not able to redirect a request, instead of returning a 501 error 
* (that is the default functionality) the PEP Proxy process will exit with a -2 code. 
*/ 
config.dieOnRedirectError = false; 

/** 
* Name of the component. It will be used in the generation of the FRN. 
*/ 
config.componentName = 'orion'; 

/** 
* Prefix to use in the FRN (Not to change, usually). 
*/ 
config.resourceNamePrefix = 'fiware:'; 

/** 
* Indicates whether this PEP should have an admin bypass or not. If it does, whenever a user request arrives to the 
* PEP from a user that has the role defined in the "adminRoleId" property, that request is not validated against the 
* Access Control, but it is automatically proxied instead. 
*/ 
config.bypass = false; 

/** 
* ID of the admin user if it exists. Only effective if the "bypass" property is true. 
*/ 
config.bypassRoleId = ''; 

/** 
* Configures the maximum number of clients that can be simultaneously queued while waiting for the PEP to 
* authenticate itself against Keystone (due to an expired token). 
*/ 
config.maxQueuedClients = 1000; 

module.exports = config; 
이러한 맥락에서

:

  1. 는 오른쪽으로가요 리소스 및 액세스 호스트로 account.lab.fiware.org을 사용하거나 다른 호스트를 사용해야합니까?
  2. 인증 호스트로 cloud.lab.fiware.org을 사용하는 것이 맞습니까?
  3. IDM 글로벌 인스턴스가 사용자와 비밀번호를 자동으로 생성합니다. 역할 및 권한은 동일한 글로벌 인스턴스를 통해 할당됩니다. 이 절차가 충당 되었습니까? 아니면 다른 절차를 따라야합니까?
  4. 나는 뭔가를 놓친가요?

누구든지 내 문제에 대한 힌트가 있습니까?

참고 : 이미 성공과 함께 다른 게시물을 시도했습니다. 부분적으로 이러한 솔루션의 대부분은 예를 들어, 자신의 키스톤을 설치 한 때문에 : PEP-Proxy-Steelskin Log configuration , PEP proxy config file for integration of IDM GE, PEP proxy and Cosmos big data , PEP-Proxy-Steelskin Log configuration을. 이 사람은 내가 작업했습니다 무엇보다 관련있는 하나이지만, 여전히, 나는하지 최신 믿고 : Fiware Orion - pepProxy

답변

0

이 당신이 희망 응답하지 않으면 내가 미안 @netzahdzc하지만, 나는 잠시 동안 Fiware 기술로 일하지 않기 때문에 모든 것을 기억하지는 않지만 도움을 구할 것입니다.

account.lab.fiware.org를 리소스 및 액세스 호스트로 사용하는 것이 맞습니까? 아니면 다른 호스트를 사용해야합니까?

난 당신과 같이 ...이 프로젝트가 Fiware 측에서 "이전"등 몇 가지 이미되었을 수도 변화, 당신은 GitHub에서 내 프로젝트의 구성 파일을 참조하시기 바랍니다 오른쪽 하나를 사용하여 생각

config.account_host = 'https://account.lab.fiware.org'; 
    config.keystone_host = 'cloud.lab.fiware.org'; 
    config.keystone_port = 4730; 

인증 호스트로, 그것은 바로 cloud.lab.fiware.org를 사용하는 것입니다 : - PepProxy에서 볼 수 config.js을 내가 사용하는 인스턴스는 동일했다? 내가 사용하는 구성에서

(위)는 account_host account.lab.fiware 것을 볼 수 있습니다.orgkeystone_host (인증 용)은 cloud.lab.fiware.org입니다. 그래서 나는 당신이 옳다고 생각합니다.

사용자와 비밀번호는 IDM 글로벌 인스턴스에 의해 자동으로 생성됩니다. 역할 및 권한은 동일한 글로벌 인스턴스를 통해 할당됩니다. 이 절차가 충당 되었습니까? 아니면 다른 절차를 따라야합니까?

필자는 당신이 옳다는 것을 알고 있지만 키스톤 글로벌 인스턴스가 역할과 권한을 처리해야하지만 작업 한 이후로 상황이 바뀌 었는지는 알 수 없습니다. 이.

죄송합니다. 더 도움이되지 않는 경우 일부 구성을 사용할 수 있는지 또는 적어도 도움이되는지 확인해보십시오. Daniel Morán Jiménez과 대화를 시도 할 수도 있습니다. 나는 그가 당신을 더 잘 도와 줄 수 있다고 믿습니다.

+0

은 통찰력과 AF-실바 @ 제안을 주셔서 대단히 감사합니다. 마침내 내가 기대했던대로 PEP 작업을 해 주셔서 고마워, 정말로 당신의 친절한 피드백에 감사드립니다. – netzahdzc

0

제안하신 내용에 성공하셨습니까?

IdM의 글로벌 인스턴스를 인증을위한 ID 공급자로 사용하려면 다음 스 니펫에 나와있는 것처럼 config.js 값을 채워야하지만 그게 맞는지 확실하지 않습니다 일하게.

물론
// User identity configuration 
//-------------------------------------------------- 
/** 
* Information about the Identity Manager server from where the information about a user will be drawn. 
*/ 
config.authentication = { 
    checkHeaders: true, 
    module: 'keystone', 
    user: 'pep_proxy_1234...', 
    password: 'my-autogenerated-password', 
    domainName: 'Default', 
    retries: 3, 
    cacheTTLs: { 
     users: 1000, 
     projectIds: 1000, 
     roles: 60, 
     validation: 120 
    }, 
    options: { 
     protocol: 'http', 
     host: 'cloud.lab.fiware.org', 
     port: 4730, 
     path: '/v3/role_assignments', 
     authPath: '/v3/auth/tokens' 
    } 
}; 

, 대체 필드 사용자 및 자동 IDM 글로벌 인스턴스에 의해 생성 된 값 와 비밀번호.

그러나 필자는 여전히 Fiware Cloud의 글로벌 인스턴스를 사용하려는 경우 PEP 프록시 GE (Wilma PEP Proxy)의 참조 구현을 사용해야한다고 생각합니다.

당신은 나의 관점에서 윌마와 약간의 차이가 있습니다 Telefonica implementation of this GE을 사용하고 그것이 IdM Keyrock의 참조 구현 및 Fiware Cloud의 글로벌 인스턴스를 사용하는 Authorization PDP Authzforce과 통합 될 수 있다면 나는 100 % 확신

.

IdM, PDP Authorization 및 PEP Proxy Generic Enabler (GE)의 고유 한 인스턴스를 사용하는 것이 완전히 다른 접근 방식 일 수 있습니다. 이 경우에도이 세 가지 구성 요소의 참조 구현을 사용할 수도 있고 Steelskin PEP 프록시를 사용할 수도 있습니다. Steelskin 경로를 따르는 경우 Keystone-spasswordKeypass을 사용하여 Telefonica의 IdM 및 Authorization PDP 구현을 권장합니다. Here이 GE를 설치하고 구성하는 단계별로 훌륭한 단계를 찾을 수 있습니다.

마지막으로 "참조"GE 경로를 따라 가려면 slides에 약간의 빛이 있습니다.

감사합니다,

에밀리

+0

안녕하세요 Emiliano, 늦게 답장을 드려 죄송합니다. 나는 그걸 움직이게 만들었다. 쓰고 조언 해 주셔서 대단히 감사합니다. – netzahdzc