통합 관리
개요 및 사용
PTC Admin Center 통합 페이지에는 고객 관리자와 운영자에게 클라이언트 구성 정보가 표시되며 이 정보를 사용하여 타사 응용 프로그램과 Windchill+과 같은 PTC 제품 간에 신뢰 관계를 작성할 수 있습니다.
클라이언트 통합은 사용자를 대신하여 한 시스템에서 다른 시스템으로 위임된 인증을 제공하는 데 사용됩니다. 이러한 통합을 통해 사용자는 웹 응용 프로그램 또는 네이티브 코드 응용 프로그램과 같은 타사 응용 프로그램에서 PTC 시스템에 액세스할 수 있습니다. 이러한 시스템은 PTC 제품의 데이터를 모니터링하거나 사용하는 ERP 시스템인 경우가 많습니다.
통합 클라이언트는 PTC ID 서비스에 등록되어 사용자를 대신해 인증 토큰을 읽어들입니다. 그런 다음 타사 응용 프로그램에서 이 토큰을 사용하여 타사 응용 프로그램에 필요한 PTC 리소스에 대한 액세스를 요청할 수 있습니다.
|
현재, 통합 페이지를 보고 이 기능을 사용하려면 조직에 Windchill+ 액세스 권한이 있어야 합니다. PTC는 Windchill+ 프로비저닝의 일부로 모든 Windchill+ 조직에 대한 클라이언트를 제공합니다.
|
PTC는 타사 시스템과의 통합을 제공하기 위해 기밀 응용 프로그램(자격 증명을 권한이 없는 사람에게 노출하지 않고 안전하게 보유할 수 있는 응용 프로그램)을 만들 수 있도록 지원합니다.
통합 페이지에서는 조직 관리자가 조직에 대한 클라이언트 통합을 관리할 수 있습니다. 이 페이지에서 다음을 수행할 수 있습니다.
• 클라이언트 통합 관리
• 모든 필수 클라이언트 자격 증명에 액세스
• 클라이언트 자격 증명을 제공하여 외부 타사 응용 프로그램과의 클라이언트 통합 설정
시작하기 전에
• 클라이언트 통합을 보거나 관리하려면 조직의 관리자여야 합니다.
클라이언트 통합 속성
클라이언트 통합을 설정하기 위해 다음 정보가 제공됩니다.
• 클라이언트 ID - PTC 인증을 구성하는 데 사용되는 응용 프로그램의 고유 식별자입니다. 응용 프로그램에서 OAuth 2.0 액세스 토큰을 요청하는 동안 이 클라이언트 ID를 사용합니다.
• 비밀 키 - 인증을 위해 ID 토큰에 서명하고 유효성을 검사하며 특정 PTC 엔드포인트에 대한 액세스를 제공하는 문자열입니다. 이 키는 기본적으로 존재하며 키를 보려면 교체해야 합니다.
• 콜백 URL - PTC 제품에 대한 사용자 인증에 사용할 수 있는 리디렉션 URL입니다.
• 인증 URL - 클라이언트 응용 프로그램이 보호된 리소스에 액세스할 수 있는 권한을 부여하는 데 사용되는 엔드포인트입니다. 클라이언트 응용 프로그램을 PTC 리소스에 연결하는 데 필요합니다.
• 액세스 토큰 URL - 클라이언트가 액세스 토큰에 대한 인증 코드를 교환하여 사용자의 보호된 리소스에 액세스할 수 있도록 해주는 엔드포인트입니다.
• Audience - 이 액세스 토큰이 의도하는 대상 그룹(리소스 URI 또는 서버)을 식별합니다. 이는 소비하는 측이 특정 JWT(JSON Web Token)가 자신을 위한 것인지 여부를 확인하는 방법입니다.
현재 허용되는 audience는 https://windchill-plus입니다.
• Scope - 이 액세스 토큰에 부여된 범위의 배열입니다.
현재 허용되는 scope는 WINDCHILL_READ입니다.
클라이언트 통합 관리
조직 관리자는 Windchill+와 같은 PTC 제품과의 타사 통합을 구성하는 데 사용할 수 있는 여러 외부 통합을 작성할 수 있습니다. 통합 페이지에는 이러한 응용 프로그램이 표시되며 각 응용 프로그램에는 해당 세부 정보 페이지가 있습니다.
클라이언트 통합 관리하기:
1. 왼쪽 탐색 창에서 통합을 클릭합니다.
2. 통합 페이지에서 응용 프로그램 이름을 클릭하거나 관리를 클릭합니다.
|
이름의 기본값은 Auth0 응용 프로그램이 작성될 때 설정된 값에서 가져옵니다.
|
선택한 응용 프로그램의 통합 페이지가 동일한 브라우저 탭에 열립니다. 이 페이지에서 수행된 모든 작업은 선택한 OAuth 2.0 클라이언트 및 해당 데이터에만 영향을 미칩니다.
통합 만들기
통합을 설정하려면 다음 단계를 수행하십시오.
1. PTC Admin Center에 로그인합니다.
2. 왼쪽 탐색 창에서 통합을 클릭하여 통합 페이지를 엽니다.
3. PTC Admin Center 통합 페이지에서 다음 매개 변수에 대한 값을 클립보드에 복사한 다음 타사 응용 프로그램 페이지의 해당 섹션에 붙여 넣습니다.
◦ 클라이언트 ID
◦ 비밀 키
a. 비밀 키를 보려면 키를 교체해야 합니다. PTC Admin Center 통합 페이지의 "비밀 키" 섹션에서 키 교체를 선택합니다.
|
비밀 키를 교체하면 새 키가 생성되고 현재 키가 무효화되어 연결된 모든 통합의 연결이 해제됩니다. 이 작업은 취소할 수 없습니다.
|
b. 새 키 생성됨 대화 상자에서 비밀 키를 복사하고 닫기를 클릭합니다.
|
• 이 대화 상자를 닫으면 이 비밀 키를 더 이상 볼 수 없습니다.
• 비밀 키는 기밀 사항으로 사용자(관리자/운영자 역할)가 키를 사용하려고 할 때마다 항상 키를 교체하고 새 키를 생성해야 합니다. 이 절차는 악의적인 의도를 가지고 비밀 키를 오용하려는 시도로부터 보호하기 위한 조치입니다.
• 사용자는 소프트웨어 개발 수명 주기 사례에 따라 비밀 키를 교체해야 합니다. 보안 응용 프로그램 통합을 유지하는 일은 모두의 책임입니다. 비밀 키가 교체될 때마다 연관된 모든 응용 프로그램을 현재 비밀 키로 업데이트해야 합니다.
|
◦ 응용 프로그램 URL
응용 프로그램 URL 섹션에서
을 클릭하여 타사 응용 프로그램에 대한
콜백 URL을 입력하고
저장을 클릭합니다.
◦ 인증 URL
◦ 액세스 토큰 URL
이 정보를 사용하여 타사 애플리케이션을 통합하는 방법에 대한 자세한 단계는
응용 프로그램을 사용하여 액세스 토큰 생성을 참조하십시오.
응용 프로그램을 사용하여 액세스 토큰 생성
이 섹션에서는 액세스 토큰 생성 프로세스에 대해 설명합니다.
1. 인증 코드를 사용하여 위임된 인증 흐름은 인증 서버의 인증 엔드포인트에 대한 GET REST API 호출로 시작합니다. 예: GET https://<AUTHORIZATION_SERVER>/authorize?audience=<AUDIENCE>&response_type=code&client_id=<Client ID>&scope=<SCOPE>&redirect_uri=Callback URL>&state=<STATE> 여기서,
◦ audience - 액세스 토큰이 의도된 대상입니다. 필수 매개 변수이며 https://windchill-plus로 설정되어야 합니다.
◦ response_type - 인증 서버가 인증 코드를 반환했음을 나타냅니다. 필수 매개 변수이며 code로 설정되어야 합니다.
◦ client_id - PTC Admin Center에서 받은 클라이언트 ID입니다.
◦ scope - 액세스하려는 응용 프로그램의 부분을 나타내는 하나 이상의 범위 값입니다. 필수 매개 변수이며 WINDCHILL_READ로 설정되어야 합니다.
◦ redirect_uri - 응용 프로그램 콜백 URL입니다.
◦ state - 응용 프로그램에 의해 생성된 무작위 문자열로 나중에 확인할 수 있습니다.
예: GET https://ptc-atlas-dev.us.auth0.com/authorize?audience=https://windchill-plus&response_type=code&client_id=rOTYOu4jQrKynCOZqvS9Pah6rVTxlGZi&scope=WINDCHILL_READ&redirect_uri=https://oauth.pstmn.io/v1/browser-callback&state=4000194150204c968a165f6fab08afa8 PTC 로그인 페이지가 표시됩니다.
2. 로그인할 자격 증명을 입력합니다.
3. 인증에 성공하면 인증 서버가 인증 code 및 state를 질의 매개 변수로 사용하여 콜백 URL로 리디렉션할 때 흐름이 계속됩니다. <Callback URL>?code=<AUTH_CODE>&state=<STATE>
| 응용 프로그램에서는 먼저 이 상태 값을 비교하여 사용자가 시작한 값과 일치하는지 확인해야 합니다. 상태 값을 쿠키 또는 세션에 저장하고 사용자가 돌아올 때 비교할 수 있습니다. 이렇게 하면 리디렉션 엔드포인트가 임의의 승인 코드를 교환하려는 시도로부터 안전하게 유지됩니다. |
예: https://oauth.pstmn.io/v1/browser-callback?code=wWR_mPfnggMSC694bf10bekymLYP6opBXNxmR3QYjIAPn&state=4000194150204c968a165f6fab08afa8
4. 그런 다음 응용 프로그램은 토큰 엔드포인트에 POST 요청을 수행하여 액세스 토큰을 가져오기 위해 인증 코드를 교환합니다. POST https://<AUTHORIZATION_SERVER>/oauth/token.
요청 페이로드:
grant_type: "authorization_code"
code: <AUTH_CODE>
redirect_uri: "<Callback URL>"
client_id: "<Client ID>"
client_secret: "<CLIENT_SECRET>"
여기서,
◦ grant_type=authorization_code - 이 흐름에 대한 권한 부여 유형은 인증 코드 부여입니다.
◦ code=AUTH_CODE_HERE - 질의 문자열에서 받은 코드입니다.
◦ redirect_uri=REDIRECT_URI - 원본 링크에 제공된 리디렉션 URI와 동일해야 합니다.
◦ client_id=CLIENT_ID - PTC Admin Center에서 받은 동일한 클라이언트 ID입니다.
◦ client_secret=CLIENT_SECRET - 이 요청은 서버측 코드에서 수행되므로 비밀이 포함됩니다.
응답 본문: {"access_token":"<Access Token>","scope":"WINDCHILL_READ","expires_in":3600,"token_type":"Bearer"}
5. 액세스 토큰을 사용하여 인증 헤더의 일부로 전송함으로써 PTC 시스템에 대한 API 호출을 수행합니다. /Windchill/oauth/servlet/odata/ProdMgmt/Parts?$filter=startswith(Name,'Axle')&ptc.search.latestversion=true
요청 헤더: <Authorization: Bearer Access Token>