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を自動で適用するように設定できます。ビルド自動化を設定する方法は、次の通りです。

    参考

    ビルド自動化は簡単適用方式で登録した Androidアプリでのみ使用できます。

    1. NAVERクラウドプラットフォームコンソールの Region メニューや Platform メニューから利用中の環境をクリックします。
    2. Services > Security > App Safer メニューを順にクリックします。
    3. App Management メニューでアプリを登録します。
    • アプリの登録方法に関する詳細な説明は、アプリ登録をご参照ください。
    1. App Management メニューに表示されるアプリリストで登録したいアプリをクリックします。

    2. 選択すると表示される詳細情報領域で 登録設定[詳細を見る] ボタンをクリックします。
      appsafer-api_detail_ko

    3. 登録設定を見るポップアップの下部にある [スクリプトのダウンロード] ボタンをクリックします。

      • スクリプトファイルがローカル PCにダウンロードされます。
    4. NAVERクラウドプラットフォームポータルのマイページ > アカウント管理 > 認証キーメニューで API認証キーを確認します。

      • APIの利用時に必要であるため、Access Keyと Secret Keyの値をコピーします。
      • サブアカウントの利用時にポータルで 認証キー管理 メニューが表示されない場合、メインアカウントが API Gatewayのアクセスを許可していないことを意味します。メインアカウントで API Gatewayのアクセス権限を要請します。
      • サブアカウントの場合、権限のない APIリクエストは拒否します。スクリプトを実行する前に次の権限が追加されているかを確認します。
        • createPackage
        • getPackageDetail
        • downloadPackage
    5. 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
    6. ダウンロードしたスクリプトファイルをプロジェクト内の build.gradleファイルと同じパスにコピーします。

    7. 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
              }
          }
      }
      
    8. ビルドを実行して結果を確認します。

      • 成功すると、outputsファイルに自動で App Saferが適用されたアプリが作成され、NAVERクラウドプラットフォームコンソールにもアプリが登録されます。
        appsafer-api_result

    この記事は役に立ちましたか?

    What's Next
    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.