보안 저장소 사용

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

보안 스토어 서비스 API 사용

보안 저장소 서비스를 사용하면 백엔드 서비스를 암호화 형식으로 생성하여 무단 사용으로부터 보호합니다. 이러한 안전한 저장공간은 '보관소'라고 하며 조직 또는 조직이나 환경 수준도 지원합니다

예를 들어, 보안 저장소는 Node.js에 필요한 비밀번호를 저장하는 데 사용할 수 있습니다. 데이터베이스 서버와 같은 보호되는 리소스에 접속합니다. 사용자는 API를 통해 보안 저장소에 비밀번호를 저장해 놓으면 애플리케이션은 확인할 수 있습니다

이렇게 하면 소스 코드 컨트롤에 비밀번호를 포함할 필요가 없습니다. Node.js 소스 코드와 함께 Apigee Edge에 배포할 수 있습니다. 대신 값은 Apigee에서 암호화된 형식으로 저장되며 애플리케이션이 필요할 때만 검색될 수 있습니다. 있습니다.

보안 저장소 API에 관한 문서는 Vault를 참고하세요. 다음 섹션에서는 또한 Cloud Functions를 사용하는 방법에 대해 API에 액세스할 수 있습니다

데이터 저장 방식 조직

Apigee Edge 조직마다 일련의 보안 저장소가 있으며 각 환경에는 추가할 수도 있습니다 이렇게 하면 조직마다 각기 다른 보안 요구 사항이 있는 서로 다른 보안 값을 저장할 수 있습니다. 이 섹션에서는 조직별 저장에 대해 설명합니다.

사용

  • 모든 보안 저장소의 이름을 가져옵니다.
GET /o/{organization}/vaults
  • 이름이 지정된 Vault에서 항목 목록 (암호화된 값은 아님)을 가져옵니다.
GET /o/{organization}/vaults/{name}
  • 단일 항목을 검색합니다 (암호화된 값은 아님).

GET /o/{organization}/vaults/{name}/entries/{entryname}
  • 'name'이라는 새 Vault 만들기 값이 없는 경우:

POST /o/{organization}/vaults

{ "name": "{name}" }

curl https://api.enterprise.apigee.com/v1/o/testorg/vaults
  -H "Content-Type: application/json"
  -d '{"name": "test2" }' -X POST
  • 지정된 이름과 보안 값을 사용하여 Vault에 새 항목을 배치합니다.

POST /o/{organization}/vaults/{vaultname}/entries

{ "name": "{entryname}", "value": "{securevalue}" }


curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries
  -H "Content-Type: application/json"
  -d '{"name": "value1", "value": "verysecret" }' -X POST
  • 지정된 항목의 값을 새 값으로 바꿉니다.

PUT /o/{organization}/vaults/{vaultname}/entries/{entryname}

curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1

  -d 'verymoresecret' -X PUT
  • 'true' 반환 지정된 값이 이미 스토어에 있는 값과 일치하면 'false'입니다. 조건: 그렇지 않습니다. 두 경우 모두 HTTP 상태 코드 200이 사용됩니다. 다음을 확인하는 데 사용할 수 있습니다. 확인할 수 있습니다 일단 저장되고 나면 암호화되지 않은 값:

    POST /o/{organization}/vaults/{vaultname}/entries/{entryname}?action=verify
    
    curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1?action=verify
      -d 'verymoresecret'  -X POST
    
  • 지정된 Vault 항목을 삭제합니다.
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
  • 전체 Vault를 삭제합니다.

    DELETE /o/{organization}/vaults/{name}
    

환경별 데이터 저장

Apigee Edge 환경별로 데이터를 저장할 수도 있습니다. 이 경우 데이터는 환경 (예: 'prod')을 찾습니다. 이 기능을 사용하면 런타임에 다양한 값을 저장할 수 있습니다. Node.js 스크립트가 실행되는 위치에 따라 다릅니다.

사용

GET /o/{organization}/e/{env}/vaults

GET /o/{organization}/e/{env}/vaults/{name}

GET /o/{organization}/e/{env}/vaults/{name}/entries/{entryname}

POST /o/{organization}/e/{env}/vaults

POST /o/{organization}/e/{env}/vaults/{vaultname}/entries

PUT /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}

POST /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}?action=verify

DELETE /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}

DELETE /o/{organization}/e/{env}/vaults/{name}

다음 위치의 보안 저장소에서 값 가져오기 Node.js

설치 apigee-access

Node.js 코드에서 apigee-access를 사용하려면 설치해야 합니다. 있습니다. 예를 들면 다음과 같습니다.

  1. cd 명령어를 사용하여 프로젝트의 루트 디렉터리로 이동합니다.
  2. 실행: npm install apigee-access --save

함수

Apigee-access getVault() 함수는 각 Vault당 Node.js 코드가 실행 중인 현재 환경에 따라 달라집니다.

getVault()는 다음 두 매개변수를 사용합니다.

  • 검색할 보안 저장소의 이름입니다.
  • 범위이며 organization 또는 environment일 수 있습니다. 그렇지 않은 경우 organization로 가정됩니다.

getVault()에서 반환하는 객체에는 다음 두 가지 함수가 있습니다.

  • getKeys(callback): 목록에 있는 모든 키의 이름을 포함하는 배열을 반환합니다. 지정합니다. 콜백 함수는 두 개의 인수를 사용하여 호출됩니다. 작업 실패 또는 '정의되지 않음' 그렇지 않은 경우, 두 번째 인수로 실제 배열을 반환합니다.
  • get(key, Callback): 특정 객체에 연결된 보안 값을 반환합니다. 키를 누릅니다. 콜백 함수는 두 개의 인수와 함께 호출됩니다. 작업 실패 시 오류, 또는 'undefined' 그렇지 않은 경우 실제 값을 두 번째 인수로 사용합니다.

다음은 Vault에서 값을 가져오는 방법을 보여주는 Node.js 샘플입니다. 이 설명한 대로 이 코드가 작동하도록 apigee-access 모듈이 설치됩니다. 확인할 수 있습니다

var apigee = require('apigee-access');
   var orgVault = apigee.getVault('vault1', 'organization');
   orgVault.get('key1', function(err, secretValue) {
   // use the secret value here
});