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

アプリケーションのアクセス制御を管理する

Last updated on July 15, 2026

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

はじめに

AccelByte Gaming Services (AGS) は、保護されたプラットフォームリソースへのアクセスを要求するアプリケーション (ゲームサーバーやウェブサイトなど) を Identity and Access Management (IAM) クライアントとして定義します。IAM クライアントを使用すると、ユーザー単位ではなくアプリケーション単位でアクセスできるリソースを制御できます。

本記事では、以下の内容について説明します。

  • IAM クライアントの仕組みと IAM クライアントの種類。
  • AGS Admin Portal で IAM クライアントとそのパーミッションを作成および設定する方法。
  • AGS SDK を使用してアプリケーションアクセストークンを取得する方法。

前提条件

  • AGS Admin Portal へのアクセス権限、および IAM クライアント管理のためのパーミッション。

    AGS Public Cloud

    AGS アカウントで Studio Admin または Game Admin ロールを持っていると、Admin Portal で IAM クライアントを直接管理できます。

IAM クライアントの仕組み

AGS の IAM クライアントは、OAuth 2.0 フレームワークを実装しています。 対象となるアプリケーションが特定のゲーム専用のものか、パブリッシャープラットフォームで使用されるものかに応じて、パブリッシャーまたはゲームの名前空間の下でこれを定義できます。

IAM クライアントの種類

OAuth 2.0 Client Type フレームワークに基づいて、2 つのクライアントタイプがあります。

  • confidential クライアントは、バックエンドで認可を行うために Client ID と Client Secret の組み合わせを必要とします。AGS の admin エンドポイントに対してサーバー間 (S2S) 呼び出しを行う必要がある場合は、confidential クライアントを使用し、通常はクライアントに特定のアクセスパーミッションを定義します。confidential クライアントは、クライアントの ID とシークレットへのアクセス権を持つユーザーを管理できる場合にのみ使用し、権限のないユーザーがサービスにアクセスするのを防ぐようにしてください。
  • public クライアントは、クライアントシークレットを指定しません。必要なのはクライアント ID のみです。public クライアントは、ユーザーが自分のユーザーアカウントでログインする必要があり、AGS の public エンドポイントへのクライアントからサーバーへの呼び出しのみを必要とするアプリケーションに最適です。この場合、アクセスパーミッションはロールを介してユーザーのアカウントから取得されます。

最もよく使用される IAM クライアント

以下は、最もよく使用される IAM クライアントのアーキタイプです。

  • ゲームクライアント: ほとんどの場合、ゲームクライアント用の IAM クライアントは Public として設定します。
  • 専用ゲームサーバー: 専用サーバー用の IAM クライアントは Public または Confidential として設定します。ただし、専用サーバーがユーザーとしてログインしない場合は、クライアントにパーミッションを割り当てる必要があります。これが最も一般的なケースです。
  • 専用サーバーアップローダー: 専用サーバービルドをアップロードするための IAM クライアントです。アップローダーへのアクセスは通常厳しく管理されているため、これらのタイプのクライアントは Confidential として指定することを推奨します。

IAM クライアントを管理する

このセクションでは、IAM クライアントを作成し、クライアントにパーミッションを追加する方法について説明します。

IAM クライアントを作成する

