Apple 应用程序开发 - 代码签名复杂性

问题描述 投票:0回答:1

我们是 Apple iOS 开发新手。我们的团队由少数内部开发人员和少数外部承包商组成。我们使用 React Native 进行开发,并使用基本的 Fastlane 应用程序来构建应用程序并将其推送到 App Store Connect。目前,一些承包商可以访问具有“开发”角色的 Appstore,并且所有内部开发人员都可以访问它。所有开发人员都在 Xcode 中使用“自动管理签名”复选框。

在查看运行应用程序开发团队的最佳实践时,我们发现多篇文章使用 fastlane match 来降低管理证书的复杂性,我们想知道它们是否仍然有效。

例如

建议使用 match 将开发/分发证书/配置文件存储在 git 存储库中并与团队共享。已经指出的主要优点是易于管理(并且可能是安全性)。

例如:

每次添加新设备或证书过期时,您都必须手动续订并下载最新的一组配置文件。此外,这需要在设置用于构建应用程序的新机器时花费大量时间。

除非存在安全问题,否则到目前为止我们还没有看到“自动签名”带来很大的管理麻烦。

  1. 在人们主要使用“自动签名”的世界中,上述担忧是否不再相关?
  2. 或者我们在设置中遗漏了一些东西并且做错了?
  3. 将承包商添加到开发者帐户(App Store Connect)并让他们访问自己的开发者证书是否安全
  4. 如果我们按照 Match 中的建议与承包商共享 git 存储库,他们也将可以访问分发证书。这不是存在安全风险吗?或者我们应该只使用 Match 来管理开发证书
ios react-native fastlane fastlane-match app-distribution
1个回答
0
投票

每个人都拥有开发证书,这样他们就可以在本地真实设备上构建,他们不应该有部署/推送新版本应用程序的权限,也不应该访问分发证书。

您应该使用 Match,它可以加密并且安全。

Fastlane 对于开发人员彼此认识的小型项目来说是一个很好的工具,如果你计划将你的项目变得更大并拥有一个跨国团队,那么这是一个不行的情况。您的开发人员不应该能够从本地计算机进行测试或生产构建。您永远无法确定该构建上到底运行了哪些代码,因为开发人员可以在启动 Fastlane 管道之前进行本地更改。

理想的场景是拥有一个 CI/CD 工具,例如 Bitrise。您的安全团队将为 Google Play 和 Apple Developer 创建帐户,这些帐户将拥有最高权限,开发人员应通过选择分支和环境来使用 Bitrise,然后将构建上传到 Bitrise 的测试环境或产品。

希望这是有道理的。干杯。

© www.soinside.com 2019 - 2024. All rights reserved.