すべてのプロダクト
Search
ドキュメントセンター

Identity as a Service:M2M アプリケーション (マシンツーマシン権限管理)

最終更新日:Nov 11, 2025

マシンツーマシン (M2M) 権限管理は、ユーザーの介入なしにアプリケーションが相互作用するための権限を付与する方法です。IDaaS が権限を付与し、ゲートウェイプロダクトが認証を実行します。このプロセスは、呼び出し元のアプリケーションが保護されたリソースにアクセスする方法を制御し、不正なアクセスを防ぎます。

シナリオ

デジタルコラボレーションのシナリオでは、アウトソーシングチームなどのサードパーティパートナーに業務システムの機能を公開する場合、マシン ID に基づく自動化された権限付与メカニズムを確立する必要があります。実装時には、以下のソリューションを使用できます。

  • パートナー受け入れ認証システムの確立: 事前共有鍵や OAuth 2.0 クライアント認証情報フローなどの方法を使用して、各パートナーに独立したマシン ID を割り当てます。

  • 詳細な権限管理ポリシーの採用: API アクセス制御レベルで、非コア業務データインターフェイスのアクセス権限を特定のパートナー ID にバインドします。たとえば、特定の開発チームのみがデータ可視化関連の API サービスを呼び出せるようにシステムを構成できます。

M2M 通信に基づくこの権限付与モデルは、自動化システム間の効率的な相互作用を保証します。また、ID 認証と権限隔離メカニズムを通じてデータセキュリティリスクを低減します。このモデルは、開発コラボレーションやデータダッシュボードの構築など、エンドユーザーの介入を必要としないシステム統合シナリオに特に適しています。

説明

M2M アプリケーション (マシンツーマシン権限管理) 機能を使用するには、EIAM インスタンス (無料または有料) を作成する必要があります。各インスタンスには、2 つの M2M アプリケーションの無料トライアルが含まれています。サービスをアクティベートしていない場合は、[購入してアクティベート] に進んでください。

機能概要

マシンツーマシン (M2M) 権限管理は、ユーザーの介入なしにアプリケーションが相互作用するための権限を付与する方法です。IDaaS が権限を付与し、ゲートウェイプロダクトが認証を実行します。このプロセスは、呼び出し元のアプリケーションが保護されたリソースにアクセスする方法を制御し、不正なアクセスを防ぎます。

典型的なシナリオ

  • 企業が、アウトソーシングシステムやサプライヤーシステムなどの外部システムが呼び出すための内部 API を公開する場合。企業は、呼び出し権限に対して詳細な制御を実装する必要があります。

  • 企業が、マルチクラウド環境などの非クラウド環境からクラウドプロバイダーのリソースにアクセスします。

典型的な顧客

  • API Gateway を使用して API を外部に公開する必要がある顧客。

  • AccessKey (AK) なしで Alibaba Cloud にアクセスする必要があるすべての顧客、およびマルチクラウドの顧客。IDaaS ソリューションは、Alibaba Cloud の AK フリーソリューションを拡張して、ローカル開発環境とマルチクラウドシナリオをカバーします。

主な機能

  • 認証情報管理: IDaaS で呼び出し元アプリケーションの認証情報を管理します。これらの認証情報は、IDaaS から Access Token をリクエストするために使用されます。

  • 権限管理: 呼び出し元アプリケーションを定義し、それらを承認します。

  • 事前統合されたゲートウェイ: API Gateway と統合して、統一されたアプリケーション認証シナリオで認証を実行します。

用語

用語

説明

M2M アプリケーション(マシンツーマシン)

マシンツーマシン権限管理に使用されるアプリケーション。権限付与と認証のプロセスにはユーザーの操作は不要です。API Gateway と統合して API 権限制御を実装したり、Resource Access Management (RAM) と統合して AK フリーアクセスを有効にしたりできます。

説明

M2M アプリケーションは、クライアントとサーバーの両方として機能できます。

クライアント

呼び出し元アプリケーション (OAuth のクライアントに対応)。保護されたリソースへのアクセスを開始するアプリケーションです。

サーバー

呼び出されるアプリケーションまたは保護されたリソース (OAuth のリソースサーバーに対応)。外部リソースエンティティを表します。