ご利用の AGS ティアに該当する手順に従ってください。

  1. AGS Admin Portal で、対象の名前空間に移動します。

  2. サイドバーで、Foundations > Identity & Access > IAM Clients を選択します。

  3. IAM Clients ページで、+ Create IAM Clients ボタンをクリックします。Create IAM Client フォームが表示されます。

    Image shows the Create IAM client form in Public Cloud

  4. General Preferences セクションで、作成オプションを選択します。次に、必要な情報を入力します。

    IAM クライアントの作成にテンプレートを使用する場合は、このオプションを選択します。

    1. Select Template ドロップダウンから、使用したいテンプレートを選択します。

      • Game Client: AccelByte へのログインを容易にするためにゲームクライアントが使用します。ログインに成功すると、AccelByte プラットフォーム内のさまざまな公開機能へのアクセスを許可するユーザートークンが提供されます。Game Client テンプレートに固有の内容として、「Platform」フィールドの入力も必要です。
      • Dedicated Server: サーバーまたは専用サーバー (DS) が、AccelByte の管理機能にアクセスするために必要なクライアントトークンを取得するために使用します。
      • Dedicated Server Tools: 専用サーバー (DS) イメージを AccelByte Multiplayer Services (AMS) サーバーにアップロードするため、および AMS ツールの動作を容易にするために使用します。
      • Custom Backend Tooling: クライアント自身が開発したカスタムバックエンド向けに使用します。AGS で利用可能な機能に合わせて、必要に応じてパーミッションを追加する必要があります。

      テンプレートを選択すると、Client Configuration セクションの Client NameClient TypeRedirect URIDescription フィールドがテンプレートによって自動入力されます。

      注記

      テンプレートを選択した後に表示され、事前入力されるセクションとフィールドは、テンプレートによって異なる場合があります。

    2. 必要な情報を入力します。

      • Client Configuration

        • Client Name: クライアントの名前を入力します。AGS システムは、ユーザー向けのフォームやドキュメントでこの名前を使用して IAM クライアントを識別します。

        • Client Type: クライアントが AGS とどのように連携するかを定義します。PublicConfidential から選択します。詳細については、IAM クライアントの種類を参照してください。

        • Secret: これは confidential クライアントのパスワードとして機能します。推奨形式に従って独自のパスワードを手動で入力するか、Generate をクリックして AGS システムに生成させることができます。

          警告

          クライアントシークレットの安全なコピーを保管してください。クライアントを作成した後は、このシークレットを再度表示またはアクセスすることはできなくなります。

        • Redirect URI

          • Web ベースのクライアント (ウェブサイトやランチャーなど) の場合は、ログイン成功後にシステムがユーザーをリダイレクトする URL を値に設定します。
          • Web ベースでないクライアント (ゲームサーバー、ゲームクライアント、サーバーアップローダーなど) の場合は、値を http://127.0.0.1 に設定します。
          ヒント

          + Add more ボタンをクリックすると、複数の URI を追加できます。

        • Platform (Game Client テンプレートにのみ適用): ドロップダウンから、SDK クライアントが実行されるサードパーティプラットフォームを選択します。クライアントをどのサードパーティプラットフォームにもバインドしない場合は、空白のままにしてください。

          注記

          このプラットフォーム情報は、クロスプラットフォーム機能 (クロスプラットフォームの仮想通貨やウォレットなど) のためにシステムが必要とします。

        • Description (オプション): IAM クライアントの機能を説明します。

    • Advanced Configuration: このセクションでは、特定の IAM クライアントの動作を上書きできます。このセクションを表示するには、Show Advanced Configuration をクリックします。

      • Scopes: これは OAuth 2.0 のメカニズムで、IAM クライアントがアクセスできるリソースを制限します。ドロップダウンから、IAM クライアントにアクセス可能にしたいサービスを選択します。スコープの詳細については、OAuth 2.0 のドキュメントを参照してください。

        ScopesService
        commercePlatform
        Season Pass
        accountBasic
        GDPR
        IAM
        Legal
        socialAchievement
        Chat
        Cloudsave
        Group
        Leaderboard
        Lobby
        Matchmaking
        Session
        Session Browser
        Statistics
        analyticsTelemetry
      • Target Audience (オプション): このクライアントの目的に基づいて、ユーザーまたはアプリケーションのトークンがアクセスできるサービスを制御します。Target Audience ドロップダウンに含まれるクライアントの Base URI が、対象サービスを表します。

        注記

        これは、クライアントまたはユーザーのパーミッションを確認する前に、バックエンドサービスが接続の試行を素早く拒否できるようにするホワイトリストとして機能します。IAM クライアントがサービスエンドポイントへのアクセスを試みると、サービスはまずクライアントの Target Audience リストを確認します。サービスの URI が Target Audience フィールド内のいずれかのクライアントの Base URI と一致しない場合、システムは接続の試行を拒否します。クライアントが Target Audience チェックに合格した場合、またはクライアントの Target Audience フィールドが空の場合、サービスはパーミッションやスコープの確認など、クライアントのリクエストにおける次の認証ステップに進みます。

      • Base URI (オプション。Target Audience と併用): これは、オーディエンス実装におけるサービスの ID です。

      • Override Expiration Time: このトグルをオンにすると、デフォルトの Access Token Expiration TimeRefresh Token Expiration Time を上書きし、それらの値を手動で設定できます。これにより、プレイヤーが IAM クライアントに関連付けられたサードパーティアプリを使用してプレイヤーポータルにログインする際、ログイン状態を維持できる期間を設定できます。

    1. Permissions セクションで、IAM クライアントへのパーミッションの追加を開始します。クライアントに追加したいパーミッションを見つけます。次に、各パーミッションについて、そのパーミッションに持たせたいアクション (ReadCreateUpdateDelete) のチェックボックスをオンにします。ナビゲーションを容易にするには、Hide/Show unselected permissions をクリックします。この手順をスキップして、手順 5 に進み IAM クライアントを作成することもできます。IAM クライアントのパーミッションは後で追加や編集ができます。IAM クライアントのパーミッションを追加・編集するを参照してください。

      注記

      public な IAM クライアントを作成している場合、このセクションはフォームに表示されません。パーミッションを追加できるのは、confidential な IAM クライアントのみです。

  5. Create をクリックします。新しい IAM クライアントが作成され、システムが生成したクライアント ID (編集不可) とともに IAM Clients リストに追加されます。続けて、IAM クライアントにパーミッションを追加します。

