ワークスペースレベルのSecrets management向けCyberArk Conjurの設定
プロジェクトレベルにスコープ設定された既存の外部シークレット参照は、ワークスペース固有のSecrets managementに切り替えると動作しなくなります。
機能の提供状況
Secrets managementは、特定の料金プランのお客様が利用できます。 詳細については、ご利用の料金プランおよび契約を参照してください。
Workato向けConjurホスト設定
WorkatoとConjurの連携は、ホスト/ワークロードAPIキー認証に基づいています。
WorkatoがConjurインスタンスからシークレットを取得するには、CyberArk Conjurコネクターの設定時に指定されたパラメーターに基づいて、まずAPI認証リクエストがConjurサーバーに送信されます。 認証情報が有効な場合、Conjurは有効期間の短いアクセストークンを返します。 その後、ホストに必要なexecuteおよびread権限がある場合、Workatoはこのアクセストークンを使用して、Conjurに保存されている実際のシークレット値を取得します。
Conjurのポリシーは.ymlファイルとして記述されます。 CyberArk Conjurドキュメントのポリシーのベストプラクティスを参照してください。 次の手順では、ポリシーファイルの作成方法について説明します。
ポリシー構文演算子の詳細については、CyberArk Conjurドキュメントを参照してください。
ルートポリシーでグループを宣言します:
- !policy
id: workato-app
body:
- !group workato-secret-users変数を宣言し、グループに[read, execute]権限を割り当てます。
この例では、SQLデータベースのパスワードとホスト名を保存するsql-password-prod変数とsql-host-prod変数を作成します:
- &variables
- !variable
id: sql-password-prod
kind: password
- !variable
id: sql-host-prod
kind: password
- !permit
role: !group /workato-app/workato-secret-users # group declared earlier
privileges: [read, execute]
resources: *variablesホスト、レイヤーを宣言し、ホストのメンバーシップをレイヤーに割り当てます:
- !host workato-us-prod-1
- !layer workato-us-prod
- !grant
role: !layer workato-us-prod
members:
- !host workato-us-prod-1レイヤーのメンバーシップをグループに付与します:
- !grant
role: !group workato-app/workato-secret-users
member: !layer workato-app/ workato-us-prod選択した変数に対してグループにexecuteおよびread権限を付与します:
- !permit
role: !group /workato-app/workato-secret-users # layer declared earlier
privileges: [read, execute]
resources: !variable ddog-api-key完全なポリシーの例を展開
- !policy
id: workato-app-dev
body:
- !group workato-secrets-dev
- &variables
- !variable
id: sql-password-prod
kind: password
- !variable
id: sql-host-prod
kind: password
- !permit
role: !group /workato-app-dev/workato-secrets-dev # group declared earlier
privileges: [read, execute]
resources: *variables
- !host workato-us-dev-1
- !layer workato-us-dev
- !grant
role: !layer workato-us-dev
members:
- !host workato-us-dev-1
- !grant
role: !group workato-secrets-dev
member: !layer workato-us-dev想定されるレスポンスは次のとおりです:
{
"created_roles": {
"workato:host:workato-app-dev/workato-us-dev-1": {
"id": "workato:host:workato-app-dev/workato-us-dev-1",
"api_key": "1q3ye3gxxxx"
}
},
"version": 1
}スコープの選択とCyberArk Secrets managementの設定
Workatoワークスペースにサインインします。
ワークスペース管理者 > 設定 > セキュリティ > 外部シークレットマネージャーに移動します。
スコープで、ワークスペース全体にSecrets managementを設定オプションを選択します:
ワークスペース全体にSecrets managementを設定
使用するシークレットマネージャーを選択してくださいフィールドで、CyberArk Conjurを選択します:
ワークスペースのSecrets managementインターフェイス
Set up connectionをクリックします。
Workatoで次のフィールドを設定します:
CyberArk Conjurコネクションの設定
コネクション名
CyberArk Conjurコネクションに名前を付けます。
コネクションタイプ
Workatoは、クラウドとオンプレミスの両方のコネクションタイプをサポートしています。 オンプレミスグループを使用する予定の場合は、ドロップダウンから1つ選択します。
サーバーURL
Conjur Cloudに接続するには、サーバーURLが次の形式に従っている必要があります:
htmlhttps://<subdomain>.secretsmgr.cyberark.cloud/api/組織アカウント名
Conjur Cloudに接続するには、
conjurを入力します。ログインID
ホスト認証では、IDの先頭に
host/を付ける必要があります。例:host/workato-app/workato-user-1。APIキー
Conjurは、ユーザーリソースの作成時に各ユーザーのAPIキーを生成します。 APIキーの生成の詳細については、CyberArk Conjurのドキュメントを参照してください。
CyberArk Conjurでシークレットストアへのアクセスを取り消す方法
CyberArk Conjurに保存されているシークレットへのWorkatoのアクセスを取り消すには、PUTリクエストでホストのAPIキーをローテーションし、ホストIDがURLエンコードされていることを確認します:
PUT {{conjurServer}}/authn/{{conjurOrganization}}/api_key?role=host:workato-conjur-demo/workato-us-260分後、シークレットにはアクセスできなくなります。
アクセスをただちに取り消すには、APIキーをローテーションしてから、clear_cache APIを使用します。
詳細については、ホストAPIキーをローテーションする方法に関するConjurドキュメントを参照してください。
このプロセスは、CyberArk Conjur EnterpriseとCyberArk Conjur Open Sourceの両方に適用されます。 詳細については、Cyberark Conjur Cloud固有のドキュメントを参照してください。
Last updated: