構成ソース・プロバイダの管理
このトピックでは、リモートTerraform構成の構成ソース・プロバイダを作成、編集および削除する方法について説明します。
Oracle Cloud Infrastructure Resource ManagerをGitHubおよびGitLabに接続するための前提条件を次に示します。
- Oracle Cloud InfrastructureのIPアドレスを使用して、インターネット経由でGitHubまたはGitLabサーバーにアクセスできる必要があります。(このアクセシビリティ要件はGitLab.comには適用されません。)
- リソース・マネージャがGitHubまたはGitLab URLを解決できることを確認します。Oracle Cloud Infrastructureがエンドポイントを信頼できるように、GitHubまたはGitLabサーバーがdigicertなどのよく知られたルート証明書を使用してデプロイされていることを確認します。
- GitHubサーバーはGitHub APIを使用する必要があります。この前提条件を満たさないGitHubサーバーの例は、AzureネイティブGitHubソリューション(例)です。
- Oracle Cloud InfrastructureのIPアドレス範囲からのアクセスを許可するようにネットワークを構成します。Oracle Services Network (タグ:
OSN
)をはじめとして、関連するすべてのサービスの範囲を含めてください。 - GitHubまたはGitLabサーバーがデプロイされているVCN上でネットワーク・イングレス・ルールを有効にし、Oracle Cloud InfrastructureのIPアドレスからのアクセスを許可します。
- リポジトリに対してGitHub権限、GitLab管理者権限または所有者権限が必要です。
-
GitHubまたはGitLabサーバーへの個人アクセス・トークン(PAT)が必要です。PATを作成するには、関連するガイダンスおよびドキュメントを参照してください。
注意:
リソース・マネージャは顧客のリポジトリ・コンテンツを読み取りますが、リポジトリに変更をプッシュしません。- GitHub:
- リソース・マネージャとともに使用するには、スコープ
repo
(repo:status、repo_deploymentおよびpublic_repoを含む)が必要です。https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-tokenを参照してください - GitHub Enterprise Cloudの場合、PATでシングル・サインオン(SSO)を有効にする必要があります。SAMLシングル・サインオン(GitHubサイト)による認証を参照してください。
- リソース・マネージャとともに使用するには、スコープ
- GitLab:スコープ
read_api
は、リソース・マネージャで使用するために必要です。セキュリティのため、write_repository
スコープを除外することをお薦めします。https://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlを参照
- GitHub:
- タスクに必要なリソース・マネージャ権限が必要です:
- 構成ソース・プロバイダを作成するには、
manage orm-config-source-providers
が必要です。 -
既存の構成ソース・プロバイダを使用してスタックを作成するには、
manage orm-stacks
およびread orm-config-source-providers
が必要です。詳細は、IAMポリシーを参照してください。
- 構成ソース・プロバイダを作成するには、
トラブルシューティング情報は、GitHubおよびGitLabの接続の問題を参照してください。
必要なIAMポリシー
構成ソース・プロバイダを管理するには、管理者が作成するポリシーで、コンソール、またはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なアクセスのタイプを付与する必要があります。 アクションを実行しようとしたときに、権限がない、または認可されていないというメッセージが表示された場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。
Oracle Cloud Infrastructureリソースを管理するためのポリシーは、リソースにアクセスするリソース・マネージャ操作にも必要です。たとえば、コンピュート・インスタンスおよびサブネットを含むスタック上で適用ジョブを実行するには、リソースをプロビジョニングするコンパートメント内で、これらのリソース・タイプに対する権限を付与するポリシーを必要とします。Oracle Cloud Infrastructureリソースを管理するためのポリシーの例は、共通ポリシーを参照してください。
ポリシーを初めて使用する場合は、ポリシーの開始と共通ポリシーを参照してください。
管理者:グループにリソース・マネージャ・リソースへのアクセス権を付与する共通ポリシーについては、構成ソース・プロバイダの管理(リソース・マネージャの保護)を参照してください。
コンソールの使用
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「構成ソース・プロバイダ」をクリックします。
-
作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。
- 「構成ソース・プロバイダの作成」をクリックします。
- 「構成ソース・プロバイダの作成」パネルで、次のようにします:
- 構成ソース・プロバイダの名前を入力します。機密情報の入力は避けてください。
- 「説明」に入力します。
- 構成ソース・プロバイダを作成するコンパートメントを選択します。
-
必要な構成ソース・プロバイダの「タイプ」を選択します。次のオプションから選択します。
-
GitHub:サポート対象製品
- GitHub Enterprise
-
- GitHub Enterprise Server
- GitHub Enterprise Cloud
- GitHub無料(組織)
- ユーザー・アカウント用のGitHub Free
- GitHubチーム
-
GitLab:サポートされている製品
- GitLab Community Edition
- GitLab Enterprise Edition
- GitLab.com
-
-
サーバーURLをペーストします。
URLの例:
製品 URLの例 GitHub Enterprise Cloud https://github.com/org-name GitHub Enterprise Server https://hostname/api/v3 組織のGitHub無料 https://github.com/org-name ユーザー・アカウント用のGitHub無料 https://github.com GitHubチーム https://github.com/team-name GitLab.com製品 https://gitlab.com/ GitLabのインストール(相対URL) https://example.com/gitlab GitLabのインストール(サブドメイン) https://gitlab.example.com/ - 個人アクセス・トークンを貼り付けます。
- 新しい構成ソース・プロバイダにタグを付けるには、「拡張オプションの表示」をクリックし、タグを追加します。
-
「作成」をクリックします。
ノート指定された個人アクセス・トークン(PAT)を使用してリソース・マネージャがサーバーURLにアクセスできる
ことを確認するには、構成ソース・プロバイダの詳細ページで「接続の検証」をクリックします。ステップは、「構成ソース・プロバイダのアクセシビリティを確認するには」を参照してください。
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「構成ソース・プロバイダ」をクリックします。
-
作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。
-
目的の構成ソース・プロバイダの名前をクリックします。
-
「構成ソース・プロバイダ情報」ページで、「接続の検証」をクリックします。
このオプションは、「構成ソース・プロバイダ情報」タブの「サーバーURL」の右側にあります。
指定された個人アクセス・トークン(PAT)を使用してリソース・マネージャがサーバーURLにアクセスできるかどうかを示すメッセージが表示されます。
トラブルシューティング情報は、GitHubおよびGitLabの接続の問題を参照してください。
ことを確認するには、構成ソース・プロバイダの詳細ページで「接続の検証」をクリックします。ステップは、「構成ソース・プロバイダのアクセシビリティを確認するには」を参照してください。
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「構成ソース・プロバイダ」をクリックします。
-
作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。
- 編集する構成ソース・プロバイダの名前をクリックします。
- 「編集」をクリックします。
-
「構成ソース・プロバイダの編集」ダイアログ・ボックスで、必要に応じてプロパティ値を更新します。
- 「変更の保存」をクリックします。
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「構成ソース・プロバイダ」をクリックします。
-
作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。
- 削除する構成ソース・プロバイダの名前をクリックします。
- 「削除」をクリックし、アクションを確認します。
CLIの使用
この項では、スタックおよびジョブを管理するための基本的なCLIコマンドのサンプルを提供します。CLIの使用の詳細は、コマンド・ライン・インタフェース(CLI)を参照してください。CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。
CI/CDパイプラインでのクラウド・プロビジョニングにCLIを使用する手順は、「クラウドでのIaCの使用: CI/CDパイプラインへのTerraformおよびリソース・マネージャの統合- OCI CLIを使用した構築」を参照してください。
- GitHub:
コマンド・プロンプトを開き、
resource-manager configuration-source-provider create-github-access-token-provider
を実行してGitHub構成ソース・プロバイダを作成します:oci resource-manager stack create-github-access-token-provider --api-endpoint <github_url> --access-token <personal_access_token> --compartment-id <compartment_OCID> --display-name "<friendly_name>" --description "<description>"
例:
oci resource-manager stack create-github-access-token-provider --api-endpoint https://api.github.com/ --access-token token --compartment-id ocid1.tenancy.oc1..uniqueid --display-name "My Configuration Source Provider" --description "Department 80"
- GitLab:
コマンド・プロンプトを開き、
resource-manager configuration-source-provider create-gitlab-access-token-provider
を実行して、GitLab構成ソース・プロバイダを作成します:oci resource-manager stack create-gitlab-access-token-provider --api-endpoint <gitlab_url> --access-token <personal_access_token> --compartment-id <compartment_OCID> --display-name "<friendly_name>" --description "<description>"
例:
oci resource-manager stack create-gitlab-access-token-provider --api-endpoint https://gitlab.com/api/v3/ --access-token token --compartment-id ocid1.tenancy.oc1..uniqueid --display-name "My Configuration Source Provider" --description "Department 80"
CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。
- GitHub:
コマンド・プロンプトを開き、
resource-manager configuration-source-provider update-github-access-token-provider
を実行して、指定した構成ソース・プロバイダを編集します:oci resource-manager stack update-github-access-token-provider --configuration-source-provider-id <configuration_source_provider_OCID> --api-endpoint <github_url> --access-token <personal_access_token> --display-name "<friendly_name>" --description "<description>"
例:
oci resource-manager stack update-github-access-token-provider --configuration-source-provider-id ocid.ormconfigsourceprovider.oc1..uniqueid --description "Department 99"
- GitLab:
コマンド・プロンプトを開き、
resource-manager configuration-source-provider update-gitlab-access-token-provider
を実行して、指定した構成ソース・プロバイダを編集します:oci resource-manager stack update-gitlab-access-token-provider --configuration-source-provider-id <configuration_source_provider_OCID> --api-endpoint <gitlab_url> --access-token <personal_access_token> --display-name "<friendly_name>" --description "<description>"
例:
oci resource-manager stack update-gitlab-access-token-provider --configuration-source-provider-id ocid.ormconfigsourceprovider.oc1..uniqueid --description "Department 99"
CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。
コマンド・プロンプトを開き、resource-manager configuration-source-provider delete
を実行して、指定した構成ソース・プロバイダを削除します:
oci resource-manager configuration-source-provider delete --config-source-configuration-source-provider-id <configuration_source_provider_OCID>
CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。
APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKの詳細は、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。
次のAPI操作を使用して、構成ソース・プロバイダを管理します: