What Oleria discovers
Once connected, Oleria continuously discovers and maps the following from your Apple Developer Program team:- Accounts - every member of the team, with name, Apple Account email, and roles. Pending invitations appear as disabled accounts with the roles they will receive once accepted, so an outstanding invitation for an Admin is visible before anyone accepts it.
- Roles - your App Store Connect roles, with the accounts that hold each one: Account Holder, Admin, App Manager, Developer, Finance, Sales, Marketing, Customer Support, and the additional permissions Access to Reports, Create Apps, Generate Individual API Keys, Cloud-Managed Apple Distribution Certificate, and Cloud-Managed Developer ID Certificate. Access to Certificates, Identifiers & Profiles is shown as its own role; Account Holders and Admins always hold it as part of their role.
This integration doesn’t read apps, per-app access, certificates, provisioning profiles, devices, or TestFlight testers, so it doesn’t populate resource-level Access Graph or Access Inventory data. App Store Connect has no user groups, and its API doesn’t expose sign-in activity, audit logs, or API keys, so Oleria doesn’t collect activity for this integration. Apple requires two-factor authentication for every App Store Connect sign-in, so Oleria shows MFA as required for every member.
Prerequisites
- An App Store Connect user with the Admin role to create a team API key.
- Admin access on the Oleria platform to add a new integration.
The exact location of these settings can change over time. If the steps below don’t match what you see, refer to Apple’s App Store Connect API documentation.
Create an App Store Connect team API key
Oleria connects with an App Store Connect team API key: its Issuer ID, its Key ID, and its private key (a.p8 file). Individual API keys aren’t supported, because they belong to one person and stop working when that person leaves the team.
1
Open the App Store Connect API keys
Sign in to App Store Connect as an Admin. Select Users and Access, select the Integrations tab, then select App Store Connect API and make sure Team Keys is selected.
2
Copy the Issuer ID
Copy the Issuer ID shown at the top of the page. It identifies your team.
3
Generate a key with the Admin role
Select Generate API Key (or +). Give it a name such as
Oleria and, under Access, select Admin. Oleria needs the Admin role to read team members and to change roles or remove members.4
Copy the Key ID and download the private key
Copy the new key’s Key ID, then select Download API Key to download its
.p8 file. Apple lets you download the private key only once, so store it securely until you’ve finished connecting.Connect Apple Developer Program to Oleria
1
Open the integration
Go to your Oleria workspace, select Integrations, then select the Apple Developer Program tile.
2
Complete the connection form
Fill in the connection form:
3
Save the integration
Select Authenticate. Oleria checks that the private key is a valid App Store Connect key and that Apple accepts it for reading team members and pending invitations. Then it saves the integration.
Verify the integration
Confirm the new instance appears on the Connected tab of your Oleria Integrations page with a status of Healthy. Oleria syncs team members, pending invitations, and roles from App Store Connect on its regular sync schedule once the initial sync completes.To rotate the key, edit the integration and enter the new Key ID together with its Private Key (.p8). Leave Private Key (.p8) blank to keep the stored key when you aren’t changing the Key ID. The Issuer ID can’t be changed after you connect; to connect a different team, add a new integration.
Remediation actions
Beyond discovery, Oleria can act on Apple Developer Program access to remediate risk. Actions use the Admin role of the connected team API key. If the key doesn’t have the Admin role, App Store Connect rejects these changes and Oleria reports the action as failed for missing permission. Apple doesn’t expose a key’s role, so Oleria can’t check it before you run an action.
Some changes are refused because App Store Connect doesn’t allow them:
- The Account Holder can’t be removed and their roles can’t be changed. Transfer the Account Holder role in App Store Connect first.
- A member’s only role can’t be removed, because every member needs at least one role. Remove the member instead.
- Access to Certificates, Identifiers & Profiles can’t be removed from an Admin, because the Admin role includes it. Remove the Admin role instead.
- Roles of a pending invitation can’t be changed. Cancel the invitation and send a new one.

