App Safer Open API 사용
    • PDF

    App Safer Open API 사용

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    App Safer의 App Management 기능을 Open API로 사용하는 방법을 설명합니다.

    참고

    AppSafer Open API는 별도의 이용 신청 없이 사용할 수 있으며, API 명세서는 Swagger UI를 통해 확인할 수 있습니다.

    빌드 자동화

    App Safer Open API에서 앱을 빌드할 때 App Safer가 자동으로 적용되도록 설정할 수 있습니다. 빌드 자동화를 설정하는 방법은 다음과 같습니다.

    참고

    빌드 자동화는 간편 적용 방식으로 등록한 안드로이드 앱에서만 사용할 수 있습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Security > App Safer 메뉴를 차례대로 클릭해 주십시오.
    3. App Management 메뉴에서 앱을 등록해 주십시오.
      • 앱 등록 방법에 대한 자세한 설명은 앱 등록을 참조해 주십시오.
    4. App Management 메뉴에서 나타나는 앱 목록 중 원하는 앱을 클릭해 주십시오.
    5. 선택 시 펼쳐지는 상세 정보 영역에서 등록 설정[상세 보기] 버튼을 클릭해 주십시오.
      appsafer-api_detail_ko
    6. 등록 설정 보기 팝업 창의 하단에 있는 [스크립트 다운로드] 버튼을 클릭해 주십시오.
      • 스크립트 파일이 로컬 PC로 다운로드됩니다.
    7. 네이버 클라우드 플랫폼 포털의 마이페이지 > 계정관리 > 인증키 관리 메뉴에서 API 인증키를 확인해 주십시오.
      • API 이용 시 필요하므로 Access Key와 Secret Key 값을 복사해 주십시오.
      • 서브 계정 이용 시, 포털에서 인증키 관리 메뉴가 표시되지 않는다면 메인 계정이 API Gateway 접근을 허용하지 않은 것입니다. 메인 계정에게 API Gateway 접근 권한을 요청해 주십시오.
      • 서브 계정의 경우 권한이 없는 API 요청은 거부됩니다. 스크립트를 실행하기 전에 다음의 권한이 추가되어 있는지 확인해 주십시오.
        • createPackage
        • getPackageDetail
        • downloadPackage
    8. API 툴에서 스크립트가 정상적으로 실행되는지 확인해 주십시오.
       usage: appsafer.py [-h] --access-key ACCESS_KEY --secret-key SECRET_KEY
                           [--rule RULE]
                           package out
      
      • 정상 실행 시 다음의 화면이 나타납니다.
        appsafer-api_sample.png

      아래 순서에 맞춰 AppSafer RULE을 추가할 수 있습니다.

      1. RULE 내용이 포함된 별도 파일을 생성합니다. ex) my_rule_file 파일 생성
      2. 스크립트의 '--rule' 파라미터에 RULE 파일 경로를 추가합니다. ex) --rule ~/my_rule_file
    9. 다운로드한 스크립트 파일을 프로젝트 내의 build.gradle 파일과 동일한 경로에 복사해 주십시오.
    10. build.gradle 파일에 아래 코드를 추가하고, Access Key와 Secret Key를 입력해 주십시오.
      • APK
      // * prepare for apk * /
      applicationVariants.all { variant ->
          def accessKey = "{ACCESS_KEY}";
          def secretKey = "{SECRET_KEY}";
          
          def apkPath = variant.outputs.stream().map({i -> i.getOutputFile()}).findFirst().get().getAbsolutePath();
          variant.getPackageApplicationProvider().get().doLast() {
              exec {
                  commandLine 'python', 'appsafer.py', apkPath, apkPath, "--access-key", accessKey, "--secret-key", secretKey
              }
          }
      }
      
      • App Bundle
      // * prepare for bundle * /
      applicationVariants.all { variant ->
          def accessKey = "{ACCESS_KEY}";
          def secretKey = "{SECRET_KEY}";
          
          def bundleTaskName = "package${variant.name.capitalize()}Bundle"
          def bundleTask = tasks.findByPath(bundleTaskName)
      
          def bundlePath = bundleTask.bundleFile.get().getAsFile().getAbsolutePath()
          bundleTask.doLast {
              exec {
                      commandLine 'python', 'appsafer.py', bundlePath, bundlePath, "--access-key", accessKey, "--secret-key", secretKey
              }
          }
      }
      
    11. 빌드를 실행하여 결과를 확인해 주십시오.
      • 성공 시 outputs 파일에 자동으로 App Safer가 적용된 앱이 생성되며, 네이버 클라우드 플랫폼 콘솔에서도 앱이 등록됩니다.
        appsafer-api_result

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.