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

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

Last updated on February 4, 2026

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

はじめに

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

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

  • IAMクライアントの仕組みとクライアントタイプ
  • AGS管理ポータルでのIAMクライアントと権限の作成・設定方法
  • AGS SDKを使用したアプリケーションアクセストークンの取得方法

前提条件

  • AGS管理ポータルへのアクセス権とIAMクライアント管理の権限が必要です。

    AGS Shared Cloud

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

IAMクライアントの仕組み

AGS IAMクライアントはOAuth 2.0フレームワークを実装しています。 対象のアプリケーションがパブリッシャープラットフォーム用か、特定のゲーム用かに応じて、パブリッシャーネームスペースまたはゲームネームスペースで定義できます。

IAMクライアントタイプ

OAuth 2.0クライアントタイプフレームワークに基づく2種類のクライアントタイプがあります:

  • コンフィデンシャルクライアント:バックエンドでの認証にクライアントIDとクライアントシークレットの組み合わせが必要です。AGSの管理エンドポイントへのサーバー間(S2S)呼び出しが必要な場合は、コンフィデンシャルクライアントを使用します。通常、クライアントに特定のアクセス権限を定義します。クライアントのIDとシークレットへのアクセスを制御できる場合にのみコンフィデンシャルクライアントを使用し、不正なユーザーによるサービスへのアクセスを防止してください。
  • パブリッククライアント:クライアントシークレットを必要とせず、クライアントIDのみで認証します。ユーザーがユーザーアカウントでログインし、AGSのパブリックエンドポイントへのクライアント・サーバー間呼び出しのみが必要なアプリケーションに最適です。この場合、アクセス権限はロール経由でユーザーアカウントから取得されます。

主なIAMクライアントの用途

最もよく使用されるIAMクライアントのパターンは以下のとおりです:

  • ゲームクライアント:ほとんどの場合、ゲームクライアント用のIAMクライアントはパブリックとして設定します。
  • 専用ゲームサーバー:専用サーバー用のIAMクライアントはパブリックまたはコンフィデンシャルとして設定できます。ただし、専用サーバーがユーザーとしてログインしない場合(最も一般的なケース)は、クライアントに権限を割り当てる必要があります。
  • 専用サーバーアップローダー:専用サーバービルドをアップロードするためのIAMクライアントです。アップローダーへのアクセスは通常厳密に制御されるため、コンフィデンシャルとして設定することを推奨します。

IAMクライアントの管理

このセクションでは、IAMクライアントの作成方法とクライアントへの権限の追加方法について説明します。

IAMクライアントの作成

ご利用のAGS階層に応じた手順に従ってください。

  1. AGS管理ポータルで、ネームスペースに移動します。

  2. サイドバーで、Game Setup > Games and Apps > IAM Clientsを選択します。

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

    Shared CloudでのIAMクライアント作成フォーム

  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 URI、およびDescriptionフィールドがテンプレートによって自動入力されます。

      注記

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

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

      • Client Configuration

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

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

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

          警告

          クライアントシークレットは安全な場所に保管してください。クライアント作成後は表示・アクセスできなくなります。

        • Redirect URI

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

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

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

          注記

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

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

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

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

        スコープサービス
        commercePlatform
        Season Pass
        accountBasic
        GDPR
        IAM
        Legal
        socialAchievement
        Chat
        Cloudsave
        Group
        Leaderboard
        Lobby
        Matchmaking
        Session
        Session Browser
        Statistics
        analyticsTelemetry
      • 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クライアントに権限を追加し始めます。クライアントに追加する権限を見つけます。次に、各権限について、持たせたいアクション(ReadCreateUpdate、および/またはDelete)のボックスにチェックを入れます。ナビゲーションを簡単にするには、Hide/Show unselected permissionsをクリックします。このステップをスキップして、ステップ5に進んでIAMクライアントを作成できます。IAMクライアントの権限は後で追加および編集できます。IAMクライアント権限を追加および編集するを参照してください。

      注記

      パブリックIAMクライアントを作成している場合、このセクションはフォームに表示されません。コンフィデンシャルIAMクライアントにのみ権限を追加できます。

  5. Createをクリックします。新しいIAMクライアントが作成され、編集できないシステム生成されたクライアントIDとともにIAMクライアントリストに追加されます。IAMクライアントへの権限の追加に進みます。

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

  1. 管理ポータルのサイドバーで、Game Setup > Games and Apps > IAM Clientsに移動します。IAM Clientsページが表示されます。
  2. IAMクライアントリストから、編集するIAMクライアントを見つけて、そのIDをクリックして詳細を表示します。
  3. IAMクライアントのDetailsタブで、編集するフィールドの横にある編集アイコンをクリックします。
  4. 必要に応じて情報を編集し、チェックマークをクリックして変更を保存します。

IAMクライアント権限を追加および編集する

AGS管理ポータルで、既存のコンフィデンシャルIAMクライアントの権限を追加および編集できます。

IAMクライアントの権限を追加および編集するには、次の手順に従います:

  1. AGS管理ポータルで、ネームスペースに移動します。

  2. サイドバーで、Game Setup > Games and Apps > IAM Clientsを選択します。IAM Clientsページが表示されます。

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

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

  5. フォームで、Permissionsセクションまでスクロールダウンします。

  6. 追加または編集する権限を見つけます。追加または削除するアクション(ReadCreateUpdate、および/またはDelete)のボックスにチェックを入れます。ナビゲーションを簡単にするには、Hide/Show unselected permissionsをクリックします。

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

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

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

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

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...");