Admin authentication
Learn how to authenticate admin APIs using service accounts and stateless tokens.
読み終わるまでの所要時間 3 分最終更新 2ヶ月前
Admin APIs allow you to access and configure Unity Services as an administrator. To authenticate admin APIs, you must create and use service accounts.
Supported APIs
Some APIs directly support service account authentication, while others require an additional stateless token. These APIs directly support service accounts:- Authentication
- Advertising Management
- Advertising Statistics
- Assets Manager
- Assets External Providers
- Collaboration
- Application Linking
- Annotations
- Presence
- Mediation
- Cloud Save
- Economy
- Triggers
- Scheduler
- Cloud Code
- Leaderboards
- Matchmaker
- Session Observability
- Remote Config
- SCIM
- Content Delivery Management
- Player Authentication
- Resource Policy
- Access (deprecated)
- Safe Voice
- Vivox Moderation
- Moderation
- Text Evidence Management
- Realm
- Server Side Recording
- Vivox Safe Text
- Storage
- Observability
- Instance Metadata
- Workflow Engine
- Cloud Save
- Economy
- Cloud Code
- Leaderboards
- Lobby
- Matchmaker
- Multiplay Game Server Lifecycle
- Friends
- Player Names
Prerequisites
Before you use service accounts, make sure you are an Organization Owner or Organization Manager.Create a service account
To create a service account, follow these steps:- In the Unity Dashboard, open the Account menu and select Manage organization.
- In the Administration menu, select Service Accounts.
- Select Create service account to create a new account.
- In the Keys section, select Create key to generate a key ID and a secret key.
- Add a role to your service account to allow access to API endpoints.
- Select Add organization role to grant access to organization-level data that applies to all projects in your organization.
- Select Add project role to grant access to project-level data that applies to individual projects.
Authenticate an API using service account credentials
To authenticate an API using your service account credentials, open a terminal and enter the following authorization HTTP header:Thecurl -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" \https://services.api.unity.com/<ENDPOINT>
<SERVICE_ACCOUNT_CREDENTIALS><KEY_ID>:<SECRET_KEY>7e0f1152-e0dd-4b14-8e37-04cab07efeb0NKxoRp2m2w3e9gzJfssNQnTfypFgtJn77e0f1152-e0dd-4b14-8e37-04cab07efeb0:NKxoRp2m2w3e9gzJfssNQnTfypFgtJn7Authenticate an API with the Unix terminal
If you're using a Unix terminal, follow these steps:
- Enter a command to Base64 encode the key string.
echo -n "7e0f1152-e0dd-4b14-8e37-04cab07efeb0:NKxoRp2m2w3e9gzJfssNQnTfypFgtJn7" | base64
- Replace with the output from the previous command.
<SERVICE_ACCOUNT_CREDENTIALS>
You have now authenticated your API.curl -H "Authorization: Basic N2UwZjExNTItZTBkZC00YjE0LThlMzctMDRjYWIwN2VmZWIwOk5LeG9ScDJtMnczZTlnekpmc3NOUW5UZnlwRmd0Sm43" \https://services.api.unity.com/<ENDPOINT>
Authenticate an API using a stateless token
To authenticate an API using a stateless token, follow these steps:- Call the Token Exchange API. Make sure to send your key ID and your secret key as the authorization in the request.
As a response, you receive ancurl -X POST -H "Authorization: Basic N2UwZjExNTItZTBkZC00YjE0LThlMzctMDRjYWIwN2VmZWIwOk5LeG9ScDJtMnczZTlnekpmc3NOUW5UZnlwRmd0Sm43" \https://services.api.unity.com/auth/v1/token-exchange?projectId=<PROJECT_ID>&environmentId=<ENVIRONMENT_ID>
accessToken{ "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MTYyMzkwMjJ9.tbDepxpstvGdW8TC3G8zg4B6rUYAOvfzdceoH48wgRQ",}
- Use the to call APIs in the context of the project ID and/or environment ID you specified earlier.
accessToken
curl -H "Authorization: Bearer <STATELESS_ACCESS_TOKEN>" \https://services.api.unity.com/<ENDPOINT>
Refresh your stateless token
The stateless access token you receive after calling the Token Exchange API includes anexp