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

Identity as a Service:AK フリーアクセス設定プロセス (Alibaba Cloud RAM)

最終更新日:Jul 15, 2026

このトピックでは、Alibaba Cloud Resource Access Management (RAM) を使用して M2M (マシンツーマシン) アプリケーションの AK フリーアクセスを設定し、STS 認証情報を取得する方法について説明します。

前提条件

OIDC アイデンティティプロバイダー (IdP) の作成

  1. RAM 管理者として RAM コンソール にログインします。

  2. 左側のナビゲーションペインで、統合管理 > SSO を選択します。

  3. ロールベースの SSO ログイン方式 タブで [OIDC] タブをクリックし、IdP の作成 をクリックします。

  4. IdP の作成 ページで、アイデンティティプロバイダーのパラメーターを設定します。

    パラメーター

    説明

    [ID プロバイダー名]

    名前は Alibaba Cloud アカウント内で一意で、RAM の命名規則に準拠する必要があります。IDaaS とは関連付けられていません。

    [発行者 URL]

    • 発行者 URL は、外部アイデンティティプロバイダー (IdP) が M2M アプリケーションに割り当てる一意の識別子です。OAuth 2.0 などのプロトコルは、この URL を使用してトークンのソースを検証します。

    • Alibaba Cloud IDaaS はこの URL を使用して、外部 IdP からのトークンを検証します。この URL は、IDaaS の M2M クライアントアプリケーションの Issuer フィールドに対応します。

    [フィンガープリント]

    • 発行者 URL を入力した後、[Get Fingerprint] をクリックできます。Alibaba Cloud は発行者 URL にアクセスして、フィンガープリントを自動的に計算します。オンプレミスデバイス (例えば、OpenSSL を使用) でもフィンガープリントを計算し、Alibaba Cloud が計算したフィンガープリントと比較することを推奨します。

    • フィンガープリントが一致しない場合、発行者 URL が侵害されている可能性があります。発行者 URL を検証し、正しいフィンガープリントを入力する必要があります。

    説明

    IdP 証明書をローテーションする予定がある場合は、ローテーションの前に Alibaba Cloud の OIDC アイデンティティプロバイダー設定に新しい証明書のフィンガープリントを追加してください。証明書をローテーションする前に、少なくとも 1 日待ってください。新しい証明書を使用して STS 認証情報を取得できることを確認した後、古いフィンガープリントを削除できます。

    [クライアント ID]

    • この一意の識別子は、アプリケーションを外部 IdP に登録するときに生成されます。IdP は、このクライアント ID を OIDC トークンの aud クレームに含める必要があります。安全なロールの引き受けを確実にするために、RAM は STS 認証情報を要求する際に、トークン内の aud クレームがこのクライアント ID と一致することを検証します。

    • 1 つの OIDC アイデンティティプロバイダーは、最大 50 個のクライアント ID に対応しています。これは、複数のアプリケーションが Alibaba Cloud リソースにアクセスする必要があるシナリオに適しています。

    • M2M (マシンツーマシン) アプリケーションシナリオでは、クライアント ID は、サーバー間認証のために IDaaS M2M アプリケーションで設定された オーディエンス に対応します。

    [最も早い発行日時の制限]

    RAM は、この時刻より前に発行された OIDC トークンを拒否します。デフォルト: 12 時間。有効範囲: 1〜168 時間。

    [説明]

    アイデンティティプロバイダーの説明。

  5. IdP の作成 をクリックします。

OIDC アイデンティティプロバイダーロールの作成

  1. RAM コンソールに移動し、[Roles] > ロールの作成 > [Identity Provider] > エディターを切り替え を選択します。

  2. ポリシーエディターページで、[Identity Provider] を追加します。

    [Visual editor] タブをクリックします。サブジェクトタイプに [Identity Provider] を選択し、[Add] をクリックします。

  3. プリンシパルの追加 ダイアログボックスで、作成した[アイデンティティプロバイダー]を選択し、OK をクリックします。

    [Identity provider type][OIDC] に設定します。

  4. アイデンティティプロバイダーを追加すると、oidc:issoidc:aud の条件がデフォルトで生成されます。これらの条件を編集または削除したり、新しい条件を追加したりできます。

    2 つのデフォルトの条件キーは oidc:issoidc:aud で、演算子はいずれも StringEquals です。

  5. 次の例は、sub の条件式を追加する方法を示しています。ビジネス要件に基づいてこの条件を追加できます。条件を設定した後、OK をクリックします。

    説明
    • [Condition value]:作成した M2M アプリケーションサーバーの クライアント ID を入力します。M2M アプリケーションの追加方法やオーディエンス識別子などの情報の表示方法については、「M2M アプリケーション (マシンツーマシン権限管理)」をご参照ください。

    • 条件式の詳細については、「アクセスポリシーの要素」をご参照ください。

    • RAM OIDC がサポートする条件キーは、oidc:issoidc:aud、および oidc:sub の 3 つのみです。

    [Operator] ドロップダウンリストで、StringEquals を選択します。

  6. OK をクリックします。[Create Role] ダイアログボックスで、ロール名を入力し、OK をクリックします。

