進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

Heroku Enterprise の詳細を知る

学習の目的

この単元を完了すると、次のことができるようになります。

  • Heroku Enterprise Team でユーザアクセスを管理する。
  • アプリケーションに対するアクセス権を細かく調整してユーザに付与するために使用できる権限セットを説明する。
  • Heroku Connect アドオンで Salesforce 組織データを Heroku Enterprise と同期できるようにする方法を説明する。
  • Private Spaces の機能の 2 つの使用事例を挙げる。

Heroku の最大活用

これまで、Heroku のしくみ、その構成要素、および Heroku プラットフォームを使用するのに適した状況について説明してきました。Heroku Enterprise は、Heroku プラットフォームにさらなる機能を追加します。この単元では、Heroku Enterprise を最大限に活用できるようにするその他の機能を見ていきます。

ユーザ管理、アプリケーションのアクセス制御、および統合された請求について説明します。また、Heroku Enterprise で使用できるいくつかの特殊機能 (Heroku Connect、シングルサインオン、Private Spaces) や、詳細を確認したり、テクニカルサポートが必要な場合にアクセスすべき場所についても説明します。

Heroku Enterprise Team

Heroku Enterprise を使用する組織は、関連するアプリケーションをグループにまとめて、請求、ユーザ管理、アプリケーションアクセス、アプリケーション開発を簡略化できる必要があります。Heroku Enterprise Team の構造では、これ以上のことを実現できます。

ユーザ管理

Heroku Enterprise Team では、アクセス権限のあるすべての Heroku ユーザが 1 か所で管理されます。[アクセス] タブでは、Enterprise Team へのアクセス権または Enterprise Team 内の特定のアプリケーションへのアクセス権の付与や取り消しを行うことができます。また、Heroku アカウントで 2 要素認証を有効にしているユーザを簡単に確認することもできます。次に、csa-training というサンプル組織の [アクセス] タブのスクリーンショットを示します。

Heroku 組織の [アクセス] タブ

Heroku Enterprise Team 内で 3 つのアクセスレベル (システム管理者、メンバー、閲覧者) を付与できます。

システム管理者は最も高いアクセスレベルで、Enterprise Team 全体を完全に管理できます。メンバーの追加や削除、ユーザアクセス権の編集、請求情報の表示を行うことができ、Enterprise Team 内のすべてのアプリケーション (アクセスを防止するためにロックされているアプリケーションも含む) に対する権限があります。スクリーンショットを見るとわかるように、mrowley@heroku.com には csa-training Enterprise Team のシステム管理者アクセス権があります。

次のアクセスレベルはメンバーで、Enterprise Team へのアクセス権があるすべてのメンバーとシステム管理者を表示できます。アプリケーションをアカウントに移行したり、Enterprise Team のアプリケーションのリストを表示したり、アプリケーションを作成したりできます。また、メンバーには Enterprise Team 内のアプリケーションに対する特定の権限を割り当てることもできます。メンバーは、ロックされたアプリケーションに参加できません。参加するには、明示的にアクセス権を付与する必要があります。csa-training Enterprise Team では、gnokes@heroku.com にメンバーアクセス権があります。また、このユーザには 2 要素認証を設定する必要があることがわかります。

3 つ目のレベルは閲覧者です。閲覧者は、Enterprise Team に含まれない外部 Heroku ユーザで、Enterprise Team 内の 1 つ以上のアプリケーションへのアクセス権が付与されています。閲覧者アクセス権の主な用途は、請負業者が社内のメンバーと Heroku プラットフォームのアプリケーションで連携できるようにすることです。csa-training Enterprise Team には、それぞれ 1 つのアプリケーションへのアクセス権がある 2 人の閲覧者がいます。これらの閲覧者には、チームレベルのアクセス権はありません。

詳細なアクセス制御

Heroku Enterprise Team では、プラットフォームのアプリケーションに対してユーザが実行できる操作を詳細に管理できます。Heroku を使用すると、企業で柔軟性とセキュリティを確保できるだけでなく、詳細なアクセス制御も実現できます。

アプリケーションの操作方法を制御する権限セットをユーザに割り当てることができます。

権限セット 機能
参照 アプリケーションの存在の確認やアプリケーションの詳細の表示を行います。
リリース コードのリリース、1 回限りの dyno の実行、無料のアドオンの追加または削除、設定変数の表示および編集を行います。
操作 dyno 構成の変更、有効アドオンの追加または削除、アプリケーションの再起動を行います。
管理 ユーザの追加または削除、アプリケーションの移行、アプリケーションの削除を行います。

各レベルで提供されるボタンやスイッチの詳細を調べるには、Heroku 開発センターの役立つアプリケーション権限早見表を確認してください。

Heroku Enterprise ダッシュボードでどのように表示されるのかを確認してみましょう。次に、csa-training Enterprise Team 内の heroku-101-demo-app というアプリケーションレベルの [アクセス] タブのスクリーンショットを示します。アプリケーションには、最上位レベルの Enterprise Team のアクセス制御とは異なる独自の [アクセス] タブがあります。

