メインコンテンツまでスキップ

パーミッションの基礎

Last updated on July 14, 2026

注釈:本資料はAI技術を用いて翻訳されています。

Introduction

パーミッションは、AccelByte Gaming Service (AGS) のリソースを使用するユーザーおよびアプリケーションにアクセス権を提供します。パーミッションは認可システムの基盤であり、以下の要素で構成されています。

  1. パーミッション要件: ほとんどの AGS API エンドポイントはパーミッションを必要とします。

    注記

    API エンドポイントのドキュメントには、各エンドポイントでシステムが要求するパーミッションが記載されています。

  2. パーミッションの付与: Admin Portal を使用すると、IAM クライアント経由でアプリケーションにパーミッションを割り当てたり、ロール経由でユーザーにパーミッションを割り当てたりできます。

この記事では、AGS のパーミッションとその用途について詳しく説明します。また、IAM クライアントやロールを通じてユーザーに割り当てられるパーミッションを示す関連ガイドへのリンクも提供します。

Syntax

パーミッションは、パーミッションリソースパーミッションアクション で構成されます。

Permission Resource

AccelByte Gaming Services (AGS) では RESTful API 設計を採用しています。RESTful API では、主要なデータ表現は リソース です。AGS では、パーミッションリソースはコロンで区切られた複数のトークンを含む文字列です。これには、パーミッションが適用されるネームスペースやユーザーなどの詳細情報、および保護対象オブジェクトの名前を含めることができます。

Permission Action

パーミッションアクションは、そのパーミッションによってユーザーまたはアプリケーションがリソースに対して何を行えるかを示します。アクションには Create、Read、Update、Delete があります。

Permission Requirement

AGS エンドポイントのパーミッションを定義する際は、上記の一般的な構文に従ってください。例えば、以下は AGS エンドポイントのパーミッション要件のテンプレートで、4 つの個別のトークンを含んでいます。

[ADMIN:][NAMESPACE:<namespace>:][USER:<userId>:]<OBJECTNAME>
  • ADMIN: パーミッションが管理リソース用であることを示す任意のトークンです。これは ADMIN エンドポイントのパーミッションにのみ付与するべきであり、以下のシナリオで使用されます。

    • IAM クライアントが認可する、AGS とアプリケーション間の信頼された内部 API 呼び出し。
    • 適切なロールを持つ Admin ユーザーが、Admin Portal(または他の適切な外部ツール)を使用して呼び出しを実行できる。

    例えば、ロール情報を検索するために使用するエンドポイントでは、ユーザーに admin パーミッションが必要です。

    EndpointPermissionDescription
    GET /iam/v3/admin/rolesADMIN:ROLE [READ]ロールはネームスペースやユーザーに属さないプラットフォームレベルのオブジェクトであるため、このパーミッションには NAMESPACE:{namespace}USER:{userId} は含まれません。
    • パブリックエンドポイントは常に非 admin パーミッションを使用します。有効なアクセストークンを持つ承認済みのユーザーアカウントであれば、これらのエンドポイントを呼び出すことができます。
  • NAMESPACE:{namespace}: このオプションのトークンは、IAM クライアント、Store などのリソースが要求するように、リソースがネームスペースレベルに属する場合にのみ使用します。これは、パーミッションが適用されるネームスペースを示します。構文は文字列 NAMESPACE: の後にネームスペース名のプレースホルダー {namespace} が続きます。例えば、特定のネームスペース内で IAM クライアントを作成するエンドポイントでは、ユーザーに admin パーミッションが必要です。

    EndpointPermissionDescription
    POST /iam/v3/admin/namespaces/{namespace}/clientsADMIN:NAMESPACE:{namespace}:CLIENT [CREATE]リクエストが POST /iam/v3/admin/namespaces/accelbyte/clients 経由でリソースにアクセスしようとする場合、パーミッションは ADMIN:NAMESPACE:accelbyte:CLIENT [CREATE] になります。IAM クライアントはネームスペースレベルに属しますが、ユーザー固有のリソースではないため、パーミッションに User:userId は含まれません。
  • USER:{userId}: このオプションのトークンは、ユーザー固有のリソースにのみ使用します。このトークンは NAMESPACE:{namespace} と似ており、パーミッションが適用されるユーザーを表します。構文は USER: の後にユーザー ID のプレースホルダー {userId} が続きます。例えば、特定のネームスペース内の特定のユーザーに属するエンタイトルメントを検索するために使用するエンドポイントには、以下の admin パーミッションが必要です。

    EndpointPermissionDescription
    GET /admin/namespaces/{namespace}/users/{userId}/entitlementsADMIN:NAMESPACE:{namespace}:USER:{userId}:ENTITLEMENT [READ]リクエストが GET /admin/namespaces/accelbyte/users/1234/entitlements 経由でリソースにアクセスしようとする場合、実際に必要なパーミッションは ADMIN:NAMESPACE:accelbyte:USER:1234:ENTITLEMENT [READ] になります。
  • OBJECTNAME: この必須トークンは、PROFILE や CURRENCY などの保護対象リソースオブジェクトを表します。例えば、以下はネームスペース内の通貨を検索するエンドポイントの admin パーミッションです。

    EndpointPermissionDescription
    GET /admin/namespace/{namespace}/currenciesADMIN:NAMESPACE:{namespace}:CURRENCY [READ]パーミッションリソースはコロンで区切って複数のオブジェクト名を含めることができますが、これは推奨されません。

Permission Grant

Public Cloud では、事前定義されたパーミッションを必要に応じてトグルするだけで、IAM クライアントへのパーミッション付与を簡単に行えます。詳細については、IAM クライアントの作成IAM クライアントパーミッションの追加と編集を参照してください。

ただし、Extend Service Extensionを使用してカスタム API を作成し、プレイヤーやゲームサーバーにそれへのアクセスを許可したい場合は、IAM クライアントまたはデフォルトのユーザーロールにカスタムパーミッションを追加することもできます。Public Cloud のカスタムパーミッションは、AGS の組み込みパーミッションやスタジオ間アクセスとの競合を防ぐために、事前定義された形式に従う必要があります。詳細については、Public Cloud のカスタムパーミッションを参照してください。

Troubleshooting

このセクションでは、サービスを使用する際に発生する可能性のあるエラーや問題を一覧で示します。

各 AGS エンドポイントに必要なパーミッションを確認する方法

各エンドポイントに必要なパーミッションが記載されているAPI エンドポイントのドキュメントを参照してください。

パーミッションに関連するエラーを解決する方法

Resources セクションのエラーと例外を確認してください。

What's next?

ユーザーロールの管理方法IAM クライアントの管理方法を学びましょう。