権限の付与

必要に応じて、既存のロールに 権限の付与 を追加できます。

ロールの [Permissions] タブで、[Grant Permission] をクリックします。[Authorized Scope][Alibaba Cloud Account] に設定します。アクセスポリシーの検索ボックスに idaas と入力し、AliyunYundunIdaasReadOnlyAccess システムポリシーを選択して、[OK] をクリックします。

M2M トークンの取得

curl コマンドの使用

  • 次のプレースホルダーをアプリケーションの設定値に置き換えて、curl コマンドを実行し、トークンを取得します。

    # <YOUR_SERVER_ISSUER_ENDPOINT>: 発行者。「リソースサーバーアプリケーション > 一般設定 > 発行者」でエンドポイントを見つけ、プレースホルダーを置き換えます。
    # <YOUR_APP_CLIENT_ID>: クライアント ID。「クライアントアプリケーション > 一般設定 > 認証情報管理」で client_id を見つけ、プレースホルダーを置き換えます。
    # <YOUR_APP_CLIENT_SECRET>: クライアントシークレット。「クライアントアプリケーション > 一般設定 > 認証情報管理」で client_secret を見つけ、プレースホルダーを置き換えます。
    # <YOUR_SERVER_AUD_IDENTIFIER>: サーバー側のオーディエンス識別子。「リソースサーバーアプリケーション > サーバー側の権限付与 > 権限アプリケーション > オーディエンス識別子」でオーディエンス識別子を見つけ、プレースホルダーを置き換えます。
    #
    curl --location --request POST 'https://<YOUR_SERVER_ISSUER_ENDPOINT>.aliyunidaas.com/api/v2/iauths_system/oauth2/token' \
         --header 'Content-Type: application/x-www-form-urlencoded' \
         --data-urlencode 'client_id=<YOUR_APP_CLIENT_ID>' \
         --data-urlencode 'client_secret=<YOUR_APP_CLIENT_SECRET>' \
         --data-urlencode 'grant_type=client_credentials' \
         # .all は Alibaba Cloud IDaaS の事前定義されたスコープ識別子です。指定されたオーディエンスで利用可能なすべての権限を要求します。
         --data-urlencode 'scope=<YOUR_SERVER_AUD_IDENTIFIER>|.all'
  • リクエストが成功すると、次のようなレスポンスが返されます。

    xxx ~ % curl --location --request POST 'https://xxx.aliyunidaas.com/api/v2/iauths_system/oauth2/token' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'client_id=app_xxx4y54' \
        --data-urlencode 'client_secret=CSHoxxx5ZQ6' \
        --data-urlencode 'grant_type=client_credentials' \
        --data-urlencode 'scope=xxx.all'
    {
        "token_type": "Bearer",
        "access_token": "eyJrxxxi5rg",
        "expires_in": 3600,
        "expires_at": 1741336113
    }

Postman の使用

  • パラメーターをアプリケーションの設定値に置き換えて、Postman でリクエストを送信し、トークンを取得します。

    POST リクエストを https://<IDaaS インスタンスドメイン>.aliyunidaas.com/api/v2/iauths_system/oauth2/token に送信します。リクエストボディで x-www-form-urlencoded を選択し、client_idclient_secretgrant_type (値は client_credentials)、scope のパラメーターを含めます。リクエストが成功 (200 OK) すると、次の形式の JSON レスポンスが返されます。

    {
      "token_type": "Bearer",
      "access_token": "eyJrxxx...xxxDiCw",
      "expires_in": 3600,
      "expires_at": 1741331524
    }

    access_token の値は Bearer トークンで、3,600 秒間有効です。

STS トークンの取得

説明

Alibaba Cloud STS に慣れていない場合は、「STS とは」をご参照ください。

OpenAPI Explorer の使用

  • OpenAPI Explorer に移動し、AssumeRoleWithOIDC API を見つけます。

    説明

    このトピックはデモンストレーションです。AssumeRoleWithOIDC API の詳細については、「AssumeRoleWithOIDC - OIDC ロールベース SSO のロールを引き受けるための一時的な ID 認証情報を取得する」をご参照ください。

  • 必須パラメーターを入力し、[Initiate Call] をクリックして STS 認証情報を取得します。

    重要
    • OIDCProviderArn: OIDC アイデンティティプロバイダーロールの 基本情報 ページに移動します。信頼ポリシー から値を取得します。

    • RoleArn: OIDC アイデンティティプロバイダーロールの 基本情報 ページに移動し、ARN をコピーします。

    • OIDCToken: M2M トークンを入力します。

    • RoleSessionName: ロールセッションを識別するためのカスタム文字列です。

関連ドキュメント