Heroku アプリケーションの [アクセス] タブ

このアプリケーションはロックされています。アプリケーションがロックされている場合、Enterprise Team のシステム管理者とアクセス権が付与されているメンバーのみがアプリケーションに関する情報を表示できます。また、システム管理者と既存の閲覧者のみが他の Enterprise Team のメンバーにアクセス権を付与できます。csa-training Enterprise Team のメンバーのユーザ gnokes@heroku.com は、このアプリケーションの閲覧に招待されています。彼には表示および操作権限セットが付与されています。もう 1 人のユーザ lhartley@heroku.com は、このアプリケーションの閲覧者であり、アプリケーションへのフル権限が付与されています。

[App Members (アプリケーションメンバー)] セクションの下には、Enterprise Team のシステム管理者 (mrowley@heroku.com など) がリストされています。すべての csa-training Enterprise Team のシステム管理者には、このアプリケーションと Enterprise Team の他のすべてのアプリケーションへのアクセス権があります。システム管理者には、常に各アプリケーションのすべての権限も付与されています。

機密性の高いアプリケーションや本番アプリケーションでは、詳細なアクセス制御を使用することで、アプリケーションをロックしてセキュリティを確保しながら、作業の遂行に必要な権限を柔軟にメンバーに付与できます。開発者チームと運用チームは容易に業務を完了でき、セキュリティチームはアクセスがしっかりと制御されていることがわかっているので安心できます。

サードパーティアドオンの使用の制御

Enterprise Team やアプリケーションへのアクセス関連の詳細な制御に加えて、Heroku Enterprise では Enterprise Team でどのアドオンアプリケーションを使用できるのかを管理できます。承認されて、アドオンホワイトリストに追加されているサードパーティサービスのみを使用できるように制限できます。

次のように、Enterprise Team の [設定] タブでアドオンホワイトリスト制御を有効にできます。

アドオンホワイトリスト制御

ホワイトリストを作成し、Enterprise Team 全体で適用する準備ができたら [Enable Add-ons Whitelisting Restrictions (アドオンホワイトリスト制限を有効化)] をクリックします。ホワイトリストに登録されていないアドオンをアプリケーションで使用していると、ホワイトリスト例外が表示されます。ホワイトリスト登録されていないアドオンを使用しているアプリケーションを確認するには、インストールリンクの数値をクリックします。

アドオンホワイトリスト例外

このリストにより、例外が必要なアプリケーションや、変更して Enterprise Team のホワイトリストに準拠させる必要のあるアプリケーションを追跡および管理できます。

年間請求金額と統合された利用状況

Heroku Enterprise では、Heroku プラットフォームの年間コスト (前金) を低く抑えられ、すべてのアプリケーションのリソースを一度に管理することができるため、企業は大喜びします。Enterprise Team のすべてのアプリケーションのリソース使用量は、Enterprise Team のシステム管理者のみがアクセスできる [Usage (利用状況)] タブで収集されます。

次に、csa-training Enterprise Team の [Usage (利用状況)] タブのスクリーンショットを示します。

Heroku Enterprise Team の [Usage (利用状況)] タブ

この Enterprise Team には、最大 $15,000 のアドオン使用量と最大 75 単位/月の dyno 使用量のライセンスがあります。Enterprise Team 全体のリソース使用量が 1 か所で収集されるため、システム管理者は今月のこれまでに Enterprise Team のアプリケーションでどのリソースを使用したのかを簡単に確認できます。

また、前月比のレポートを参照して、Enterprise Team の Heroku の利用状況のトレンドを特定することもできます。次に、2016 年 2 月以降の csa-training Enterprise Team の利用状況を示します。グラフの月にマウスポインタを合せて、実際の値を確認します。

Heroku Enterprise Team の月間利用状況レポート

Heroku Connect

Heroku Connect は、Salesforce 組織から Heroku Postgres データベース (またはその逆) にデータを同期するアドオンです。強力な Heroku プラットフォームから Salesforce 組織のデータにアクセスしたり、そのデータを変更したりできます。Salesforce 組織と Heroku の同期はすばやく行われます。完全なリアルタイムではありませんが、ほぼリアルタイムです。

Salesforce のデータの同期

Heroku Connect は、Salesforce 組織から Heroku にのみデータを同期するように設定したり、双方向で同期するように設定したりできます。そのため、Salesforce 組織データのみを使用する Heroku プラットフォームのアプリケーションや、データを変更してレコードのデータベースに配信するアプリケーションを作成できます。Heroku データを変更すると、自動的に Salesforce ワークフローが開始されて、他の強力な Lightning Platform の機能を利用できます。

Heroku Connect ダッシュボードから、Salesforce 組織から同期するオブジェクトと項目を選択できます。Heroku Postgres データベースにテーブルおよび行として複製されたオブジェクトは、カスタムアプリケーションで使用できます。この強力なアドオンについての詳細は、Heroku Connect 開発センターのドキュメントを参照してください。

迅速かつシームレスなデータアクセス

