Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • Heroku Enterprise
  • Enterprise Team
  • ID フェデレーションのための Heroku Enterprise Team の設定

ID フェデレーションのための Heroku Enterprise Team の設定

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2024年03月20日(水)

Table of Contents

  • 立ち上げ
  • Heroku Enterprise または Heroku Teams を設定する
  • ID プロバイダーを設定する
  • ID フェデレーションされたチームでユーザーを管理する

SSO は Heroku Teams​ および Heroku Enterprise​ の顧客にのみ提供されています。

Heroku Teams​ と Heroku Enterprise Teams​ は、SAML 標準を実装することによって ID フェデレーションをサポートしています。この機能を使用すると、既存の ID 管理ソリューションを使用してチームへのアクセスを管理できます。このインテグレーションでは、Heroku はサービスプロバイダーであり、ID プロバイダー (IdP) にアサーションを要求して受信する消費エンティティです。

この設定には 2 つの部分があります。IdP に関する情報を使用してチームを設定します。また、認証に IdP を使用するサービスプロバイダーとして、Heroku からリクエストを受け付け、応答するようにIdP を設定する必要があります。

このインテグレーションは標準に基づいているため、さまざまな IdP が同じ設定の詳細を必要としたり、提供したりしますが、それらを設定および取得するための実際の手順は異なります。この記事では、Salesforce Identity を IdP として使用する設定について説明します。

立ち上げ

チームを作成すると、一部のユーザーのみが管理者として追加されます。管理者は、まず Heroku のユーザー名とパスワードを使用してログインしてから、ID フェデレーションを設定する必要があります。チームが ID フェデレーション用に設定された後、ID プロバイダー経由で正常に認証されたユーザーはメンバーとして自動的に追加されます。Enterprise チームの管理者は、アプリケーション権限​を使用して、特定のアプリに対する追加の権限をユーザーに付与できます。Enterprise チーム以外のユーザーには静的アプリケーション権限​が与えられます。

Heroku Enterprise または Heroku Teams を設定する

必要な設定情報

各チームは独立したサービスプロバイダーとして設定されます。チームをリライングパーティーとして設定するには、ID プロバイダーからの次の情報が必要になります。

  • ログインリダイレクト URL: ID プロバイダーが認証のリダイレクトを受信するために使用する URL です。ユーザーがチームにログインするか、チームによって所有されているリソースにアクセスしようとすると、この URL にリダイレクトされます。

  • X509 IdP 証明書: Heroku はこの証明書を使用して、IdP から送信されたアサーションの正当性を検証します。この証明書は、IdP が Heroku に送信するアサーションに署名するために使用する鍵のペアの公開キーを表します。

Salesforce Org からの必要な設定の取得

ID フェデレーションは SAML 2.0 標準に基づいており、さまざまな ID プロバイダーを使用して設定できます。Salesforce Identity は、エンドツーエンドの設定を示す例としてのみ使用されています。

Salesforce Enterprise Edition 以上を使用している既存の顧客には、その Salesforce 組織の一部として Salesforce Identity がすでに存在しています。まず、Salesforce Org にログインし、上部のメニューバーで [設定] をクリックします。

Salesforce システム管理者の設定

Salesforce Org が ID プロバイダーとして設定されていることを確認します。前提条件として、組織では [管理] > [ドメイン管理] > [マイドメイン] でカスタムドメインが設定されている必要があります。また、[管理] > [セキュリティのコントロール] > [証明書とキーの管理] で証明書を作成しておく必要があります。

ここで、[セキュリティのコントロール] の下の [ID プロバイダー] を選択します。ID プロバイダーが有効になっていない場合は、[ID プロバイダーを有効化] ボタンをクリックし、作成した証明書を使用して ID プロバイダーを設定します。

Salesforce Identity プロバイダーの設定

[メタデータのダウンロード] ボタンをクリックし、IdP メタデータを XML ファイルとしてダウンロードします。このファイルには、前に概説した設定の詳細がすべて含まれています。サンプルファイルを次に示します。

