概要
iOS 9 のリリースで、Apple は App Transport Security (ATS) を導入し、アプリと Web サービス間の安全な接続を強制するようにしました。現在の Apple SDK でビルドしたアプリでは、ATS はデフォルトで有効です。安全でない接続には、文書化された例外と App Review での正当な理由の説明が必要です。
ATS 制限は、iOS 9.0 以降を対象とするアプリケーションに適用されます。App Store 内の既存のアプリは影響を受けませんが、新しいアプリを公開したり、既存のアプリを更新したりするときは ATS 制限を適用する必要があります。
Brightcoveのエコシステムは ATS 制限をサポートしています。ほとんどの場合、ATS を有効にしてアプリを構築する必要があります。安全でないURLに接続する必要がある場合は、AppleのApp Storeのレビューに正当性とともにATS例外を送信できます。
次のいずれかを選択します。
最後の手段として、ATS 要件を無効にすることができます。広範な例外を設定するのではなく、必要なドメインに限定した例外を優先し、App Review で正当な理由を説明してください。
ATS を有効にしたアプリケーションの構築
アプリと Web サービス間で HTTPS を介した安全な接続を使用する場合は、アプリの App Transport セキュリティを有効にできます。
ATS を有効にしてアプリを構築するには、次の操作を行います。
- 安全な通信のために CDN を有効にします。
-
Video Cloud のお客様は(自社の CDN または指定の CDN のいずれを使用している場合でも)、Brightcoveのアカウントマネージャに連絡して、アカウントが HTTPS 経由で配信されるように設定されていることを確認する必要があります。
-
リモートアセットを使用している場合は、CDN を適切に設定する必要があります。
-
-
セキュリティで保護された通信を使用してメディアコンテンツを配信します。これには、動画、広告、キャプション、ポスター画像、サムネイル、その他のサードパーティの API 接続が含まれます。
-
ビデオクラウドのお客様:Playback API を使用して、各アセットの安全なプロトコルを取得します。
-
Brightcoveプレーヤーのお客様:メディアコンテンツが HTTPS 経由で配信されていることを確認します。
-
ATS 例外を使用する
アプリと Web サービスの間でセキュリティで保護されていない接続を使用する必要がある場合は、ATS 例外を使用して試すことができます。ATS 要件の理由は、アプリを使用するときにユーザーに高いレベルのセキュリティを確保するためです。したがって、ATS例外を掘り下げる前に、アプリが安全な接続を使用できないことを確認してください。
ATS 要件を回避するために使用できる特定のキーがあります。これらの例外は、追加のApp Storeレビューを引き起こし、合理的な正当性を提示する必要があります。詳細については、「 ATS の App Store レビュー」ドキュメントを参照してください。
すでに暗号化されているコンテンツの例外の正当性を得ることができるかもしれないことに注意してください(つまり。FairPlay) ですが、可能であれば HTTPS を使用するのがベストプラクティスです。
ATS 要件の無効化
iOS 9 SDK 以降を対象とするアプリケーションを構築する場合、ATS を無効にすることができます。アプリで ATS 要件を無効にするには、次の手順に従います。
-
Xcodeで、 info.plistファイルを右クリックし、ソースコードとして開きます。
ソースコード info.plist -
次のコードをコピーします。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> -
Info.plist ファイルで、
</dict>終了タグの前に、上からコードを貼り付けます。
任意の負荷を許可 -
Xcodeでは、を開くとInfo.plistとしてファイルプロパティリスト、plistディクショナリにこのエントリが表示されます。
ATS 無効
ATSを無効にしても既存のHTTPS接続は変わりません。iOSがセキュリティ要件をhttp通信に追加することを防ぐのみです。
その他のリソース
- Apple Developer:NSAppTransportSecurity