SAML アサーションを使用して API ベアラートークンを取得する方法

このトピックでは、Anypoint Platform からベアラートークンを取得する方法について説明します。SAML 2.0 を使用するように設定されている ID プロバイダーを使用している場合、組織内の統合ユーザーはベアラートークンを使用してプラットフォーム API にアクセスできます。

SAML アサーションを使用して API ベアラートークンを取得できるのは、IdP が開始したシングルサインオンのみです。サービスプロバイダーが開始した SSO では、未承諾のアサーションはサポートされていません。

ベアラートークンにより、ユーザーがアクセスする権限を持つプラットフォーム API へのアクセス権が提供されます。各ベアラートークンは、API のロールおよび権限が付与されている特定のユーザーに関連付けられています。ユーザーがアクセスする権限を持たない API にアクセスしようとすると、API は ​401 Unauthorized​ エラーを返します。

ベアラートークンの有効性は、[Default Session Timeout (デフォルトのセッションタイムアウト)] プロパティについて定義された値によって決まります。これは、ルート組織のプロパティで設定されます。詳細は、​組織の設定​についての説明を参照してください。

SAML アサーションを使用して API ベアラートークンを取得するには、次の手順を実行します。

  1. ブラウザーで SAML 応答を表示する方法​の説明にあるように、ID プロバイダーの SAML 応答を取得します。

    次のステップで使用するためにこの応答を記録します。

  2. 次の ​curl​ コマンドを実行してベアラートークンを取得します。この例の ​<SAML_RESPONSE>​ は、前のステップで取得した SAML 応答に置き換えます。

    SAML 応答は Base64 でエンコードされている必要があります。 SAML 応答文字列が URL エンコードされている場合、​curl​ コマンドを実行する前に文字列をデコードする必要があります。
    curl -X POST \
      https://anypoint.mulesoft.com/accounts/login/:org-domain/providers/:providerId/receive-id \
      -H 'Content-Type: application/json' \
      -H 'X-Requested-With: XMLHttpRequest' \
      -d '{
        "SAMLResponse": "<SAML_RESPONSE>"
    }'

ベアラートークンを取得したら、組織内の統合ユーザーはこれを使用して API にアクセスできます。たとえば、次のいずれかの方法を使用して API にアクセスできます。

  • Anypoint CLI​: ユーザーは ​-bearer​ オプションを ​anypoint-cli​ コマンドに指定して、プラットフォーム API にアクセスできます。詳細は、​「Anypoint CLI」​を参照してください。

  • curl​: ユーザーは次で示しているように API エンドポイントにアクセスするときにベアラートークンを渡してプラットフォーム API にアクセスできます。

    curl -X GET \
      https://anypoint.mulesoft.com/accounts/api/me \
      -H 'Authorization: Bearer <BEARER_TOKEN>'