Secret Manager は、API キー、パスワード、証明書、その他の機密データを保存するための安全で便利なストレージ システムです。これは、Google Cloud で使用されるすべてのシークレットを一元的に管理、アクセス、監査することが可能な、信頼できる唯一の情報源です。
Workflows の Secret Manager API 用コネクタを使用すると、ワークフロー内で Secret Manager にアクセスできます。これにより、統合が簡素化されます。これは、コネクタによってリクエストの形式設定が処理され、Secret Manager API の詳細を認識する必要がないようにメソッドと引数が提供されるためです。コネクタには、再試行や長時間実行オペレーションを処理するための組み込みの動作もあります。Workflows コネクタの使用の詳細については、コネクタについてをご覧ください。
Workflows サービス アカウントに Secret Manager へのアクセス権を付与する
Secret Manager は、アクセス制御に Identity and Access Management(IAM)を使用します。シークレットを作成、管理、一覧表示、アクセスするには、プロジェクト レベルと個々のリソースレベルで適切な IAM 権限が付与されている必要があります。詳しくは、IAM によるアクセス制御をご覧ください。
Workflows はサービス アカウントを使用して、ワークフローが Google Cloud リソースにアクセスできるようにします。シークレット バージョンにアクセスするには、シークレット、プロジェクト、フォルダ、または組織に対する Secret Manager のシークレット アクセサー ロール(roles/secretmanager.secretAccessor
)を付与する必要があります。ユーザーが管理するサービス アカウントでワークフローをデプロイする方法を確認する。
API を有効にする
Secret Manager API の Workflows コネクタを使用する前に、Secret Manager API と Workflows API が有効になっていることを確認してください。
コンソール
gcloud
gcloud services enable secretmanager.googleapis.com workflows.googleapis.com
コネクタ コールを呼び出す
HTTP エンドポイントの呼び出しと同様に、コネクタ呼び出しには call
フィールドと args
フィールドが必要です。詳細については、コネクタ コールを呼び出すをご覧ください。
呼び出しステップを使用するだけでなく、次のような式でヘルパー メソッドを呼び出すこともできます。
${googleapis.secretmanager.v1.projects.secrets.versions.accessString(secret_id, version, project_id)}
たとえば、ヘルパー メソッド accessString
を使用してシークレット データを文字列として取得できます。これは、access
API を使用するよりも簡単です。シークレット データは自動的に文字列形式にデコードされるためです。
ヘルパー メソッド addVersionString
を使用して、既存のシークレットに新しいシークレット値を追加することもできます。シークレット データは base64 文字列に自動的にエンコードされるため、addVersion
API を使用するよりも簡単です(addVersion
で必要)。
Secret Manager コネクタを使用してシークレットを取得する
次のワークフローは、Secret Manager コネクタを使用してシークレットを取得する方法を示しています。