Enterprise Team の管理
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2022年01月27日(木)
Table of Contents
現在、この機能は Heroku Enterprise で利用できます。
Enterprise Team は、以前は Heroku Org または Organization と呼ばれていました。これは単なる名称変更であり、どの機能または設定にも影響はありません。すべての CLI コマンドを更新して “Org” という単語を置き換える作業を進めていますが、この作業が完了するまでの間は、Org を含むコマンドの使用が継続する可能性があります。
Enterprise Team を使用すると、アプリケーションの共有グループへのアクセスを管理したり、Enterprise Team 内のさまざまなアプリによって使用されているリソースを確認したり、使用状況レポートを表示およびダウンロードしたりできます。開発エクスペリエンスはほとんど同じままですが、きめ細かいアクセス制御が可能になり、開発プロセスをより効率的に管理できるようになりました。
Enterprise Team がプロビジョニングされると、名前、リソース制限、ダッシュボードへのリンクを記載したメールが Heroku から届きます。このガイドでは、Enterprise Team のセットアップを完了し、既存の主要なタブや機能を最大限に活用する方法について概要を説明します。
Apps (アプリ)
Apps
(アプリ) タブには、Enterprise Team 内のすべてのアプリケーションが一覧表示され、右側の列にはアプリケーションのスタックイメージが表示されます。複数のアプリのアイコンが付いたパイプラインには、スタックイメージが表示されません。アプリケーションを Enterprise Team に移動するか、最初から Enterprise Team の一部として作成することによって、アプリケーションは Enterprise Team の一部になります。
アプリが 20 個を超えるような場合、複数のページに分割され、アクセスとナビゲーションが容易になります。フィルターオプションも用意されており、特定のアプリやパイプラインを検索できます。
Heroku Teams と個人アカウントにも、アプリの一覧をページ分割および検索する同じ機能があります。
Enterprise Accounts のユーザーは、各自の Enterprise Account の Teams
(チーム) および Access
(アクセス) タブにある Enterprise Team およびユーザーの管理でも、ページ分割とフィルターの機能を利用できます。
アプリの作成
新しいプロジェクトを開始するとき、"管理者" および “メンバー” のアクセス許可を持つ Enterprise Team ユーザーは、EnterpriseTeam 内で直接アプリを作成できます。まず、メインメニューから Enterprise Team を選びます。次に、右上隅にある新規作成ボタンをクリックして、新しいアプリを作成します。
または、CLI から、heroku create
コマンドの --org
フラグを使用して Enterprise Team 名を指定します。次の例のように、アプリ名を指定しない場合、ランダムな名前が生成されます。Heroku の命名方式は <adjective>-<noun>-<4 digit number>
で、形容詞と名詞は、ブランドに適した単語のリストから選ばれたものです。
$ heroku create --org acme-widgets
Creating gentle-garden-8862 in organization acme-widgets... done
https://gentle-garden-8862.herokuapp.com/ | https://git.heroku.com/gentle-garden-8862.git
アプリ名を指定するには、次のように実行します。
$ heroku create --org acme-widgets --app apple
Creating apple... done
https://apple.herokuapp.com/ | https://git.heroku.com/apple.git
アプリの移動
既存の開発チームでは、各開発者の個人アカウントまたは共有の個人アカウントを使用して、いくつかのアプリの開発がすでに進行しているのが一般的です。これらのアプリの所有者は、アプリを Enterprise Team の一部として管理する前に、アプリを Enterprise Team に移動する必要があります。移動しない場合、各アプリの所有者が、個人の請求情報を使用して請求を受け続けることになります。
Dashboard でアプリケーションを移動するには、現在のアプリの所有者がアプリケーションの Settings
(設定) タブにアクセスし、"Transfer Ownership" (所有権の移動) セクションまで下にスクロールして Enterprise Team を選択する必要があります。
CLI を使用してアプリを Enterprise Team に移動することもできます。
$ heroku apps:transfer acme-widgets -a deep-spring-4274
Transferring deep-spring-4274 to acme-widgets... done
アプリの一括移動
複数のアプリを Enterprise Team に移動するには、アプリの移動先の Enterprise Team を選択してから Settings
(設定) タブを選択します。次に、Bulk App Transfer
(アプリの一括移動) の前にある Transfer Apps
(アプリの移動) ボタンをクリックし、アプリを選択して新しい Enterprise Team に移動します。
アプリの削除
アプリケーションは、新しい所有者のもとに移動するか削除することで、Enterprise Team から削除することができます。管理者は任意のアプリを削除または移動できます。メンバーは、管理アクセス許可を持つアプリを削除または移動できます。
アプリケーションを移動するには、移動するアプリを Apps (アプリ) ページから選択し、Settings (設定) ペインにアクセスし、設定ページの下部にある所有権移動ドロップダウンを使用します。アプリは、ユーザー自身の個人アカウント、ユーザーがそのメンバーである別の Enterprise Team、Heroku Team、Enterprise Team メンバーの個人アカウントのいずれかに移動できます。
アプリを削除するには、アプリの削除ボタンをクリックして確認します。
コンプライアンス機能: OAuth 経由のアプリアクセスの制限
Heroku Enterprise 管理者は、Enterprise Team が所有するリソースについて、Heroku 以外の一切の製品およびサービスからの OAuth アクセスを拒否することを選択できます。 管理者は、Enterprise Team の Settings
(設定) タブにあるトグルコントロールを使用して、サードパーティによる Heroku Platform API への OAuth アクセスを無効に切り替えることができます。 Enterprise Team のメンバーは引き続き Heroku で OAuth を使用できますが、Enterprise Team が所有するリソースにはアクセスできなくなります。
サードパーティの OAuth アクセスが無効になっている場合、Enterprise Team 内のアプリに対して API 呼び出しを試みると、エラーが返されます。注意点として、個人アカウントまたは Heroku Team のアプリで以前に設定したサービスのセットアップは、サードパーティの OAuth アクセスが無効な Enterprise Team にそのアプリを移動した場合、無効になる可能性があります。
一部のサードパーティアドオンでは OAuth を利用しており、アドオンコントロールの設定にかかわらずブロックされる可能性があることにも注意してください。
Spaces (Space)
Heroku Private Space がある場合、このタブに表示されます。Create a Space
(Space の作成) ボタンをクリックすると Space を作成できます。1 つの Heroku Private Space につき、アドオンクレジットで月額 1000 ドルの費用 (秒単位の従量課金) が発生することに注意してください。
同じ Enterprise Account 内の別の Enterprise Team に Space を移動することもできます。 転送を実行するユーザーは、両方の Enterprise Team の “管理者” であるか、会社の Enterprise Account の “管理” 権限を持っている必要があります。Space を転送するに、は、その Settings
(設定) タブに移動し、移動先の Enterprise Team を Space Ownership
(Space の所有権) セクションから探します。
Space を転送すると、Space 内にあるアプリのみが新しい Enterprise Team に移動します。Space 内のアプリと外にあるアプリの両方を含むパイプラインがある場合、Space 内のアプリのみが新しい Enterprise Team に移動する一方で、パイプラインはその Space 内になかったアプリと共に古い Enterprise Team にとどまります。
Access (アクセス)
Access
(アクセス) タブには、Enterprise Team のすべてのユーザーが一覧表示されます。
Enterprise Team がプロビジョニングされた時点では、ユーザーは 1 人 (チームをリクエストした管理者ユーザー) だけです。この最初の管理者が、他のユーザーをチームに追加したり、適切なアクセス権をユーザーに付与したりできます。Enterprise Team のメンバー数の上限は 500 人です。
管理者、メンバー、閲覧者のロール
Enterprise Team のユーザーは、管理者、メンバー、または閲覧者のいずれかです。
管理者ユーザーは Enterprise Team のメンバーシップを管理します。また、請求情報を表示したり、チームが所有するアプリに対してアクションを実行したりできます。管理者ユーザーは次のことができます。
- Enterprise Team のすべてのアプリにアクセスする
- Enterprise Team のユーザーを追加/削除する
- Enterprise Team 全体のリソース使用量を表示する
- Enterprise Team の請求書と請求を管理する
- Enterprise Team の名前を変更する
- Enterprise Team のアプリを移動、作成、削除する
管理者のロールは、支出、開発プロセス、セキュリティ体制の責任者に付与するのが一般的です。管理者ユーザーを追加できるのは既存の管理者だけです。Enterprise Team には少なくとも 1 人の管理者ユーザーが必要です。このルール上、Enterprise Team の最後の管理者は削除できません。
メンバーユーザーを追加できるのは Enterprise Team の管理者だけです。メンバーロールを割り当てられたユーザーは、Enterprise Team 内のすべてのアプリへの読み取り専用アクセスが許可されます。アプリ単位で追加のアクセスの許可を得ることができます。メンバーは次のことができます。
- Enterprise Team 内のすべてのアプリを一覧表示する
- Enterprise Team の管理者とメンバーを表示する
- Enterprise Team のリソースを表示する
- 個人のアプリを Enterprise Team に移動する
- Enterprise Team の新しいアプリを作成する
メンバーロールのユーザーは、すべてのアプリを表示し、各アプリの基本情報を確認することができます。デフォルトでは、アプリに対して上記以外の操作は何も実行できません。特定のアプリに対して開発および運用タスクを実行するためには、アプリ単位で追加のアクセス許可を付与してもらう必要があります。アプリに対する管理アクセス許可を持つメンバー (管理者を含む) は、他のメンバーに追加のアクセス許可を付与することができます。
メンバーロールのユーザーは、Enterprise Team 内でアプリを作成したり、Enterprise Team にアプリを移動したりできます。メンバーは、自分が作成したアプリに対してはすべてのアクセス許可を自動的に獲得します。また、他のメンバーには、そのアプリに対する特定のアクセス許可を付与することができます。メンバーロールは、アプリケーションに携わっている組織内の開発者に割り当てるのが一般的です。
閲覧者は、アプリとパイプライン、Space、ユーザー (Access
(アクセス) タブ)、およびリソースの表示をユーザーに許可する限定的なロールです。
Enterprise Team のすべてのアプリを見せられるほどの信頼がないサードパーティの共同作業者には、特定のアプリに対するアクセス許可を付与できます。メンバーは、このような外部の開発者をチームに追加しなくても、つまり Enterprise Team でロールを割り当てなくても、自分が管理するアプリに対してこれを行うことができます。特定のプロジェクトに割り当てられた外注先の開発者は、この機能が役立つ良い例です。このような開発者には、そのプロジェクトの一部であるアプリへのアクセスのみを許可できます。
特定のアプリに対するアクセス許可をメンバーおよびチームメンバー以外に付与する方法についての詳細は、「Enterprise Teams でのアプリアクセス許可の使用」を参照してください。ロールごとの詳細な機能については、「Enterprise Teams Permissions & Allowed Actions」(Enterprise Team のアクセス許可と許可されるアクション) の記事を参照してください。
ユーザーの追加と削除、アクセス許可の編集
Enterprise Team Dashboard の Access
(アクセス) タブからユーザーの追加と管理ができます。アクセス許可を編集、またはユーザーを削除するには、右端の列にある小さなペンを選択します。新しいユーザーを追加するには、Add User
(ユーザーの追加) ボタンをクリックします。
HerokuCLI を使用してユーザーを管理することもできます。次のようにして、新しい Enterprise Team メンバーを追加します。
$ heroku members:add joe@acme.com --org acme-widgets
Adding joe@acme.com as member to organization acme-widgets... done
同じコマンドと --role
フラグを使用して、管理者ユーザーを追加します。
$ heroku members:add joe@acme.com --org acme-widgets --role admin
Adding joe@acme.com as admin to organization acme-widgets... done
Enterprise Team の外のユーザー (共同作業者) は、アプリレベルのアクセスを付与する特殊なケースのため、異なるコマンドが必要です。この例では、"acme-website" アプリの共同作業者として、"表示" アクセス許可のみを持つ “jill@creativeinc.com” を追加しています。"表示" は 4 つあるアプリのアクセス許可の 1 つです。他の 3 つは “デプロイ"、"管理"、"運用” です。
$ heroku access:add jill@creativeinc.com --app acme-website --permissions view
Adding jill@creativeinc.com to acme-website as collaborator... done
Enterprise Team から自分自身を削除する
Enterprise Team のユーザーまたは共同作業者は、Enterprise Team から自分自身を削除することができます。削除の方法はロールによって異なります。"管理者"、"メンバー"、または “閲覧者” は、Enterprise Team の Access
(アクセス) タブから、または CLI から自分自身を削除できます。
最後の 1 人の管理者は Enterprise Team から脱退できません。自分自身を削除する前に、別のユーザーに “管理者” ロールを割り当てる必要があります。
次の例では、Enterprise Team の名前が example-team
、自分のメールアドレスが email@example.com
であるとします。
$ heroku members:remove --team example-team email@example.com
チームが所有するアプリの共同作業者である場合、チームとの関係を断つには、個々のアプリから自分自身を削除する必要があります。共同作業者は技術的には Enterprise Team のメンバーではないため、Access
(アクセス) タブから自分自身を削除することはできません。
次の例では、2 つのアプリ my-app-1
および my-app-2
の共同作業者であると仮定します。
$ heroku access:remove -a my-app-1 email@example.com
$ heroku access:remove -a my-app-2 email@example.com
2FA と SSO のステータス
2 要素認証は、Heroku プラットフォームのセキュリティ機能です。アカウントで 2FA を有効にした場合、ユーザーはセキュリティ強化のために、ユーザー名とパスワードに加えて確認コードを使用してログオンする必要があります。
ユーザーは、個別のアカウントで 2FA を有効化および無効化できます。これらのユーザーが Enterprise Team に属している場合、管理者とその他のメンバーは、ユーザーの 2FA ステータスを確認できる必要があります。これにより、セキュリティポリシーとガバナンスポリシーへの継続的な準拠が保証されます。
Enterprise Team の Access ページでは、Heroku アカウントで 2 要素認証を一度も有効にしたことがない、または現在無効にしているユーザーが強調表示されます。ステータスに変更があると、すぐにステータスが更新されます。
SSO 列は、ユーザーが SSO を使用しているかどうかを示します。使用されている ID プロバイダーも示します。これは、Enterprise Team の ID プロバイダーまたは別の (Enterprise Account の) ID プロバイダーです。
2 要素認証と SSO のどちらかまたは両方が無効になっているユーザーを確認したら、Enterprise Team の管理者は、該当ユーザーをチームから削除するか、ユーザーのロールを変更するか、機密性がそれほど高くない特定のアプリのみにユーザーのアクセス許可を限定することによって、コンプライアンスを確保し、セキュリティの安定を維持することを選択できます。
表示された有効/無効ステータスの先までスクロールすると、各ユーザーの 2FA または SSO ステータスの詳細を確認できます。
SSO が有効になっているアカウントで 2FA を有効にすることはできません。SSO を使用した 2FA は IdP 内で有効にする必要があります。
Resources (リソース)
Enterprise Team 内のすべてのアプリケーションによって使用されるすべてのリソースを一覧表示します。
Settings (設定)
Settings
(設定) タブを使用して、次のことを行います。
- Enterprise Team の名前を変更する
- SSO を設定する
- デフォルトを “メンバー” から変更する。この変更を行った後は、Enterprise Team に追加された新しいユーザー全員に、新しいデフォルトのアクセス許可が付与されます
- Enterprise Team のアプリで使用できるアドオンを制御する
- アプリの一括移動を使用して複数のアプリを Enterprise Team に移動する
Enterprise Team では Free dyno 時間を使用できないため、Free dyno を使用しているアプリを個人アカウントから Enterprise Team アカウントに移動すると、それらの dyno は自動的に Standard-1X にアップグレードされます。
- 前の「コンプライアンス機能: OAuth 経由のアプリアクセスの制限」セクションで説明したように OAuth 経由のアプリアクセスを制限する
- サポートチケットを作成して Enterprise Team の削除を依頼する
Usage (使用状況)
Usage
(使用状況) タブには、会社用に作成された最初の Enterprise Team のアクティブなライセンスがすべて表示されます。現在の使用状況と使用履歴も表示され、後者には、dyno ユニットとアドオンサービスの費用が一覧表示されます。"管理者" のアクセス許可がある場合、CSV 形式の月次使用状況レポートにアクセスしてダウンロードすることもできます。
Settings
(設定) および Usage
(使用状況) タブにアクセスできるのは、管理者のアクセス許可を持つユーザーだけです。
次のステップ
この段階で、Enterprise Team のアプリケーションとユーザーの初期リストが設定され、開発チームは Heroku の標準的なワークフローとツールを使用してアプリをデプロイおよび管理できるようになっています。Enterprise Team 内でのアプリ開発に関するガイドでは、Enterprise Team 内で効率的に作業する方法について説明しており、これに目を通すことは開発者にとって有益です。
このガイドで説明している基本的な手順に加えて、Enterprise Team のユーザーとアプリケーションアクセスの管理について説明した詳細なドキュメントも用意されています。