Heroku Connect には、Lightning Platform API を使用するよりも大きな利点がいくつかあります。まず、必要に応じて Heroku のアプリケーションで直接 API をコールしてデータを読み取る必要がなくなります。Heroku Connect により、Heroku Postgres データベースは自動的に最新の状態が維持されます。API をコールする代わりにデータベースを照会することで、Heroku アプリケーションの大幅な簡略化やプログラミングおよび時間の節約ができ、各要求で何百ミリ秒 (Web アプリケーションの世界では長い時間) の遅延を回避できる可能性があります。また、Heroku Connect アドオンを使用すると、

Heroku のアプリケーション内から Salesforce 組織データを非常に簡単に操作できます。すべての最も有名なオープンソース言語フレームワークには、データストアのデータの入出力を合理化するデータベースドライバとオブジェクトリレーショナルマネージャ (ORM) が用意されています。これらのツールは、Heroku Postgres データベースとシームレスに連携します。Heroku Connect を使用すると、Salesforce 組織データが直接組み込まれているように感じます。

シングルサインオン

多くの組織は、シングルサインオン (SSO) ソリューションを使用して、ユーザ管理を簡略化しています。Heroku Enterprise Team では、外部 ID プロバイダを利用して、Heroku Enterprise プラットフォームを使用するユーザを管理できます。ユーザは 1 つのパスワードを覚えておくだけで済み、慣れ親しんだすべての Heroku アクセス制御は引き続き機能します。

Heroku Enterprise では、Salesforce Identity、Okta、Bitium、Ping ID プロバイダが標準でサポートされます。また、SAML 2.0 に準拠している他の ID プロバイダを使用して、Heroku Enterprise をサービスプロバイダとして設定することもできます。Microsoft Active Directory と Azure Identity のサポートは準備中です。

SSO に関係がある場合は、その機能と設定について、Heroku 開発センターのドキュメントの SSO を参照してください。

Heroku Private Spaces

Heroku Private Spaces は、Heroku Enterprise で使用できる最も優れた機能の 1 つです。作成した各非公開スペースは、Heroku プラットフォーム内の完全にネットワークが分離された環境です。ここではアプリケーションを実行できます。つまり、Heroku のアプリケーションの開発および管理を簡単に行うことができ、さらにアプリケーションを他のアプリケーションのトラフィックから分離することでセキュリティを確保できます。さらに、アプリケーションへのすべての受信要求をホワイトリストに登録された特定の IP アドレスからの要求に制限することもできます。これは見逃せない機能ですよね。

ネットワーク分離に加えて、さまざまな地域で非公開スペースを作成できます。大部分のお客様が東京にいる場合、物理的に東京に存在する Heroku Enterprise プラットフォームの一部で dyno が実行されるようにして、アプリケーションユーザに対する応答時間を短縮できます。迅速なサービスが嫌いな人はいないですよね?

多くの場合、共有プラットフォームインフラストラクチャで十分すぎるほどですが、「ウォールドガーデン」にアプリケーションを配置して保護を強化したり、物理的にユーザに近いインフラストラクチャで dyno を実行して応答時間を短縮したりする必要がある場合もあります。このような場合、Private Spaces を使用します。

Private Spaces についての詳細は、開発センターを参照してください。

Heroku 開発センター

これまでに常に言及してきたのですでにご存知かもしれませんが、開発センターは、Heroku Enterprise を使用するときに役立つ最も包括的なガイドです。このガイドは、高度にキュレートされ、よく管理された、常に進化し続ける一連の記事およびドキュメントで、Heroku について知りたいと思われることがほぼすべて網羅されています。

プラットフォームのさまざまな部分についての詳細を確認したり、いずれかのファーストステップガイドを開始したりできます。これらのガイドは、プラットフォームでネイティブにサポートされている言語に対応しています。各ファーストステップガイドでは、コマンドライン用の Heroku Toolbelt のインストール、アプリケーションのリリース、Heroku でのアプリケーションのスケールおよび実行について説明します。

Heroku サポート

開発センターでカバーされていない問題でお困りの場合は、Heroku サポートチームにご連絡ください。オンライン (help.heroku.com) でサポートにチケットを登録でき、いずれかのチームが問題の調査をサポートします。Heroku Enterprise で実行されている本番アプリケーションのダウンタイムに関連する問題が発生した場合、SLA により迅速なサポートが提供されます。サポートチームが「ポケベルを携帯させてほしい」と言えば、たとえ元日の午前 3 時でも対応できます。

結論

Heroku により、最新の効果的なアプリケーションの迅速な作成が強力に推進されます。基盤となるインフラストラクチャの管理およびスケールの難しい部分をアプリケーションの代わりに Heroku Enterprise がすべて引き受けることで、ユーザは顧客にとって最も重要なことに集中できます。Lightning Platform、Marketing Cloud、Service Cloud、Sales Cloud の強力なビジネスツールと統合することで、同様に強力なバックオフィスツールを使用して効果的な顧客向けアプリケーションを簡単に作成できます。