APNs認証キーの新機能について
はじめに
先日Appleからこの様なお知らせがあり、APNs認証キーの新たな設定オプションが追加されていたので、Apple Developerでキーの作成を試しながら変更点を整理しました。
変更点
キーを使用できる環境を細かく制限できる様になった
APNs認証キーの作成時に、新たに追加された以下の項目を指定することで、キーの使用が許可される環境をより細かく制限出来る様になりました。
-
Environment
- ドキュメントではチームスコープキーと呼ばれている。
- EnvironmentはApple Developer上の表記。
-
Sandbox/Production/Sandbox&Productionの3種類から選択可能。- 以前はキーの使用を特定の環境に制限することは出来なかった。
- ドキュメントではチームスコープキーと呼ばれている。
-
Key Restriction
- ドキュメントではトピック固有キーと呼ばれている。
- Key RestrictionはApple Developer上の表記。
-
Team Scoped(All Topics)/Topic Specificの2種類から選択可能。-
Topic Specificを選択すると、具体的なBundle IDを選択して特定のアプリでのみ使用できるキーを作成可能。 - 以前はアプリ毎に使用するキーを制限することが出来なかった。
-
- ドキュメントではトピック固有キーと呼ばれている。
キーの作成数の上限が増えた
これまではAPNs認証キーはApple Developerアカウントにつき2つまでしか作成できないという制限がありましたが、この制限についても変更されており、作成可能なキー数の上限が増えています。具体的な上限についてはこちらに記載されています。
Apple Developerでの設定
Apple Developerでこれらの設定を追加する方法を紹介します。
APNs認証キーを作成する時に、Configureというボタンが表示される様になりました。

Configureを押すと以下の画面に遷移します。ここで先ほど紹介したEnvironmentとKey Restrictionをそれぞれ指定できます。

Key RestrictionをTopic Specificにすると、以下の様にTopicを追加できる様になります。キーの使用を特定のアプリに制限したい場合は、ここでBundle IDを指定できます。

作成済みのキーの扱いについて
この機能が登場する前に作成していたAPNs認証キーについては、これまでと同じ挙動になり、EnvironmentにはSandbox&Production、Key RestrictionはTeam Scoped(All Topics)として設定されます。

既存のキーに対してはEditボタンが表示されて値が変更できそうに見えますが、作成済みのキーに対してEnvironmentやKey Restrictionの設定を変更することは出来ません。 スコープを変更したい場合は新たにキーを作り直す必要がある為、注意が必要です。

さいごに
APNs認証キーの新機能について整理しました。ドキュメントやApple Developerを操作しながら確認しましたが、もし間違っている点や気になる箇所等があれば、コメントをいただけると幸いです。
参考
Discussion