Menu Close

4.12. git シークレットを使用したパイプラインの認証

Git シークレットは、Git リポジトリーと安全に対話するための認証情報で構成されており、認証の自動化に使用されることが多いです。Red Hat OpenShift Pipelines では、Git シークレットを使用して、実行時に Git リポジトリーと対話するパイプライン実行およびタスク実行を認証できます。

パイプライン実行またはタスク実行は、関連付けられたサービスアカウントを介してシークレットにアクセスできます。Pipeline は、Git シークレットの Basic 認証および SSH ベースの認証のアノテーション(キーと値のペア)としての使用をサポートします。

4.12.1. 認証情報の選択

パイプライン実行またはタスク実行には、異なる Git リポジトリーにアクセスするために複数の認証が必要になる場合があります。Pipeline がその認証情報を使用できるドメインで各シークレットにアノテーションを付けます。

Git シークレットの認証情報アノテーションキーは tekton.dev/git- で開始する必要があり、その値は Pipeline がその認証情報を使用するホストの URL になります。

以下の例では、Pipeline はユーザー名とパスワードに依存する basic-auth シークレットを使用して github.com および gitlab.com のリポジトリーにアクセスします。

例: Basic 認証用の複数の認証情報

apiVersion: v1
kind: Secret
metadata:
  annotations:
    tekton.dev/git-0: github.com
    tekton.dev/git-1: gitlab.com
type: kubernetes.io/basic-auth
stringData:
  username: 1
  password: 2

1
リポジトリーのユーザー名
2
リポジトリーのパスワードまたはパーソナルアクセストークン

ssh-auth シークレット(秘密鍵)を使用して Git リポジトリーにアクセスすることもできます。

例: SSH ベースの認証の秘密鍵

apiVersion: v1
kind: Secret
metadata:
  annotations:
    tekton.dev/git-0: https://github.com
type: kubernetes.io/ssh-auth
stringData:
  ssh-privatekey: 1

1
SSH 秘密鍵の文字列を含むファイルの名前。