ServiceNow에서 인증 및 연결 정보 관리(URL/ID/Password)
4897 단어 ServiceNow
개요
ServiceNow의 Business Rule에서 API 등을 취급할 때의 접속 정보(URL/ID/Pass)를 관리한다.
Connection & Credential
Connection & Credential(인증 정보 및 연결 정보)을 사용합니다.
자격 증명 및 연결 정보 | ServiceNow
다음은 APi의 URL/ID/Pass를 관리하는 경우의 테이블 구조를 나타낸 예이다. 테이블과 배치되는 정보의 차이에주의하십시오.
암호에 관해서는 자격 증명 [discovery_credentials] 테이블에 값이 저장되지만 저장된 단계에서 자동으로 암호화됩니다.
암호화 및 복호화
플랫폼에서는 자격 증명 [discovery_credentials] 테이블의 암호화 필드에 자격 증명을 저장합니다. 자격 증명을 입력하면 자격 증명을 볼 수 없습니다.
자격 증명 시작
해보자
간단한 외부 API에 대한 문의 코드를 Connection & Credential 기능을 사용하여 작성해 보자.
이번에는 OpenWeatherMap API( htps : // 칭찬. 오우우 아테아 r마 p. rg/ )를 이용했다.
Alias 만들기
우선, 접속 정보를 정리하는 별명을 작성한다. Connection & Credential > Connection & Credential Aliases에서 New로 새 레코드를 만들고 저장합니다.
Connection & Credential(인증 정보 및 연결 정보)을 사용합니다.
자격 증명 및 연결 정보 | ServiceNow
다음은 APi의 URL/ID/Pass를 관리하는 경우의 테이블 구조를 나타낸 예이다. 테이블과 배치되는 정보의 차이에주의하십시오.
암호에 관해서는 자격 증명 [discovery_credentials] 테이블에 값이 저장되지만 저장된 단계에서 자동으로 암호화됩니다.
암호화 및 복호화
플랫폼에서는 자격 증명 [discovery_credentials] 테이블의 암호화 필드에 자격 증명을 저장합니다. 자격 증명을 입력하면 자격 증명을 볼 수 없습니다.
자격 증명 시작
해보자
간단한 외부 API에 대한 문의 코드를 Connection & Credential 기능을 사용하여 작성해 보자.
이번에는 OpenWeatherMap API( htps : // 칭찬. 오우우 아테아 r마 p. rg/ )를 이용했다.
Alias 만들기
우선, 접속 정보를 정리하는 별명을 작성한다. Connection & Credential > Connection & Credential Aliases에서 New로 새 레코드를 만들고 저장합니다.
Credential 만들기
그런 다음 Credential을 만듭니다. Connection & Credential > Credentials에서 New로 새 레코드를 만듭니다. 이번에는 「API Key Credentials」를 선택한다.
Connections 만들기
마지막으로 Connections를 만듭니다. Connection & Credential > Connections에서 New로 새 레코드를 만듭니다. 이번은 Current weather data 을 이용한다고 등록한다. HTTP Connection을 선택하여 작성.
실제로 문의해 보기
ConnectionInfoProvider | ServiceNow Developers
스크립트에서 Connection & Credential의 정보를 이용할 때는 ConnectionInfoProvider를 이용한다. 여기에서는 Alias의 sys_id로 지정함으로써 URL/ID/Pass를 정리하여 가져올 수 있습니다.
덧붙여 sys_id는 리스트 뷰 등에서 「오른쪽 클릭→Copy sys_id」로 픽업한다.
아래의 코드를 「System Definition - Scripts - Background」로 실행한다.
// Get Connection Info
var provider = new sn_cc.ConnectionInfoProvider();
var connectionInfo = provider.getConnectionInfo("*****"); // ここにsys_idを指定
var BASE_URL = String(connectionInfo.getAttribute("connection_url"));
var API_KEY = String(connectionInfo.getCredentialAttribute("api_key"));
var endPointURL = BASE_URL + "?q=London&APPID=" + API_KEY;
// Rest Request
var rm = new sn_ws.RESTMessageV2();
rm.setLogLevel("all");
rm.setEndpoint(endPointURL);
rm.setHttpMethod("get");
rm.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var request = rm.execute();
// Output
var requestBody = JSON.parse(request.getBody());
gs.info(requestBody["name"] + ":" + requestBody["weather"][0]["main"]);
뭔가 해석 에러가 나오고 있지만, 무사 「London:Clouds」라고 표시되었다.
gs.getProperty('instance_name')
에서의 인스턴스명 취득과 조합하면(자), 인스턴스 마다 접속 정보를 전환할 수 있을 것 같다.참고
연결 정보 및 자격 증명 별칭 만들기
Reference
이 문제에 관하여(ServiceNow에서 인증 및 연결 정보 관리(URL/ID/Password)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aki0905/items/e4c8ae1626b639b0ab9e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ServiceNow에서 인증 및 연결 정보 관리(URL/ID/Password)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aki0905/items/e4c8ae1626b639b0ab9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)