オーディエンス識別子

Access Token のオーディエンスを示す aud クレームに対応します。これはサーバーの一意の識別子です。入力後は変更できません。

構成フロー

このトピックでは、API Gateway に焦点を当てた構成フローについて説明します。M2M アプリケーションは、呼び出しエンティティ (クライアント) または呼び出されるエンティティ (リソースサーバー) として機能できます。

説明

M2M アプリケーションは、これらのロールのいずれか 1 つにのみ使用してください。

呼び出しフロー

  1. 呼び出し元アプリケーションがその ID を認証し、Access Token をリクエストします。

  2. IDaaS は、権限情報を含む Access Token を返します。

  3. 呼び出し元アプリケーションは、Access Token を使用して呼び出し先アプリケーションにアクセスします。

  4. 呼び出し先アプリケーション、API Gateway、またはセキュリティトークンサービス (STS) が Token の有効性を検証します。

  5. 呼び出されるアプリケーション、API Gateway、または STS が権限付与を実行し、操作を許可または拒否します。

  6. 応答が返されます。

アプリケーション構成

アプリケーションを追加する

  1. [IDaaS コンソール] にログオンします。次に、IDaaS インスタンスを選択して開き、その管理コンソールに移動します。

  2. [アプリケーション] > M2M Applications を選択し、Add Application をクリックします。

  3. 表示されるダイアログボックスで、[アプリケーション名] フィールドにアプリケーション名を入力し、[今すぐ追加] をクリックします。システムは自動的に M2M アプリケーションの詳細ページにリダイレクトします。

General

  1. Basic Information

    • ID: M2M アプリケーションを識別するためにシステムによって自動的に生成される一意の識別子。

    • Application Name: 管理インターフェイスで異なる M2M アプリケーションを区別するために使用されるカスタム名。

  2. Credential Management。M2M アプリケーションは複数の Credential Type をサポートします。

    1. Client Secret CredentialAdd client_secret をクリックして、クライアント認証情報を生成できます。クライアントは、サーバー API を呼び出す際に、この認証情報を ID 検証と権限付与リクエストに使用します。

      • Client_id: M2M アプリケーションの一意の識別子で、ID サービスとの対話中の認証に使用されます。

      • client_secret: M2M アプリケーションのキーで、ID サービスとの対話中の権限検証に使用されます。

        • View: クリックすると、client_secret の完全な内容が表示されます。

        • Delete: 現在の client_secret を削除します。削除後、新しいキーを追加する必要があります。

        • Specify Validity Period: client_secret の有効期間を構成します。有効期限が切れた後、新しいキーを生成する必要があります。

      説明

      client_secret は安全に保管してください。漏洩した場合は、直ちに古いキーを削除し、新しいキーを追加してセキュリティを確保してください。

    2. Certificates CredentialCertificates Credential タブで、Manually Add をクリックして資格情報作成ページに移動します。

      • シナリオタイプ: デフォルトは PRIVATE_KEY_JWT 認証です。

      • 暗号化タイプ: デフォルトは RSA-2048 です。

      • 公開鍵: 公開鍵の内容をテキストボックスに貼り付けます。公開鍵のフォーマットが -----BEGIN PUBLIC KEY----- で始まり、-----END PUBLIC KEY----- で終わることを確認してください。フォーマットが正しくないと、検証に失敗します。

    3. PCA、OpenID Connect (OIDC)、および PKCS#7 資格情報タイプの構成方法の詳細については、「フェデレーション資格情報の作成」をご参照ください。

  3. Limits on Network ZoneClient Network Zone 構成を使用して、M2M アプリケーションのアクセスソースを制限できます。

    • All: 任意の IP アドレスからの M2M アプリケーションへの呼び出しを許可します。

    • Specific Network Zone: 特定の IP アドレスまたは IP アドレス範囲からの呼び出しのみを許可します。ドロップダウンリストから既存のネットワークスコープを選択する必要があります。

  4. Application Settings。M2M アプリケーションの OAuth 2.0 関連の構成には、以下の情報が含まれます。

    • Issuer: 発行されたトークンのソースを示す一意の識別子。OAuth 2.0 関連 API のベース URI として機能し、認証中にトークンソースが追跡可能で一意であることを保証します。

    • OIDC Discovery Endpoint: 現在の ID サービスがサポートする OIDC プロトコルエンドポイント、認証モード、およびパラメーター仕様に関する情報を取得するために使用される、公開アクセス可能なエンドポイント。

    • OAuth2 Discovery Endpoint: 現在の IDaaS がサポートする OAuth 2.0 権限付与エンドポイントと権限付与モードに関する情報を提供する、公開アクセス可能なエンドポイント。これにより、開発者は OAuth 2.0 フローを正しく構成できます。

    • Token Endpoint: OAuth 2.0 トークンをリクエストして取得するための API エンドポイント。認証コードやクライアント認証情報などのモードを通じて ID 認証情報を発行することをサポートします。

    • Public Key Verification Endpoint: トークン署名を検証するための公開鍵情報を提供する API。動的な公開鍵ローテーションメカニズムをサポートし、シングルサインオン (SSO) プロセス中のタイムリーで安全なトークン検証を保証し、改ざんを防ぎます。