<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://sushi-dev-ed.my.salesforce.com" validUntil="2025-09-09T23:17:44.942Z">
   <md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
      <md:KeyDescriptor use="signing">
         <ds:KeyInfo>
            <ds:X509Data>
               <ds:X509Certificate>MIIEZDCCA0ygAwIBAgIOAU+0UEpTAAAAAECZ07YwDQYJKoZIhvcNAQELBQAwejESMBAGA1UEAwwJc3VzaGlfaWRwMRgwFgYDVQQLDA8wMEQ2MTAwMDAwMDZ0UGQxFzAVBgNVBAoMDlNhbGVzZm9yY2UuY29tMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNBMB4XDTE1MDkwOTIyNTMyNFoXDTE3MDkwOTEyMDAwMFowejESMBAGA1UEAwwJc3VzaGlfaWRwMRgwFgYDVQQLDA8wMEQ2MTAwMDAwMDZ0UGQxFzAVBgNVBAoMDlNhbGVzZm9yY2UuY29tMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoibkw0wAIvfuG9DZfDCpVrbizZSCrBzdHaCJ4II7/YXjH1M+tWp9L7vcXkegpPRWGlXOrYl+A6k96MSwdLU3d2HGJmrhz+Pur0rq4vpOD3cV4zh9fDtICacL0F9QLMOAsIT0ct1LgEh6usKvmNE1Z5DPfaZAaKAYdYepBDQMAT9ZIm1s4jqMzyQfAQBnVBOxIL6F9GU5Ki40yygRUc0YzbeKEqQR7WxfGACDCNXbm/0drN5Vi6YVtRrGQXIBSyAly72gOowoGBYNHhzsQEROxrKTKqdpjF4JcmMdU4qTI8++zNcJ6YZDdfx6p2+L6wWclv9tlkGsMcpC5yKuV+Pg7wIDAQABo4HnMIHkMB0GA1UdDgQWBBSO7PhFdpH72WQUpMXqmoqziOaClzAPBgNVHRMBAf8EBTADAQH/MIGxBgNVHSMEgakwgaaAFI7s+EV2kfvZZBSkxeqairOI5oKXoX6kfDB6MRIwEAYDVQQDDAlzdXNoaV9pZHAxGDAWBgNVBAsMDzAwRDYxMDAwMDAwNnRQZDEXMBUGA1UECgwOU2FsZXNmb3JjZS5jb20xFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xCzAJBgNVBAgMAkNBMQwwCgYDVQQGEwNVU0GCDgFPtFBKUwAAAABAmdO2MA0GCSqGSIb3DQEBCwUAA4IBAQCALrk9rW+YGd1h6dBBNMP3IwYnmOFHz1e2pVzehu7PZlkZbKmQOvHObj/OCsUxvGiooTMDLUGHZdCKHLoM6+O5MPFGYGPzJuU/+jyD7OSzYsA+k29B6AY2J9eWFifdjlmgLHql2xgL+BFVhINE3xTcn/DXAwm0hj02TWK3xv1ArqX0IH6/s7pGtREfLMQA1Amo7m2SqHo9i0sF5/cinfn+xGJTrzc7PnUwmVcLxx2r5m6+DJ5GnChvwLQoUa33K+OXckiVyEwVPokpb4RGMbugWuBU7AEINrqSl7PzYhvkVZKVztNTrc3MiceIGJCcYpJpB7fviYW+KZoz8T5WlXc3</ds:X509Certificate>
            </ds:X509Data>
         </ds:KeyInfo>
      </md:KeyDescriptor>
      <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
      <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://sushi-dev-ed.my.salesforce.com/idp/endpoint/HttpPost"/>
      <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://sushi-dev-ed.my.salesforce.com/idp/endpoint/HttpRedirect"/>
   </md:IDPSSODescriptor>
</md:EntityDescriptor>

urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect​ バインディングを含む SingleSignOnService​ 要素は、ログインリダイレクト URL を表しています。

HTTP-POST URL ではなく、HTTP-Redirect URL を使用することを忘れないでください。

[証明書のダウンロード] ボタンをクリックして、証明書を個別にダウンロードすることもできます。この方法では、書式が正しく保持されるほか、ダウンロードされたファイルの内容を Heroku のチームの設定ページに簡単にカットアンドペーストできるため推奨されます。

セットアップ

必要なすべての設定情報を収集したら、Heroku Dashboard でチームの Settings (設定) タブに移動します。

