Git資格証明マネージャの構成

Git Credential Manager (GCM)を使用して、DevOpsコード・リポジトリでGit操作用のOracle Cloud Infrastructure認証トークンを安全に格納して再利用します。

HTTPS経由でOCI DevOpsコード・リポジトリにアクセスする場合は、すべてのGit操作に認証を提供する必要があります。セキュリティを強化するために、認証トークンを使用することをお薦めします。

アクセスをさらに合理化するために、GCMを使用して資格証明をローカル・システムに安全に格納できます。または、HTTPS経由の認証トークンを使用するかわりに、Git認証用にSSHキーを構成できます。

この項では、Oracle Cloud Infrastructure (OCI) DevOpsコード・リポジトリを使用してGit操作の資格証明を安全に格納および管理する方法について説明します。

前提条件

  • IAMポリシーを作成して、DevOpsコード・リポジトリおよび関連リソースにアクセスする権限をユーザーに付与します。詳細は、コード・リポジトリ・ポリシーおよびDevOps IAMポリシーを参照してください。
  • Git with OCI DevOpsコード・リポジトリを使用するユーザーごとに、認証トークンを作成します。
  • DevOpsプロジェクトに関連付けられたコード・リポジトリを作成します。
  • Gitバージョン2.11以降をシステムにインストールします。
  • Gitユーザー名および電子メール・アドレスを構成します。Gitは、これらの値を使用してコミットを識別します。

    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"

Git資格証明マネージャの構成

OSに付属するGCMを使用して、OCI認証トークンを格納できます。OSの手順を使用します。

資格証明マネージャが認証トークンを格納すると、HTTPSを介したGit操作に対して認証トークンが自動的に再利用されます。認証トークンを変更するか、格納されている資格証明を削除した場合のみ、プロンプトが再度表示されます。

Windows用のGCMの構成

Git for Windowsに付属のGit Credential Managerを使用して、OCI認証トークンを格納します。

  1. Git for Windowsをインストールします。Git資格証明マネージャがデフォルトで含まれています。
  2. コマンド・プロンプトを開きます。
  3. GCMをデフォルトのヘルパーとして設定します: git config --global credential.helper manager-core
  4. HTTPSを使用してリポジトリをクローニングします。git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  5. パスワードの入力を求められたら、OCI認証トークンを貼り付けます。

macOS用のGCMの構成

macOS Keychainヘルパーを使用して、Git操作用のOCI認証トークンをHTTPS経由で格納します。

  1. macOS用のGitをインストールします。
  2. macOS Keychainヘルパーをデフォルトの資格証明マネージャとして設定します: git config --global credential.helper osxkeychain
  3. HTTPSを使用してリポジトリをクローニングします。git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  4. パスワードの入力を求められたら、OCI認証トークンを貼り付けます。

Linux用のGCMの構成

Git Credential Manager Coreをインストールし、Gitのデフォルト・ヘルパーとして構成します。

  1. パッケージマネージャーを使用してGitをインストールします。
  2. Git Credential Manager Coreの手順に従って、Git Credential Manager Coreをインストールします。
  3. GCMをデフォルトのヘルパーとして設定します: git config --global credential.helper manager-core

    資格証明ヘルパー値はmanager-coreです。

  4. HTTPSを使用してリポジトリをクローニングします。git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  5. パスワードの入力を求められたら、OCI認証トークンを貼り付けます。

資格証明ヘルパー構成の検証

次のコマンドを実行して、資格証明ヘルパー構成を検証します。

git config --global credential.helper

出力には、オペレーティング・システムの資格証明マネージャが表示されている必要があります。

資格証明マネージャが認証トークンを格納すると、HTTPSを介したGit操作に対して認証トークンが自動的に再利用されます。認証トークンを変更するか、格納されている資格証明を削除した場合にのみ、プロンプトが再度表示されます。

保存された資格証明の更新または削除

  • Windowsでは、資格証明マネージャを使用して、保存済アイテムを編集または削除します。
  • macOSでは、Keychain Accessを使用します。
  • Linuxでは、資格証明マネージャのドキュメントを使用してエントリを管理します。

コマンド行から資格証明をクリアするには、次のコマンドを実行します。

git credential-manager erase

Gitのプロキシの構成

ネットワークがアウトバウンドHTTPSトラフィック用のプロキシを必要とする場合は、Gitでプロキシ設定を構成します。

git config --global http.proxy http://proxy:port
git config --global https.proxy http://proxy:port

プロキシ設定を削除するには以下を実行します。

git config --global --unset http.proxy
git config --global --unset https.proxy

Gitのプロキシの構成はオプションです。

セキュリティ・ガイダンス

  • 認証トークンを定期的にローテーションし、ローテーション後に格納された資格証明を更新します。
  • 認証トークンを安全に保管し、共有しないでください。

トラブルシューティング

  • 認証エラーが発生した場合は、資格証明マネージャが正しく構成され、認証トークンが有効であることを確認します。
  • トークンを変更または取り消した場合は、保存されている資格証明を更新するか、削除してから再試行します。
  • 認証に失敗したエラーが表示された場合は、新しい認証トークンを生成し、Git操作を再試行してください。
  • リポジトリが見つからないというエラーが表示された場合は、リポジトリURLを確認し、必要なIAMポリシーが定義されていることを確認します。
  • 「403 Forbidden」エラーが表示された場合は、リポジトリへのアクセスに必要な権限があることを確認します。
  • 資格証明ヘルパー構成をリセットするには、次を実行します:

    git config --global --unset credential.helper
  • 格納されている資格証明を削除するには、次を実行します。

    git credential-manager erase
  • 診断情報を収集するには、次を実行します。

    git credential-manager diagnose