>source

NodeJS 버전 12에서 Azure 기능 앱을 만들었습니다. 호스팅 환경은 Windows입니다. 내 기능 안에 Azure 키 볼트에 저장된 사용자 이름과 암호를 캡처하는 가장 쉬운 방법은 무엇입니까? 또한 인라인 code 편집기를 사용하고 있으므로 code에서 자격 증명을 캡처해야합니다.

고맙습니다

  • 답변 # 1

    나는 똑같이 추적했지만 여전히 "FailureException : RestError : 클라이언트 주소가 권한이 부여되지 않고 발신자가 신뢰할 수있는 Service.Client 주소가 아닙니다"라는 오류가 발생합니다. 내 기능 응용 프로그램은 주요 Vault 액세스 정책에서 관리되는 ID이며 동일합니다. 내 키 볼트가 VNET에 있으며 신뢰할 수있는 Microsoft 서비스 가이 방화벽도 우회 할 수있게합니다. 무엇이 잘못되었는지 제안하십시오.

  • 답변 # 2

    위의 답변에서 사용 된 노드 SDK는 더 이상 사용되지 않으며 새로운 기능 및 릴리스가 없습니다. 대신 새 버전이 여기에 릴리스됩니다.

    https://www.npmjs.com/package/@azure/keyvault-secrets.

    여기에 참조에 대한 비밀 값을 검색하는 자세한 단계가 있습니다.

    1. 가능한 시스템은 기능에 관리 된 ID를 할당했습니다.

    2.KD이 서비스 주요 주요 금고의 액세스 정책에 대한 주체.

    3. 종속성을 기능에 설치하십시오.

    "dependencies": {
        "@azure/identity": "^1.0.3",
        "@azure/keyvault-secrets": "^4.0.4"
      }
    

    4.The 내 테스트 기능 code

    module.exports= async function (context, req) {
    const { DefaultAzureCredential }= require("@azure/identity");
    const { SecretClient }= require("@azure/keyvault-secrets");
    const keyVaultName= "tonykeyvault20190801";
    const KVUri= "https://" + keyVaultName + ".vault.azure.net";
    const credential= new DefaultAzureCredential();
    const client= new SecretClient(KVUri, credential);
    const retrievedSecret= await client.getSecret("username");
    const username=retrievedSecret.value;
    context.log(username);
      context.res= {
          body: username
      };
    }
    

    5. 실행 결과.

    @vipendrasingh 나의 즐거움

    Tony Ju2021-09-18 10:09:11

    안녕하세요 @Tonyju, 동기 기능에 동일한 code를 작성하는 방법이 있습니다. 이 const가 retrecuntedsecret= client.getSecret ( "username")와 같은 '기다리고' '기다리지 않고 async 키워드와 문을 제거하여 code를 작성할 때 code를 작성할 때 code를 작성할 때 code를 작성할 때 code를 작성할 때 code를 작성할 때; 나는 undefined로 출력을 얻는다. 이것을 해결할 수있는 방법이 있습니까?

    Vipendra Singh2021-09-18 10:23:35
  • 이전 android : 원시리스트 다음 SDK 구성 요소의 사용권 계약을 수락하지 않았습니다.
  • 다음 javascript : RN JS TypeError : 정의되지 않은 것은 객체가 아닙니다 ( 'item.link.photo.photo_604'평가)