Composer의 ThingWorx 모델 정의 > 보안 > 응용 프로그램 키
응용 프로그램 키
응용 프로그램 키는 ThingWorx 데이터베이스에 암호화된 보안 토큰으로, 표준 자격 증명을 사용하는 대신 ThingWorx 응용 프로그램에 로그인하는 데 사용할 수 있습니다.
요청 URL의 머리글에 응용 프로그램 키 토큰을 전달할 수 있습니다. 요청은 응용 프로그램 키와 연관된 사용자의 보안 컨텍스트를 사용하여 실행됩니다. 기본적으로 요청이 응용 프로그램 키를 사용하여 작성되면 세션은 생성되지 않습니다. 이 방식은 다른 시스템 및 응용 프로그램이 ThingWorx 응용 프로그램에 대한 요청을 작성할 때 권장됩니다. 그러나 세션을 생성하고 싶은 경우 응용 프로그램 키 토큰 전달하면서 x-thingworx-session=true 질의 매개 변수를 사용할 수 있습니다.
URL을 통해 그리고 응용 프로그램 키를 사용하여 매쉬업을 볼 때는 x-thingworx-session=true를 추가하여 세션을 생성합니다. 세션이 없는 경우 후속 요청 시 표준 HTTP 기본 인증자를 사용하여 인증해야 합니다. x-thingworx-session=true 질의 매개 변수 뒤에 #mashup=[your mashup name]을 포함합니다.
* 
권한을 만들어 응용 프로그램 키에 지정할 때 항상 최소 권한의 보안 개념을 사용해야 합니다. 관리자 그룹에 속한 구성원을 응용 프로그램 키에 할당하는 것은 권장하지 않습니다. 관리자 권한이 있는 사용자를 기반으로 응용 프로그램 키를 만들려고 시도하면 경고가 표시됩니다.
응용 프로그램 키 속성
속성 이름
설명
이름
이 키를 식별하는 단어 또는 구입니다. 필수 필드입니다.
아바타
응용 프로그램 키를 시각적으로 나타내기 위해 업로드할 수 있는 이미지입니다.
설명
응용 프로그램 키에 대한 설명입니다.
프로젝트
이 키와 연관된 작업 또는 그룹입니다.
태그
응용 프로그램 키를 그룹화하거나 분류하는 데 사용할 수 있는 모델 태그입니다.
IP 화이트리스트
응용 프로그램 키를 사용하여 ThingWorx에 액세스하도록 허용된 IP 목록입니다. IP는 쉼표로 구분합니다. 비어 있으면 IP에서 응용 프로그램 키가 사용될 수 있습니다.
클라이언트 이름
응용 프로그램 키 또는 IP 주소와 연관된 클라이언트와 같이 모든 것을 나타낼 수 있는 사용자 정의 가능 필드입니다. ThingWorx는 이 필드에 지정된 값을 무시합니다.
사용자 이름 참조
응용 프로그램 키와 연관된 사용자 이름입니다. 필수 필드입니다.
키 ID
ThingWorx가 생성한 키 값입니다. 키 ID는 편집할 수 없습니다.
* 
키 ID가 데이터베이스에 암호화된 상태로 저장됩니다. 값 암호화에 사용되는 대칭 키는 /ThingworxStorage/keystore.jks에 저장되고 키스토어에 대한 암호는 /ThingworxPlatform/keystore-password에 저장됩니다. 이러한 파일이 없으면 생성됩니다. 대칭 키가 없으면 시스템 시작 전에 대칭 키 하나가 생성됩니다. ThingWorx 서버를 설치하고 유지 관리하는 경우에는 이 파일을 유지해야 합니다. 이러한 파일이 손실되면 응용 프로그램 키가 작동하지 않습니다. 즉, 시스템 시작 중에 값을 암호화할 수 없으며 기존 응용 프로그램 키를 더 이상 저장하거나 인증할 수 없습니다.
만료 날짜
응용 프로그램 키에 대한 만료 날짜입니다. 만료 날짜가 지정되지 않으면 사용자 관리 하위 시스템의 기본값이 사용됩니다. ThingWorx 8.1 이상의 경우, 만료 날짜가 지정되지 않았거나 사용자 관리 하위 시스템의 응용 프로그램 키 수명(초) 값이 변경되지 않은 경우 응용 프로그램 키는 생성되고 24시간 후에 만료됩니다.
마지막으로 수정한 날짜
응용 프로그램 키를 마지막으로 수정한 날짜 및 시간입니다.
홈 매쉬업
응용 프로그램 키와 연관된 기본 매쉬업입니다.
문서
환경 내에서 사용하는 방법 또는 이유를 설명하는 선택적 메모 또는 배경 정보입니다.
응용 프로그램 키 생성
아래 단계에 따라 응용 프로그램 키를 생성하십시오. 생성된 키는 사용자 이름 참조 필드의 연관된 사용자에게 부여된 보안 설정을 가정합니다.
1. ThingWorx Composer에서 새로 만들기를 클릭합니다.
2. 아래로 스크롤하고 응용 프로그램 키를 선택합니다.
3. 이름을 입력합니다.
4. 원하는 경우 이 키에 대한 설명, 프로젝트태그를 선택하거나 입력합니다.
5. 사용자 이름 참조 필드에서 응용 프로그램 키와 연관된 사용자를 선택합니다.
6. IP 화이트리스트, 클라이언트 이름, 홈 매쉬업, 아바타, 만료 날짜 또는 설명서를 포함한 원하는 필드를 채웁니다(선택 사항).
* 
만료 날짜가 설정되지 않으면 값은 응용 프로그램 키 엔티티의 생성 날짜에 사용자 관리 하위 시스템의 응용 프로그램 키 수명(초) 설정을 더하여 계산됩니다.
7. 저장을 클릭합니다.
8. 응용 프로그램 키가 키 ID 필드에 표시됩니다.
응용 프로그램 키 삭제
만료 날짜를 응용 프로그램 키에 지정할 수 있지만 만료 시 해당 키가 자동으로 삭제되지는 않습니다. 정기적으로 반복되는 ThingWorx 응용 프로그램 논리를 작성하고 만료된 응용 프로그램 키를 삭제할 수 있습니다. 응용 프로그램 키 서비스를 참조하십시오. 수동으로 응용 프로그램 키를 삭제하려면 다음을 수행하십시오.
1. Composer에서 모두를 찾아봅니다.
2. 보안 섹션으로 아래로 스크롤합니다.
3. 섹션을 확장하고(필요한 경우) 응용 프로그램 키를 찾습니다.
4. 이름의 왼쪽에 있는 확인란을 클릭하여 응용 프로그램 키를 선택합니다.
5. 삭제 버튼을 클릭합니다.
서비스를 통해 응용 프로그램 키 생성
서비스를 통해 응용 프로그램 키를 생성하려면 다음 예를 사용하십시오.
var params = {
clientName: undefined /* STRING */,
name: undefined /* STRING */,
description: undefined /* STRING */,
project: undefined /* STRING */,
whitelist: undefined /* STRING */,
user: undefined /* USERNAME */,
tags: undefined /* TAGS */,
expirationDate: undefined /* DATETIME */
};
// no return
Resources["EntityServices"].CreateApplicationKey(params);
//Get the generated Key's actual appKey value
var KeyID = ApplicationKeys["YOURKEYNAME"].GetKeyID();
* 
만료 날짜가 설정되지 않으면 값은 응용 프로그램 키 엔티티의 생성 날짜에 사용자 관리 하위 시스템의 응용 프로그램 키 수명(초) 설정을 더하여 계산됩니다.
초기 응용 프로그램 키 설정 및 첫 연결 모범 사례
장치는 항상 개발 샌드박스에서 온라인 상태로 가져오거나 가능할 때마다 개발 샌드박스에서 시뮬레이션해야 합니다. 장치의 생산 준비가 되면 응용 프로그램의 에지 네트워크에 있을 각 장치에 대해 새 응용 프로그램 키를 생성해야 합니다. 고유한 응용 프로그램 키가 생성되어 장치에 배포된 후 성공적으로 플랫폼에 연결되었는지 확인하기 위해 초기화 시 해당 장치를 모니터링해야 합니다.
응용 프로그램 키 만료 및 순환
모범 사례는 응용 프로그램 키에 응용 프로그램 키 자격 증명을 사용할 장치의 예상 수명 주기와 일치하는 유한 만료 날짜가 있는 경우입니다. 또한 여러 장치에 동일한 응용 프로그램 키를 사용하는 것은 권장되지 않습니다(특히 해당 수명 주기가 서로 다른 경우). 응용 프로그램 키가 만료되면 장치에 새 응용 프로그램 키를 설치해야 합니다.
핵심 응용 프로그램에 대한 응용 프로그램 키 만료
장치에 새 응용 프로그램 키를 배달하는 시스템이 없는 경우 응용 프로그램 키의 만료 키를 업데이트하여 서비스 수명을 연장할 수 있습니다. 이는 권장 모범 사례는 아닙니다. 하지만 비즈니스 중요 데이터가 손실될 수 있을 때 해결책으로 사용될 수 있습니다. 응용 프로그램 키의 수명 주기를 장치의 예상 수명 주기를 넘어서 연장하면 중요 응용 프로그램 인프라에 보안 위협이 발생할 수 있습니다.
관련 링크