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

AWS Secrets Manager シークレットストレージ

Static Badge

Semaphore UI Enterprise では、キーストアのシークレットの外部ストレージとして、データベースの代わりに AWS Secrets Manager を使用できます。

設定オプション

キーストア → ストレージAWS Secrets Manager ストレージを作成する際、次の項目を設定します。

フィールド説明
リージョンシークレットが保存されている AWS リージョン (例: us-east-1)。必須。
エンドポイント URLオプションのカスタムエンドポイント。標準の AWS API エンドポイントを使用する場合は空のままにします。LocalStack や VPC エンドポイントに便利です。
IAM ロール / インスタンスプロファイルを使用有効にすると、Semaphore は環境の AWS 認証情報チェーン (EC2 インスタンスプロファイル、ECS タスクロール、EKS IRSA など) を使用し、静的なアクセスキーを必要としません。
アクセスキー IDIAM ロールモードが無効な場合に必須。
シークレットアクセスキーIAM ロールモードが無効な場合に必須。データベースに保存するか、環境変数から読み取るか、ファイルから読み込むことができます。

IAM ロールとアクセスキーの比較

  • IAM ロール / インスタンスプロファイル (AWS 上では推奨): IAM ロール / インスタンスプロファイルを使用を有効にし、Semaphore サーバーまたは runner ホストに、参照するシークレットの読み取り権限を付与します。長期間有効なキーは Semaphore に保存されません。
  • アクセスキー: チェックボックスをオフのままにし、secretsmanager:GetSecretValue (および同期用の関連する list/describe 権限) を持つ IAM ユーザーまたはロールのアクセスキーペアを指定します。

既存のストレージを編集する際、アクセスキー ID が保存されていない場合、Semaphore は IAM ロールモードであると推定します。

使い方

  1. プロジェクトでキーストア → ストレージを開き、AWS Secrets Manager ストレージを作成します。
  2. キーを作成または編集する際に、そのストレージを選択し、AWS Secrets Manager 内のシークレット名または ARN を指定します。
  3. 必要に応じて、同期パスを設定して、スケジュールに従ってシークレットを自動的にインポートします。

このストレージは読み取り専用モードで動作させることができます。

シークレットの同期

AWS Secrets Manager のシークレットは、他の外部ストレージと同様にキーストアにインポートして同期を維持できます。デフォルトのパス区切り文字は / です。リモートストレージからのシークレットの同期を参照してください。