Private Spaces でのアプリの管理: 権限の付与
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2024年12月12日(木)
Table of Contents
Private Spaces には、機密性の高いデータを扱うアプリをチームでデプロイして管理できる信頼できる空間があります。スペース内でアプリを作成できる権限は、チーム管理者およびスペースに対して app creation
(アプリの作成) 権限を持つユーザーに限定されています。Heroku Enterprise Teams では、Enterprise Team の管理者はアプリの作成後に、きめ細かなアクセス制御を使用して他のメンバーに追加のアクセス権を付与できます。
Private Space でアプリを作成する
Private Space でアプリを作成できるユーザーは、以下に限られます。
- チーム管理者
- 管理者から
app creation
権限を付与されたチームメンバー(これは、Heroku Dashboard で Space をクリックしてからAccess
(アクセス) をクリックすることで実行できます)。
Heroku Dashboard で Space をクリックし、Create New App
(新しいアプリの作成) を選択します。
Heroku CLI で、create
コマンドを使用します。
$ heroku create my-space-app --space my-space-name
Creating my-space-app in space my-space-name... done
http://my-space-app-1234567890ab.herokuapp.com/ | https://git.heroku.com/my-space-app.git
Heroku Enterprise Teams の管理者はアプリを作成した後に、複数あるアプリ権限のいずれかを使用して他のチームメンバーにアクセス権を付与できます。表示権限よりも高い権限は、スペースで保護されている機密性の高いデータへのアクセスを許可している信頼されたメンバーにのみ付与します。アプリの開発に関わる可能性があるものの、本番環境にアクセスする必要はない他のすべてのメンバーには、ステージング環境と開発環境へのアクセス権のみを付与してください。
Private Space でアプリをデプロイする
Private Space アプリへのコードのデプロイは、Common Runtime アプリと同じ方法で (git push heroku main
や GitHub 統合を使用するなどして) 実行します。
ビルドプロセス自体は Private Space の外側で実行され、Private Space 内にあるリソースにはアクセスできません。
プロセスのスケーリング
Private Space 内での Dyno formation のスケーリングは、Common Runtime と同じパターンに従います。たとえば、次のようになります。
$ heroku ps:scale web=2 worker=1
フォーメーションをスケールアップするには、Private Space 内で新しい dyno をプロビジョニングして起動する必要があります。このプロセスの完了には数分かかります。
アプリに高可用性が必要な場合は、プロセスタイプごとに 3 dyno 以上に Dyno formation をスケールアップすることをお勧めします。これは、AZ の障害という稀なシナリオでアプリケーションの可用性を維持するために役立ちます。
One-off dyno
One-off dyno を起動する heroku run
は、Fir 世代のアプリでは使用できません。heroku run
が Fir で利用可能になるまで、heroku run:inside
を使用してください。詳細は、「Heroku 世代」を参照してください。
“One-off” dyno は heroku run
から利用できます。
$ heroku run bash
Running bash...
▸ WARNING: Warning: Dynos can take up to a few minutes to be provisioned in Private Spaces.
One-off dyno の作成には、Private Space 内で新しい dyno をプロビジョニングして起動することが必要になります。このプロセスの完了には数分かかります。
Private Space 内のアプリを一覧表示する
すべてのチームメンバーが、Private Space 内のすべてのアプリを表示できます。
$ heroku apps --space my-space-name
=== Apps in space my-space-name
my-space-app-1
my-space-app-2
Private Space 内のアプリの情報を表示する
すべてのチーム管理者が、Private Space 内の 1 つのアプリに関する詳細情報を表示できます。
$ heroku info --app my-space-app
=== my-space-app
Collaborators: my-team-name@example.com
Git URL: https://git.heroku.com/my-space-app.git
Owner: my-team-name
Region: tokyo
Space: my-space-name
Stack: heroku-20
Web URL: http://my-space-app-1234567890ab.herokuapp.com/
Private Space 内のアプリを破棄する
チーム管理者と、アプリに対する manage
(管理) 権限を持つメンバーは、アプリを破棄することができます。
$ heroku apps:destroy -a my-space-app
Destroying my-space-app (including all add-ons)... done
カスタムドメインと SSL の追加
チーム管理者と、アプリに対する manage
(管理) 権限を持つメンバーのみが、カスタムドメインを追加したり SSL を管理したりできます。
Space 内のアプリの SSL とカスタムドメインは Common Runtime 内のアプリと同様に処理されます。詳しい手順については、「Custom Domains」(カスタムドメイン) および SSL に関するドキュメントを参照してください。
新しく作成された Private Space アプリでは、アプリが作成されてから、またアプリの名前が変更されてから数分が経過しないと <appname>-<random-identifier>.herokuapp.com
で HTTPS が機能しません。ACM を有効にしたり、証明書を手動でアップロードしてカスタムドメインに対して SSL を有効にしたりしても、デフォルトドメイン (http://example-app-1234567890ab.herokuapp.com など) の SSL 証明書への影響はありません。デフォルトのアプリドメインは常に標準 HTTP で動作します。