IAM クライアントを編集する

  1. Admin Portal のサイドバーで、Foundations > Identity & Access > IAM Clients に移動します。IAM Clients ページが表示されます。
  2. IAM Clients リストから、編集したい IAM クライアントを見つけ、その ID をクリックして詳細を表示します。
  3. IAM クライアントの Details タブで、編集したいフィールドの隣にある Edit アイコン をクリックします。
  4. 必要に応じて情報を編集し、チェックマークをクリックして変更を保存します。

IAM クライアントのパーミッションを追加・編集する

AGS Admin Portal で、既存の confidential な IAM クライアントのパーミッションを追加・編集できます。

IAM クライアントのパーミッションを追加・編集するには、次の手順に従います。

  1. AGS Admin Portal で、対象の名前空間に移動します。

  2. サイドバーで、Foundations > Identity & Access > IAM Clients を選択します。IAM Clients ページが表示されます。

  3. IAM クライアントのリストから、パーミッションを更新したいクライアントを見つけます。対応する View ボタンをクリックします。IAM クライアントの詳細ページが表示されます。

  4. IAM クライアントの右上にある Edit をクリックします。Edit IAM Client フォームが表示されます。

  5. フォームで下にスクロールして Permissions セクションに移動し、パーミッションを管理します。

    • 追加または編集したいパーミッションを見つけます。そのパーミッションに追加または削除したいアクション (ReadCreateUpdateDelete) のチェックボックスをオンにします。ナビゲーションを容易にするには、Hide/Show unselected permissions をクリックします。

      Image shows the perdefined AGS permissions list in Public Cloud

  6. Save をクリックして変更を保存します。

アプリケーションアクセストークンを取得する

AGS SDK を使用してアプリケーションアクセストークンを取得する

Credential クライアントは、AGS へのサービス間 (S2S) 呼び出しに有効なアクセストークンを必要とします。

以下のコードは、Credential クライアント用に AGS SDK を使用して有効なアクセストークンを生成します。

bool bServerLoggedIn = false;
bool bServerLoginComplete = false;
auto ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();
ServerApiClient->ServerOauth2.LoginWithClientCredentials(FVoidHandler::CreateLambda([&bServerLoggedIn, &bServerLoginComplete]()
{
UE_LOG(LogAccelByteEcommerceTest, Log, TEXT("Server Login Success"));
bServerLoginComplete = bServerLoggedIn = true;
}), FErrorHandler::CreateLambda([&bServerLoggedIn, &bServerLoginComplete](int32 ErrCode, FString const& ErrMsg)
{
UE_LOG(LogAccelByteEcommerceTest, Error, TEXT("Server Login Success"));
bServerLoginComplete = true;
}));
WaitUntil(bServerLoginComplete, "Waiting for server logged in...");

手動 API 呼び出しでアプリケーションアクセストークンを取得する

Confidential Client を使用して単に API テストを行いたい場合は、OpenAPI で認可を取得するのガイドに従って、アプリケーションアクセストークンを手動で作成できます。