オンプレミスエージェント向けAWS Secrets Managerの構成
Amazon Web Services (AWS) Secrets Managerは、クラウド内でシークレットを安全に保存し、アクセスできるサービスです。 Workatoは、オンプレミスシステムのシークレットを管理するためにAWS Secrets Managerをサポートしています。
OPAコネクションタイプのAWS Secrets Managerサポート
AWS Secrets Managerはクラウドプロファイルとコネクションプロファイルの両方をサポートしていますが、AWS Secrets Managerへの接続と使用のプロセスはそれぞれ異なります。以下の表に概要を示します:
| オンプレミスシステムのコネクションタイプ | AWS Secrets Managerのセットアップ | AWS Secrets Managerのシークレット構文 |
|---|---|---|
| クラウドプロファイル(推奨) | WorkatoのAWS Secrets Manager設定 | {{workato:sm:<key_name>:<secret_ARN>}} |
| コネクションプロファイル | config.ymlのsecretsセクション | { secret: '<secret_name>' } |
シークレットがSecrets Managerに保存されているオンプレミスシステムのコネクションタイプに応じて、AWS Secrets Managerを構成して使用します:
- クラウドプロファイルとして構成されたオンプレミスシステムでのAWS Secrets Managerの使用
- コネクションプロファイルとして構成されたオンプレミスシステムでのAWS Secrets Managerの使用
コネクションタイプ
- クラウドプロファイルはWorkatoで直接セットアップされるため、オンプレミスエージェントがインストールされているマシンにアクセスする必要はありません。
- コネクションプロファイルは、オンプレミスエージェントがインストールされているマシン上の
config.ymlファイルで手動でセットアップします。
クラウドプロファイルでのAWS Secrets Managerの使用
クラウドプロファイルとして構成されたオンプレミスシステムの認証情報を保存するためにAWS Secrets Managerをセットアップして使用するには、以下の手順を完了します:
- ワークスペースレベルのSecrets managementまたはプロジェクト固有のSecrets managementのいずれかに対してAWS Secrets Managerをセットアップします。
- コネクションでAWS Secrets Managerシークレットを使用します。 コネクション設定のコネクションタイプフィールドで、クラウドプロファイル(Workatoで直接設定することを意味します)として設定したオンプレミスグループの名前を選択します。
コネクションプロファイルでのAWS Secrets Managerの使用
レガシーコネクション構成
config.ymlファイルを使用したAWS Secrets Managerのセットアップは、最終的に非推奨になるレガシーコネクション構成です。 AWS Secrets ManagerをWorkatoで直接セットアップできるように、コネクションプロファイルをクラウドプロファイルに移行することをお勧めします。
このガイドでは、Workatoのオンプレミスエージェント(OPA)でAmazon Web Services Secrets Managerを使用して、コネクションプロファイルとして構成されたデータベースの認証情報を保存する方法を示します。
構成すると、OPAはデフォルト認証情報プロバイダーチェーンを使用してAWSへのリクエストを認証するため、認証情報をOPA configファイルに保存する必要がなくなります。 Amazon Web Services (AWS) Secrets Managerを参照してください。
または、プロジェクトレベルでアクセスを管理し、プロジェクト内のコネクションがプロジェクト設定で指定されたロールを使用できるようにSecrets Manager設定を変更できます。 そのため、お客様はプロジェクト固有のIAMロールを作成し、シークレットの使用をプロジェクト内のコネクションに制限できます。 プロジェクト向けAmazon Web Services (AWS) Secrets Managerを参照してください。
前提条件
AWS Secrets ManagerをOPAで使用するように構成するには、以下が必要です:
- Workatoのオンプレミスグループ権限。
- AWSでの以下の項目:
- 以下を実行できる権限:
- シークレットの作成と管理
- IAMアクセスキーの作成と管理
- Environment変数として保存されている既存のIAMアクセスキー。 Workatoはデフォルト認証情報プロバイダーチェーンを使用してAWSへのリクエストを認証します。 IAMアクセスキーの作成と保存はこのチュートリアルの範囲外ですが、以下のAWSガイドを使用してこの前提条件を満たすことができます:
- 以下を実行できる権限:
ステップ1: AWSでのシークレットの作成
AWSコンソールにログインします。
ページ上部の検索バーを使用して、AWS Secrets Managerを開きます。
新しいシークレットを保存するボタンをクリックします。
ステップ1 - シークレットタイプの選択ページで:
シークレットタイプセクションで、その他のシークレットタイプをクリックします。
キー/値のペアセクションで、プレーンテキストオプションをクリックします。
プレーンテキストフィールドにパスワードを入力します。 OPAはこの値を取得し、そのまま渡します。
構成は次のようになります:
AWS Secrets Managerの構成済みシークレットタイプページ
次へをクリックします。
ステップ2 - シークレットの設定ページで:
以下のフィールドに入力します:
- シークレット名:シークレットの名前を入力します。 この値は次のセクションでOPA configファイルに追加します。これにより、OPAが正しいパスワードを取得できるようになります。
- 説明(任意):シークレットの簡単な説明を入力します。
AWS Secrets Managerのシークレット構成ページ
完了したら、次へをクリックします。
任意:ステップ3 - ローテーションの設定ページで、必要に応じてシークレットのローテーションを設定します。 完了したら、次へをクリックします。
ステップ4 - レビューページで:
シークレットの詳細を確認します。
すべて問題なければ、保存をクリックしてシークレットを作成し、保存します。
ステップ2: OPA Configファイルの構成
このステップでは、Secrets Managerに関する情報をOPA構成ファイルに追加します。
認証情報は不要
構成すると、OPAはデフォルト認証情報プロバイダーチェーンを使用してAWSへのリクエストを認証します。 これにより、AWS Secrets Managerまたはデータベースの認証情報をOPA configファイルに保存する必要がなくなります。
OPA configファイルに、providerキーとregionキーを含むsecretsセクションを追加します:
secrets:
provider: aws
region: <YOUR_REGION>providerには、awsを入力します。
regionには、AWSインスタンスが存在するリージョンを入力します:
secrets:
provider: aws
region: us-east-1この情報は、AWSコンソールでページ上部のユーザーメニューの横にあるリージョンメニューをクリックすると確認できます:
AWS Secrets Managerのシークレット構成ページ
この例では、リージョンはus-east-1です。
ファイルを保存します。
ステップ3: データベースプロファイルの構成
最後に、データベースのプロファイルで使用するシークレットを指定します。
configファイルで、データベースのプロファイルに移動します。
passwordキーで、{ secret: '<SECRET_NAME>'}を使用してシークレットを指定します。 <SECRET_NAME>は、ステップ1で作成したシークレットの名前と一致している必要があります:
database:
sales_database:
adapter: sqlserver
host: localhost
port: 1433
database: test
username: sales_user
password: { secret: 'sales-db-password-password' }ファイルを保存します。
Last updated: