ソース・コード管理の構成
アプリケーション依存性管理(ADM)では、リポジトリにアクセスするための認可が必要です。
これは、ボールトにシークレットとして格納されているトークンまたはパスワードとして指定する必要があります。各外部ソース・コード管理ツールは、トークンまたはパスワードを生成する手段を提供します。
この項では、次のリポジトリの構成について説明します:
OCI DevOpsコード・リポジトリの構成
DevOpsコード・リポジトリを構成するには、OCI DevOpsサービスにリポジトリ(まだ存在しない場合)を作成する必要があります。詳細は、「リポジトリの作成」を参照してください。ホストされたリポジトリのみを構成でき、外部ソースからのミラー化されたリポジトリは構成できません。
GitHubリポジトリの構成
GitHubリポジトリを構成するには、GitHubドキュメントに記載されている手順を使用して個人アクセス・トークン(PAT)を作成します。トークンの作成を参照してください。トークンは、最小権限の原則に従う必要があり、Application Dependency Managementサービスによって監視されるリポジトリにアクセスする権限のみを持ちます。
次のパラメータを使用して、トークンを構成します。
パラメータ | 設定 |
---|---|
有効期間 | プロジェクトに適した期間を選択します。 |
リポジトリ | トップレベル・オプションを選択します。 |
ワークフロー | ワークフローを選択します これは、ビルド・ワークフローにGitHubリポジトリを使用している場合にのみ適用されます。同じトークンを使用して、GitHubビルド・ワークフローを構成します。 |
後でトークンを取得できないため、すぐにトークンを安全な場所にコピーします。トークンをシークレットとしてボールトに格納します。Vaultシークレットの管理を参照してください。
GitHubリポジトリを構成するには、次の情報を指定します。
- リポジトリのURL (
https://github.com/example/project
など)。 - リポジトリのユーザー名(トークンに対応)。
- リポジトリの個人アクセス・トークンを含むボールトおよびシークレットの名前。
- 監査可能なリポジトリのブランチ(
main
など)。 - プロジェクトのルートを基準としたプロジェクト構築ファイルのパス。値を指定しない場合は、ファイル
pom.xml
が使用されます。
GitHubプロジェクトへのアクセスは、ユーザー・アカウントの個人アクセス・トークンを使用して付与されます。マシン・ユーザー・アカウントを作成し、必要な最小限のプロジェクト・アクセス(リポジトリへのアクセスを含む)を提供して、プロジェクトへのコラボレータとして追加することをお薦めします。詳細は、マシン・ユーザーを参照してください。
GitLabリポジトリの構成
GitLabリポジトリを構成するには、GitLabドキュメントに記載されている手順を使用して個人アクセス・トークン(PAT)を作成します。「個人アクセス・トークンの作成」を参照してください。トークンは、最小権限の原則に従う必要があり、Application Dependency Managementサービスによって監視されるリポジトリにアクセスする権限のみを持ちます。
次の権限でトークンを構成します。
権限 | 説明 |
---|---|
api | マージ要求を作成するためのスコープです。 |
read_repository, write_repository | git clone/git pushのスコープ。 |
後でトークンを取得できないため、すぐにトークンを安全な場所にコピーします。トークンをシークレットとしてボールトに格納します。Vaultシークレットの管理を参照してください。
GitLabリポジトリを構成するには、次の情報を指定します。
- リポジトリのURL。たとえば、
https://gitlab.com/example/project
。 - リポジトリのユーザー名(トークンに対応)。
- リポジトリの個人アクセス・トークンを含むボールトおよびシークレットの名前。
- 監査されるリポジトリのブランチ(
main
など)。 - プロジェクトのルートを基準としたプロジェクト構築ファイルのパス。値を指定しない場合は、ファイル
pom.xml
が使用されます。
GitLabプロジェクトへのアクセスは、ユーザー・アカウントの個人アクセス・トークンを使用して付与されます。サービス・アカウント(GitLab APIへのアクセスを許可されている個別のアカウント)を作成し、リポジトリへのアクセスを含め、必要な最小限のプロジェクト・アクセスを提供して、プロジェクトへのコラボレータとして追加することをお薦めします。