メインコンテンツまでスキップ

ユーザー

semaphore users コマンドは、ユーザーの追加、変更、削除、参照を行い、ユーザーの API トークンと TOTP (2FA) 認証を管理します。

semaphore users --help

userusers のエイリアスです。

コマンド用途
users addユーザーを作成します。
users change-by-loginログイン名で検索したユーザーを更新します。
users change-by-emailメールアドレスで検索したユーザーを更新します。
users get1 人のユーザーの詳細を表示します。
users listすべてのユーザーのログイン名を表示します。
users deleteユーザーを削除します。
users token createユーザーの API トークンを作成します。
users token listユーザーの API トークンを一覧表示します。
users totp enableユーザーの TOTP を有効にします。
users totp showユーザーの TOTP の詳細を表示します。
users totp disableユーザーの TOTP を無効にします。

ユーザーの追加

semaphore user add \
--admin \
--login newAdmin \
--email [email protected] \
--name "New Admin" \
--password "New$Password"
フラグ説明
--loginユーザーのログイン名。必須。
--nameユーザーの表示名。必須。
--emailユーザーのメールアドレス。必須。
--passwordユーザーのパスワード。通常のユーザーでは必須、外部ユーザーでは指定できません。
--admin新しいユーザーを管理者にします。
--external新しいユーザーを外部ユーザー (LDAP または OIDC) にします。外部ユーザーに --password を指定してはいけません。

成功すると、コマンドは User <login> <email> added! と表示します。

ユーザーの変更

変更するユーザーは、ログイン名またはメールアドレスで検索できます。

# Find user by login
semaphore user change-by-login \
--login myAdmin \
--password "New$Password"

# Find user by email
semaphore user change-by-email \
--email [email protected] \
--name "Renamed Admin"
フラグ説明
--loginchange-by-login では検索するユーザーのログイン名 (必須)。change-by-email ではユーザーの新しいログイン名。
--emailchange-by-email では検索するユーザーのメールアドレス (必須)。change-by-login ではユーザーの新しいメールアドレス。
--nameユーザーの新しい名前。
--passwordユーザーの新しいパスワード。
--admin管理者権限を付与します。

指定したフラグのみが適用され、省略したフィールドは変更されません。 --admin は管理者権限の付与のみ可能で、取り消すことはできません。取り消すには Web UI を 使用してください。

ユーザーの表示

ログイン名またはメールアドレスで検索した 1 人のユーザーの詳細を表示します。

semaphore user get --login myAdmin
# or
semaphore user get --email [email protected]

--login または --email の少なくとも一方が必要です。出力には、ユーザーの ID、作成日時、 ログイン名、名前、メールアドレス、管理者ステータスが含まれます。一致するユーザーがいない場合、 コマンドはメッセージを表示して非ゼロのステータスで終了します。

ユーザーの一覧表示

すべてのユーザーのログイン名を 1 行に 1 つずつ表示します。

semaphore user list

ユーザーの削除

ログイン名またはメールアドレスで検索したユーザーを削除します。

semaphore user delete --login myAdmin
# or
semaphore user delete --email [email protected]

--login または --email の少なくとも一方が必要です。

API トークンの管理

CLI からユーザーの API トークンを管理します:

semaphore user token --help

トークンの作成

# Token that never expires
semaphore user token create --login john --name "CI token"

# Token that expires after 24 hours
semaphore user token create --login john --name "CI token" --ttl 24h
フラグ説明
--loginトークン所有者のログイン名。必須。
--nameトークン名。
--ttlGo の duration 形式でのトークンの有効期間 (例: 1h30m24h)。省略した場合、トークンは失効しません。

このコマンドは新しいトークンを 1 行で表示し、それ以外は何も出力しないため、スクリプトで 安全に取得できます:

TOKEN=$(semaphore user token create --login ci --name "CI token" --ttl 720h)

無効な --ttl 値や不明なログイン名が指定された場合はエラーが報告され、コマンドは非ゼロの ステータスで終了します。

トークンの一覧表示

semaphore user token list --login john

--login は必須です。各行には、トークン名、ステータス (active または expired)、 RFC 3339 形式の有効期限 (期限がない場合は never) がタブ区切りで表示されます。 トークンの値は表示されません。

TOTP の管理

CLI から時間ベースのワンタイムパスワード (2FA) 認証を管理します:

semaphore user totp --help
# Enable TOTP for a user (prints a recovery code, the otpauth URL, and a QR code)
semaphore user totp enable --login john

# Show the current TOTP details (otpauth URL and QR code)
semaphore user totp show --login john

# Disable TOTP for a user
semaphore user totp disable --login john

すべての TOTP サブコマンドには --login が必要です。

  • enable は、一度だけ使えるリカバリーコード、otpauth:// URL、およびスキャン可能な QR コードを表示します。リカバリーコードは安全な場所に保管してください。ユーザーの TOTP が すでに有効な場合は失敗します。
  • showotpauth:// URL と QR コードを再度表示します。ユーザーに TOTP が設定されていない 場合は TOTP disabled と表示します。
  • disable はユーザーの TOTP 認証を削除します。TOTP が有効になっていない場合は 失敗します。

認証アプリに表示される発行者 (issuer) は、設定オプション mfa.totp.app_name (SEMAPHORE_TOTP_ISSUER) から取得されます。デフォルトは Semaphore です。