5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOSのショートカットで扱う秘密データの管理方法について

Posted at

はじめに

iOSのショートカットを作成する上で一度は悩むことは、ショートカット内部で扱う秘密データ(APIで扱うAPIキーやパスワードなどのトークン文字列)をどう管理するかではないでしょうか。

この管理方法について、検討した内容を共有したい思います。

前提

  • iOSのショートカットを使用するため、iOS12以上が必要です。
  • また、iPhoneの1passwordアプリを使用します。

よくある管理方法の問題

いろんな人が作成したショートカットの中身を見てみると、以下のように秘密データを管理しているケースに遭遇します。

  • メモアプリ(あるいは リマインダーアプリ)に秘密データを保存し、ショートカット実行時にメモアプリから検索する。
  • ショートカット内部に秘密データをハードコーディングする。
  • ショートカット実行時にアラートを表示し、秘密データを入力させる。

メモアプリから検索する方法は、メモアプリがパスワードで保護されていないため、秘密データを他人に見られる恐れがあります。同様に、ハードコーディングする方法についても、ショートカットの内部処理を見れば、秘密データを他人に見られる恐れがあります。

ショーカット実行時に秘密データをアラートに表示する方法は、上記方法よりは良さそうに感じますが、秘密データをどこからか検索する手間やコピーしたクリップボードの秘密データが残ったままになる恐れがあります。

解決方法

上記の管理方法の解決方法として、1passwordのパスワード管理アプリを使う方法を提案したいと思います。

1passwordアプリで管理する利点としては、以下の通りです。

  • 秘密データがマスターパスワードで保護されているため、他人に秘密データを容易に見られる心配がない。
  • 1passwordのURLスキームを使えば、1passwordの秘密データを検索する(絞りこむ)ことができる。
    • 例えば、onepassword://search/<検索ワード>の形式で1passwordを起動できます。
    • URLスキームの仕様の詳細については、こちらを参照。
  • 1passwordに秘密データが保存されていなくても、実行時に秘密データを作成できる。
  • 1passwordの秘密データをワンタップでクリップボードでコピーできる。

ショートカットアプリでは1passwordアプリのURLスキームを実行時に呼び出すことができるため、以下のような手順で秘密データをショートカット内部で扱うことができます。

手順詳細

  • ショートカットアプリから1passwrordアプリのURLスキームを起動する。
  • 起動した1passwordアプリから秘密データをクリップボードにコピーする。
  • クリップボードにコピー後、左上のアプリ名を押下し、ショートカットアプリに戻る。
  • ショートカットアプリでクリップボードから秘密データを任意の変数にコピーする。
  • 安全のためにクリップボードの秘密データをクリア(空文字列をコピー)する
  • 任意の変数にコピーした秘密データをショートカット内部で使用する。

ショートカットの作成

ここでは、1passwordアプリからGoogleのアカウントのトークンを表示するショートカットの作成例について説明します。

手順詳細

  • ショートカットの新規作成画面を開きます。
  • アクションのURLを開くを追加し、onepassword://search/googleをURLに設定します。
    • この処理で、1passwordが起動し、googleのキーワードで検索された状態になります。
  • スクリプティングの待機を追加します。
    • この処理で、1passwordのアプリからショートカットアプリに戻るまで、ショートカットアプリが待機状態になります。
  • アクションの変数に設定を追加します。
    • 変数を仮にtokenとして、変数tokenをクリップボードに設定にします。
  • アクションのテキストを追加します。
    • 変数tokenを使用して、秘密データを表示するテキストを作成します。
    • ここでは、トークンはXXXXですのような形式のテキストになります。
  • アクションのクイックルックを追加します。
    • 作成したテキストをクイックルックで表示します。
  • クリップボード上の秘密データをクリアするために、アクションのテキストを追加し、空のテキストを追加します。
  • 最後にアクションのクリップボードにコピーを追加し、空のテキストをクリップボードにコピーします。

参考までに、上記で作成したショートカットのiCloudの共有リンクを貼っておきます。

さいごに

秘密データの管理方法について、1passwordを活用する方法について提案しました。秘密データを管理する際の参考になれば幸いです。

参考

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?