2017-12-21 21 views
1

AWS 람다 함수에서 Google 서비스 계정으로 안전하게 인증하려면 어떻게해야하나요? AWS 람다에서 Google API를 호출하고 싶습니다.AWS 람다의 Google OAuth

+0

Google OAuth 문서 및 Lambda 문서를 통해 통합 방법을 이해 했습니까? – Kannaiyan

+2

[ask] – Aron

+0

@Kannaiyan을 검토하십시오. 서비스 계정을 json 파일로 유지해야합니다. 폴더에 보관할 수있는 VM이 ​​있고 GOOGLE_APPLICATION_CREDENTIALS env 변수를 사용하여 인증 할 수 있습니다.하지만 사용할 때 람다 함수 어떻게해야합니까? .. 내 코드베이스에 내 키를 보관할 수 없습니다. –

답변

0

람다 환경 변수에 암호화 된 자격 증명을 저장할 수 있습니다. 프로그래밍 방식으로 저장하거나 aws 콘솔에서 구성 할 수 있습니다.

자세한 내용 :

http://docs.aws.amazon.com/lambda/latest/dg/env_variables.html

CLI :

aws lambda create-function \ 
    --region us-east-1 
    --function-name myTestFunction 
    --zip-file fileb://path/package.zip 
    --role role-arn 
    --environment Variables="{LD_LIBRARY_PATH=/usr/bin/test/lib64}" 
    --handler index.handler 
    --runtime nodejs6.10 
    --profile default 

Nodejs :

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html

변수에확인 : {아래 코드에서

.

암호화하려면 KMSKeyArn을 확인하고 KMS Arn 값을 제공하십시오.

var params = { 
    FunctionName: 'STRING_VALUE', /* required */ 
    DeadLetterConfig: { 
    TargetArn: 'STRING_VALUE' 
    }, 
    Description: 'STRING_VALUE', 
    Environment: { 
    Variables: { 
     '<EnvironmentVariableName>': 'STRING_VALUE', 
     /* '<EnvironmentVariableName>': ... */ 
    } 
    }, 
    Handler: 'STRING_VALUE', 
    KMSKeyArn: 'STRING_VALUE', 
    MemorySize: 0, 
    Role: 'STRING_VALUE', 
    Runtime: nodejs | nodejs4.3 | nodejs6.10 | java8 | python2.7 | python3.6 | dotnetcore1.0 | nodejs4.3-edge, 
    Timeout: 0, 
    TracingConfig: { 
    Mode: Active | PassThrough 
    }, 
    VpcConfig: { 
    SecurityGroupIds: [ 
     'STRING_VALUE', 
     /* more items */ 
    ], 
    SubnetIds: [ 
     'STRING_VALUE', 
     /* more items */ 
    ] 
    } 
}; 
lambda.updateFunctionConfiguration(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 

희망이 있습니다.