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 というサンプル組織と csa-connect というサンプル Enterprise Team の [Access (アクセス)] タブのスクリーンショットを示します。
Heroku Enterprise Team 内で 4 つのアクセスレベル (システム管理者、メンバー、閲覧者、コラボレーター) を付与できます。
システム管理者は最も高いアクセスレベルで、Enterprise Team 全体を完全に管理できます。メンバーの追加や削除、ユーザーアクセス権の編集、請求情報の表示を行うことができ、Enterprise Team 内のすべてのアプリケーション (アクセスを防止するためにロックされているアプリケーションも含む) に対する権限があります。スクリーンショットを見るとわかるように、1 人のメンバーには csa-connect Enterprise Team のシステム管理者アクセス権があります。システム管理者には、参照、請求、管理、作成のアクセス権があります。
次のアクセスレベルはメンバーで、Enterprise Team へのアクセス権があるすべてのメンバーとシステム管理者を表示できます。アプリケーションをアカウントに移行したり、Enterprise Team のアプリケーションのリストを表示したり、アプリケーションを作成したりできます。また、メンバーには Enterprise Team 内のアプリケーションに対する特定の権限を割り当てることもできます。メンバーは、ロックされたアプリケーションに参加できません。参加するには、明示的にアクセス権を付与する必要があります。csa-training Enterprise Team では、1 人のメンバーに参照アクセス権があります。
3 つ目のレベルは閲覧者です。閲覧者は制限されたロールで、ユーザーはアプリケーションとパイプライン、スペース、ユーザー、リソースを参照できます。
4 つ目のレベルはコラボレーターです。コラボレーターは、Enterprise Team に含まれない外部 Heroku ユーザーで、Enterprise Team 内の 1 つ以上のアプリケーションへのアクセス権が付与されています。コラボレーターアクセス権の主な用途は、請負業者が社内のメンバーと Heroku プラットフォームのアプリケーションで連携できるようにすることです。csa-training Enterprise Team には、1 つのアプリケーションへのアクセス権を持つ 1 人のコラボレーターがいます。コラボレーターにはチームレベルのアクセス権はありません。
すべてのメンバーに対して MFA が有効になっています。できました!
Enterprise Team を使用したコラボレーションについての詳細は、Heroku 開発センターの「Getting Started as a Collaborator (コラボレーターとしてはじめる)」を参照してください。
詳細なアクセス制御
Heroku Enterprise Team では、プラットフォームのアプリケーションに対してユーザーが実行できる操作を詳細に管理できます。Heroku を使用すると、企業で柔軟性とセキュリティを確保できるだけでなく、詳細なアクセス制御も実現できます。
アプリケーションの操作方法を制御する権限セットをユーザーに割り当てることができます。
権限セット |
機能 |
---|---|
参照 |
アプリケーションの存在の確認やアプリケーションの詳細の表示を行います。 |
リリース |
コードのリリース、1 回限りの dyno の実行、無料のアドオンの追加または削除、設定変数の表示および編集を行います。 |
操作 |
dyno 構成の変更、有効アドオンの追加または削除、アプリケーションの再起動を行います。 |
管理 |
ユーザーの追加または削除、アプリケーションの移行、アプリケーションの削除を行います。 |
各レベルで提供されるボタンやスイッチの詳細を調べるには、Heroku 開発センターの役立つアプリケーション権限早見表を確認してください。
Heroku Enterprise ダッシュボードでどのように表示されるのかを確認してみましょう。次に、how-to-heroku Enterprise Team 内の heroku-101-demo-app というアプリケーションのアプリケーションレベルの [Access (アクセス)] タブのスクリーンショットを示します。アプリケーションには、最上位レベルの Enterprise Team のアクセス制御とは異なる独自の [アクセス] タブがあります。
このアプリケーションはロック解除されています。アプリケーションがロック解除されている場合、すべてのチームメンバーが参加できます。
アプリケーションをロックすることもできます。アプリケーションがロックされている場合、Enterprise Team のシステム管理者とアクセス権が付与されているメンバーのみがアプリケーションに関する情報を表示できます。また、システム管理者と既存の閲覧者のみが他の Enterprise Team のメンバーにアクセス権を付与できます。
[App Members (アプリケーションメンバー)] セクションの下には、Enterprise Team のシステム管理者がリストされています。すべての 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 (利用状況)] タブのスクリーンショットを示します。
この Enterprise Team には、最大 $15,000 のアドオン使用量と最大 75 単位/月の dyno 使用量のライセンスがあります。Enterprise Team 全体のリソース使用量が 1 か所で収集されるため、システム管理者は今月のこれまでに Enterprise Team のアプリケーションでどのリソースを使用したのかを簡単に確認できます。
また、前月比のレポートを参照して、Enterprise Team の Heroku の利用状況のトレンドを特定することもできます。次に、2016 年 2 月以降の csa-training Enterprise Team の利用状況を示します。グラフの月にマウスポインターを合わせて、実際の値を確認します。
監査ログ
監査ログをエクスポートすると Enterprise アカウントに関連付けられたイベントの詳細を参照できます。監査ログは、そのアカウントに関連付けられた特定のイベントの JSON 形式のアーカイブです。アドオン、アプリケーション、Enterprise アカウントメンバーシップ、チームメンバーシップなどに関するイベントが含まれています。
次に、[Settings (設定)] タブのスクリーンショットを示します。ここで csa-training Enterprise Team の監査ログにアクセスできます。
監査履歴を使用すれば、コンプライアンス、監査、説明責任に関するさまざまな要件を満たすことができます。Heroku では、カレンダー月ごとに個別の監査履歴イベントアーカイブがあります。
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 には、Salesforce 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 を使用します。
高いコンプライアンスが要求される顧客向けアプリケーションを作成する場合、Heroku Shield Private Space を使用すれば、ヘルスケア、ライフサイエンス、金融サービスなどの規制の厳しい業種向けの追加セキュリティ機能を利用できます。Shield Private Space アプリケーションはネットワークに接続されていない環境で実行され、本番アクセス記録や厳密な TLS の適用など、高いコンプライアンスのための信頼管理が追加されています。
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 Engagement、Service Cloud、Sales Cloud の強力なビジネスツールと統合することで、同様に強力なバックオフィスツールを使用して効果的な顧客向けアプリケーションを簡単に作成できます。