Server Permission Control

サーバー側の権限付与を有効にすると、M2M アプリケーションは呼び出される側 (OAuth 2.0 のリソースサーバー) として機能します。権限を構成し、呼び出し元を承認して、その権限を詳細に制御できます。

説明

この機能を初めて有効にする場合、オーディエンス識別子を追加する必要があります。オーディエンス識別子は、Access Token のオーディエンスを示す aud クレームに対応します。この識別子は、保護されたリソースを保持するサービスを指定します。識別子は追加後に変更できません。

  1. 権限の申請。

    • ResourceServer Identifier: Access Token のオーディエンスを示す aud クレームに対応します。これは、保護されたリソースを保持するサービスです。

    • Server Permission Control: トグルをクリックしてこの機能を有効にします。[権限付与を有効にする] ダイアログボックスで、[オーディエンス識別子] テキストボックスに保護されたリソースのエンドポイントを入力します。これは、クライアントアプリケーションが呼び出すリソースサーバーのアドレスである OAuth 2.0 の aud クレームに対応する必要があります。

    • Custom Principal: カスタムサブジェクトを有効にすると、発行された Access Token のサブジェクトが client_id から <client_id>:<client.activeSubjectUrn> に変更されます。client.activeSubjectUrn は、アプリケーションのフェデレーション認証情報の属性マッピングで設定されます。

  2. 権限管理。[サーバー側の権限付与] を有効にすると、呼び出し元アプリケーションの権限を追加または削除できます。

    Create Scope ボタンをクリックします。[権限の追加] ページで、次の情報を入力します。

    • Scope Type: Machines Scope を選択します (マシン間呼び出しシナリオ用)。

    • Scope Name: 「ユーザー読み取り権限」など、権限の表示名を入力します。この名前は管理コンソールに表示されます。

    • Scope Value: 権限の一意の識別子を入力します。user:read:all のように、resource:operation:condition 形式を使用します。この識別子は、アプリケーション内で一意である必要があります。

    説明
    • リソース: ユーザー、ロール、ファイル、API など、操作対象の特定のオブジェクト。たとえば、user はユーザーリソースを表し、file はファイルリソースを表します。

    • 操作: 読み取り、書き込み、削除など、リソースに対して実行される特定のアクション。たとえば、read は読み取り操作を表し、write は書き込み操作を表します。

    • 条件: 範囲、時間、権限レベルなど、操作のスコープまたは制約。たとえば、all はすべてのユーザーを表し、admin は管理者権限を表します。

  3. 承認済みアプリケーション。[承認済みアプリケーション] リストでは、このリソースサーバーを呼び出すことが承認されているアプリケーションとその割り当てられた権限 (権限の付与や取り消しなど) を表示または管理できます。

Client Permission Management

[アプリケーション] > [クライアント権限管理] をクリックして、このアプリケーションに付与されている権限を表示します。権限は、呼び出されるアプリケーション (リソースサーバー) の [サーバー側の権限付与] セクションで追加および付与されます。

関連するベストプラクティス