チームと役割
1 つの組織で複数のプロジェクトを管理し、各メンバーには 3 つの役割のいずれかを割り当てます。
プロジェクトは常に組織(org)に属します。最初にログインすると個人の組織が作成され、組織の slug はデプロイ URL の後半の名前に使われます。
runlot org create acme "Acme Inc."
runlot org listname を省略すると、slug を組織名として使用します。
役割
| 役割 | 権限 |
|---|---|
admin | すべての操作:メンバー管理、削除、復元、アクセス制御の変更 |
member | デプロイ、マイグレーション、シークレット管理、ログの参照 |
viewer | 一覧、ログ、使用量などの読み取り操作 |
復元、データの削除、アクセス制御の変更のように、取り消せない、またはデータに影響するコマンド(pg restore、pg delete、storage delete、auth delete、access set)は admin のみが実行できます。
招待
メールアドレスが 1 つあれば十分です。相手が runlot に登録したことがなくても招待できます。
runlot member invite [email protected] --role member --org acme
runlot member invites --org acme
runlot member uninvite [email protected] --org acmeダッシュボードでは、組織の メンバー タブから同じ操作ができます。
招待メールには受諾リンクが 1 つだけ入っています。
- リンクは 7 日 で期限切れになります。
- 1 回だけ 使用できます。
- 管理者はいつでも取り消せます。まだ送信されていないメールは送信されません。
同じアドレスにもう一度招待すると、新しい招待は作られず 既存の招待が再送 されます。このときリンクは新しく発行されるため、以前のリンクは使えなくなります。役割を変えて再送すると、新しい役割が適用されます。
メールの送信は少し後に行われます。一覧に 送信中 と表示されている場合は、まだ送信待ちという意味です。
すでに組織のメンバーである人が招待リンクを開いても、役割は変わりません。役割を変えるには下の member role を使用します。
メンバー管理
runlot member ls --org acme
runlot member role [email protected] viewer --org acme
runlot member rm [email protected] --org acme
runlot member leave --org acmemember role と member rm は admin のみが実行できます。member leave は役割に関係なく誰でも実行できます。自分が組織を離れることは、他の人の権限を変えないためです。
組織の最後の admin は、役割を下げることも、削除することも、自分で離れることもできません。組織を管理するユーザーがいなくなるためで、実行しようとすると last_admin エラーが発生します。先に他の人を admin に指定してください。
runlot org add-member は引き続き使用できますが、provider:subject で人を指定し、ログイン済みのアカウントのみを追加できる自動化向けのコマンドです。人を招く場合は member invite を使用してください。
2 段階認証
アカウントには、パスワードやソーシャルログインに加えて、認証アプリの 6 桁の数字をもう一度求める設定ができます。ダッシュボードの アカウント 画面で有効にします。1Password、Google Authenticator、iOS パスワードなど TOTP に対応したアプリで QR コードを読み取り、アプリに表示されたコードを一度入力すると確定します。
確定すると リカバリーコードが 10 個、一度だけ 表示されます。端末を失ったときにアカウントへ戻れる唯一の方法なので、画面を閉じる前に保存してください — サーバーにはハッシュだけが残るため、再表示できません。各コードは一度だけ使え、登録し直すと 10 個すべてが新しくなります。
無効にするときもコードが必要です。ログイン済みのセッションだけでは無効にできないのは意図的です。そうでなければ、セッションを盗んだ人がまず 2 段階認証を無効にして入ってきます。
組織全体で必須にする
admin は組織の 設定 タブで、組織全体に 2 段階認証を必須にできます。
必須の間も、まだ登録していないメンバーは 閲覧 はそのままできます — プロジェクト一覧、ログ、使用量はすべて見られ、変更する要求だけが 403 totp_required で拒否されます。この切り分けは意図的です。登録を促す案内を描くのがその画面自体なので、すべてを遮断すると、エラー画面だけが残り、何をすればよいかはどこにも残りません。
対象組織の選択順序
CLI は次の優先順位で対象の組織を選択します。
--orgオプションrunlot.jsonの"org"の値- どちらもない場合はエラー
org、dns、domains のように組織単位で動作するコマンドは、プロジェクトのディレクトリと関係なく実行されるため、--org オプションを指定する必要があります。