# オンプレミスエージェントに向けて AWS Secrets Manager を設定する
このガイドでは、Amazon Web Services Secrets Manager (opens new window) と Workato のオンプレミスエージェント (OPA) を併せて使用して、データベースの認証情報を保存する方法を解説します。
設定が済んでいると、OPA はデフォルトの認証情報プロバイダチェーン (opens new window)を使用して自身から AWS へのリクエストを認証するようになり、OPA の設定ファイルに認証情報を保存する必要がなくなります。Amazon Web Services (AWS) Secrets Manager のページを参照してください。
もう1つの方法として、プロジェクトレベルでアクセスを管理することも選択できます。その場合は、シークレットマネージャーの設定を変更して、プロジェクト内のコネクションがプロジェクト設定内で指定されたロールを使用できるようにします。つまり、お客様はプロジェクト固有の IAM ロールを作成し、シークレットの使用をプロジェクト内のコネクションに制限することが可能です。各プロジェクトのための Amazon Web Services (AWS) Secrets Manager のページを参照してください。
# 前提条件
AWS Secrets Manager を OPA と連動するように設定するには、以下が必要となります。
- Workato でのオンプレミスグループ権限
- AWS での以下の事項:
- 次のことを実行できる権限:
- シークレットの作成と管理 (opens new window)
- IAM アクセスキーの作成と管理
- 環境変数として保存されている既存の IAM アクセスキー。 Workato は AWS へのリクエストを認証するために、デフォルトの認証情報プロバイダチェーン (opens new window)を使用します。IAM アクセスキーの作成と保存に関してはこのチュートリアルの範囲外ですが、ここでの前提条件を達成するためには次のような AWS ガイドを利用できます。
- 次のことを実行できる権限:
# ステップ1: AWS 内でシークレットを作成する
AWS コンソールにログインします。
ページ上部の 検索バー を使って、AWS Secrets Manager (opens new window) を開きます。
[Store a new secret] ボタンをクリックします。
Step 1 - Choose secret type のページで以下を実行します。
[Secret type] セクションで、 [Other type of secret] をクリックします。
[Key/value pairs] セクションで、 [Plaintext] オプションをクリックします。
[Plaintext] フィールドにパスワードを入力します。OPA はこの値を取得し、そのまま渡します。
設定は以下の画面のようになるはずです。
AWS Secrets Manager で設定済みのシークレットタイプのページ
[Next] をクリックします。
Step 2 - Configure secret のページで以下を実行します。
以下のフィールドに入力します。
- Secret name : シークレットに名前を付けます。この値は、次のセクションで OPA 設定ファイル内に追加することになります。それにより、OPA は正しいパスワードを取得できるようになります。
- Description (任意) : このシークレットの簡単な説明を入力します。
AWS Secrets Manager のシークレット設定ページ
完了したら [Next] をクリックします。
任意 : Step 3 - Configure rotation のページで、必要に応じてシークレットのローテーションを設定します。完了したら [Next] をクリックします。
Step 4 - Review のページで以下を実行します。
シークレットの詳細を再確認します。
何も問題がないようであれば、 [Store] をクリックしてシークレットを作成および保存します。
# ステップ2: OPA 設定ファイルを設定する
認証情報が不要
設定が済んでいると、OPA はデフォルトの認証情報プロバイダチェーン (opens new window)を使用して自身から AWS へのリクエストを認証するようになります。これにより、OPA の設定ファイルに認証情報 (AWS Secrets Manager 用またはデータベース用) を保存する必要がなくなります。
このステップでは、シークレットマネージャーに関する情報を OPA 設定ファイルに追加します。
OPA 設定ファイル内で、secrets
セクションと provider
キーおよび region
キーを追加します。
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: データベースのプロファイルを設定する
仕上げとして、どのシークレットを使用するかをデータベースのプロファイル内で指定します。
設定ファイル内で、データベースのプロファイルに移動します。
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: 2023/8/31 1:07:14