Identity Federation (ID フェデレーション) セクションで、設定を行うボタンをクリックします。ログインリダイレクト URL (https://balansubr-dev-ed.my.salesforce.com/idp/endpoint/HttpRedirect​ など) をカットアンドペーストします。上記でダウンロードしたメタデータファイル内の IdP 証明書は、書式設定してから設定に追加する必要があります。代わりに、ダウンロードした証明書ファイルを使用します。それをテキストエディタで開き、その内容を IdP certificate (IdP 証明書) テキストエリアにカットアンドペーストします。

ID フェデレーションの設定

保存した構成を Heroku が検証すると、設定が完了します。これで、ユーザーが IdP 経由でチームにログインする時に使用する必要のある特定の URL が表示されるようになります。 ID フェデレーション組織のログイン URL

ID プロバイダーを設定する

必要な設定情報

通常、新しいサービスプロバイダーを登録するには ID プロバイダーに次の情報が必要です。ID フェデレーションが構成されたチームに表示される Heroku ログイン URL から必要な URL を構築できます。

  • 開始URL: ログインに使用する URL。https://sso.heroku.com/saml/<your team name>/init​ のような形式を取ります。この URL は通常、ユーザーが内部ポータルのリンクをクリックして Heroku にアクセスする、IdP 主導のログインシナリオに使用されます。

  • エンティティ ID: Heroku が認証のためにユーザーをリダイレクトするときに IdP に送信する一意の識別子。すべてのチームが独自のエンティティ ID を受け取り、https://sso.heroku.com/saml/<your team name>​ の形式を取ります。

  • ACS (アサーションコンシューマーサービス) URL: IdP はこの URL を使用してアサーションをポストします。これは https://sso.heroku.com/saml/<your team name>/finalize​ の形式を取ります。

  • 発行者: アサーションを発行するエンティティ。Salesforce Org では、発行者はデフォルトで Salesforce Org のドメイン URL になります。これは変更しないでおくことができます。

  • 名前 ID 形式: サービスプロバイダー (Heroku) と IdP がユーザーレコードを一意に表すために使用する形式。Heroku は、IdP に記録されているユーザーのメールアドレスである urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress​ を使用します。Heroku は、このメールアドレスを使用して、IdP に正常に認証されるユーザーの一意の内部ユーザーレコードを作成します。

  • 件名タイプ: このフィールドは、ユーザーの ID がアサーションでどのように記述されるかを示します。Heroku は、このフィールドが IdP に記録されているユーザーのユーザー名であることを要求します。

  • リクエスト署名証明書 (オプション): これは、IdP がサービスプロバイダーからの認証リクエストを検証するために使用する証明書です。Heroku は認証リクエストに署名しません。

Salesforce Org をチームの IdP として設定する

このセクションでは、チームを接続アプリケーションとして設定することで、リライングサービスプロバイダーとして構成します。Salesforce 組織にログインし、一番上のメニューバーにある 設定 をクリックして管理者の設定ページに移動します。

ID フェデレーションは SAML 2.0 標準に基づいており、さまざまな ID プロバイダーを使用して設定できます。Salesforce Identity は、エンドツーエンドの設定を示す例としてのみ使用されています。

Salesforce システム管理者の設定

チームをサービスプロバイダーとして登録する

[セキュリティのコントロール] の下の [ID プロバイダー] を選択します。

[サービスプロバイダー] セクションで、サービスプロバイダーを表す新しい接続アプリケーションを作成できるリンクをクリックします。また、サイドバーの [ビルド] で [作成] > [アプリ] の順に選択し、[接続アプリケーション] セクションで [新規] を選択してこのページに移動することもできます。

新しいコネクテッドアプリの作成

[新規接続アプリケーション] ページで、サービスプロバイダー (この場合は Heroku チーム) に関する情報を入力します。すべての SAML 関連の構成は [Web アプリケーション設定] セクションにあります。[SAML の有効化] チェックボックスがオンになっていることを確認します。

コネクテッドアプリの設定

IdP を設定すると、リクエストの署名を検証し、SAML 応答を暗号化できます。これらのチェックボックスはオフのままにします。[保存] をクリックすると、Heroku がサービスプロバイダーとして設定されます。チームへのすべてのログイン要求は Salesforce Org にリダイレクトされるようになりました。Heroku に複数のチームがある場合は、各チームに独自の SAML 構成があるため、それぞれを個別の接続アプリケーションとして設定する必要があります。

ユーザープロファイルでチームへのアクセスを有効にする

接続アプリケーションをユーザーに割り当てられたプロファイルに追加する必要があります。チームを表す接続アプリケーションへのアクセスを許可するように割り当てられたプロファイルが設定されているユーザーのみが、IdP で正常に認証されます。

  1. [ユーザーの管理] で、[プロファイル] をクリックします。
  2. チームにアクセスできるようにする開発者やその他のユーザーに割り当てるプロファイルの横にある [編集] をクリックします。
  3. [接続アプリケーションへのアクセス] セクションで、チームに対応する接続アプリケーションがオンになっていることを確認します。異なるプロファイルで同じ接続アプリケーションを有効にできます。

ユーザープロファイルへのコネクテッドアプリの追加

接続アプリケーションとして追加したチームは、アプリケーションランチャーにも表示されます。ログインしているユーザーがそれをクリックすると、ユーザー名とパスワードを再び指定しなくてもチームの Heroku ダッシュボードにログインします。

ID フェデレーションされたチームでユーザーを管理する

ID フェデレーションされたチームの動作は、ユーザーがどのようにプロビジョニングおよび管理されるかによって異なります。

既存ユーザー

Heroku の既存のチームで ID フェデレーションを有効にできます。チームの Heroku ログイン URL を現在のメンバーと共有し、その URL 経由でログインするように指示できます。

既存のチームユーザー (管理者を含む) が IdP 経由で初めてログインすると、そのユーザーはフェデレーションユーザーに完全に切り替えられます。Heroku のユーザー名とパスワードを使用してチームにログオンすることはできなくなります。この切り替えは、IdP によって提供されたメールアドレスが、Heroku に直接ログインするために使用するメールアドレスに一致するユーザーに対して自動的に実行されます。これらのユーザーは、引き続きそのメールアドレスと Heroku パスワードを使用して Heroku にログインし、自分の個人用アプリにアクセスできますが、IdP 経由でログインしない限り、チームにはアクセスできなくなります。

新規ユーザー

Heroku と IdP の両方で ID フェデレーションの設定が完了したら、この URL をチームの対象ユーザーに配布するか、シングルサインオンポータルなどの共有された領域に置くことができます。IdP 経由で正常にログインしたユーザーは、チームに自動的に追加​されます。

チームにアクセスできるユーザーを制限する場合は、ID プロバイダー固有の機能を使用してそれを適用できます。たとえば、Salesforce Identity を使用する場合、チーム用に設定された接続アプリケーションを介して、異なるユーザーに異なるプロファイルを割り当て、Heroku のチームにアクセスできるユーザーを決定できます。

混在モード

デフォルトでは、ID フェデレーション用に設定されたチームには、IdP 経由でログオンするメンバーと、Heroku のユーザー名とパスワードを使用して直接ログオンするメンバーを含めることができます。このオプションにより、IdP にユーザーレコードが存在しない可能性がある一時的な業者などのユーザーをサポートできます。

IdP 経由のアクセスのみを許可するには、チームからすべての非フェデレーションユーザーを削除します。チームの Access (アクセス) タブには、どのユーザーがフェデレーションされているかが表示されます。IdP 経由でログインしているユーザーと、Heroku のユーザー名とパスワードを使用しているユーザーが表示されます。後者の一連のユーザーの場合は、その MFA ステータスも表示されます。

組織のアクセスページ

フェデレーションされていないユーザーをすべて削除すると、IdP が利用できなくなった場合に誰もチームにアクセスできなくなります。このシナリオを防ぐには、特殊な管理者ユーザーを追加し、そのユーザーを非フェデレーションのままにします。必要に応じて、IdP 関連の問題を解決するまでこのユーザーとして直接ログインし、チームの ID フェデレーションを無効にできます。

関連カテゴリー

  • Enterprise Team
アプリアクセス許可と許可されるアクション アプリアクセス許可と許可されるアクション

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices