インスタンスを作成してアクセスする

Secure Source Manager インスタンスを作成し、そのウェブ インターフェースにアクセスして、リポジトリの作成とユーザーへのアクセス権の付与の準備をします。

始める前に

  1. Google Cloud CLI をインストールします。

  2. フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。

    詳細については、 フェデレーション ID を使用して gcloud CLI にログインするをご覧ください。

  3. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  4. Google Cloud プロジェクトを作成または選択します。

    プロジェクトの選択または作成に必要なロール

    • プロジェクトを選択する: プロジェクトを選択する際に、特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、resourcemanager.projects.create 権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
    • Google Cloud プロジェクトを作成します。

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、 Google Cloud プロジェクト名に置き換えます。

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します。

  6. Secure Source Manager API が有効になっていない場合は、有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。

    gcloud services enable securesourcemanager.googleapis.com

必要なロール

Secure Source Manager インスタンスの作成に必要な権限を取得するには、 Google Cloud プロジェクトに対するインスタンス オーナー (roles/securesourcemanager.instanceOwner)IAM ロールの付与を管理者に依頼してください。

Secure Source Manager のロールは、プリンシパルに付与されるまで Google Cloud コンソールに表示されません。Secure Source Manager のロールを初めて付与するには、IAM ロールの付与と取り消しをご覧ください。

インスタンスの作成

  1. 次のコマンドを実行して、us-central1 ロケーションに my-instance という名前のインスタンスを作成します。gcloud CLI への認証を求められることがあります。

    gcloud source-manager instances create my-instance \
        --region=us-central1
    

    ここで

    • my-instance はインスタンス名です。
    • us-central1 は、インスタンスを作成するリージョンです。

    長時間実行のインスタンス作成オペレーションが開始されます。出力は次のようになります。

    Create request issued for [my-instance].
    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata
      apiVersion: v1
      createTime: '2023-02-27T20:57:52.315609549Z'
      requestedCancellation: false
      target: projects/PROJECT_ID/locations/us-central1/instances/my-instance
      verb: create
    name: projects/PROJECT_ID/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e
    

    インスタンスの作成には最大 60 分かかります。

  2. リクエストに対するレスポンスで受信したオペレーションの完全なリソース名である OPERATION_NAME をメモします。次の形式で、次のステップでオペレーションのステータスを確認するときに必要になります。

    projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

    例: projects/PROJECT_ID/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e ここで、PROJECT_ID は Google Cloud プロジェクトです。

  3. 次のコマンドを実行して、create オペレーションのステータスを確認します。

    gcloud source-manager operations describe OPERATION_NAME \
        --region=us-central1
    

    OPERATION_NAME は、create コマンドのレスポンスで返されたオペレーション名に置き換えます。

    インスタンスの準備が完了すると、次のようなレスポンスが返されます。

    {
    "name": "projects/PROJECT_ID/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
      "createTime": "2022-11-01T14:31:32.420469714Z",
      "endTime": "2022-11-01T14:48:34.140378114Z",
      "target": "projects/PROJECT_ID/locations/us-central1/instances/my-instance",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1"
    },
    "done": true,
    "response": {
      "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Instance",
      "name": "projects/PROJECT_ID/locations/us-central1/instances/my-instance",
      "createTime": "2022-11-01T14:31:32.416413630Z",
      "updateTime": "2022-11-01T14:31:32.416413630Z"
      },
      "state": "ACTIVE",
      "hostConfig": {
        "html": "my-instance-098765432109.us-central1.sourcemanager.dev",
        "api": "my-instance-098765432109-api.us-central1.sourcemanager.dev",
        "gitHttp": "my-instance-098765432109-git.us-central1.sourcemanager.dev"
      }
    }
    }
    

    ここで

    • my-instance-098765432109.us-central1.sourcemanager.dev はインスタンスの HTML URL です。
    • PROJECT_ID はプロジェクト ID です。
  4. 正常に作成されたステータス確認コマンドから HTML URL をコピーします。この URL は、ウェブブラウザを使用してインスタンスにアクセスするために必要です。

インスタンスにアクセスする

インスタンスを作成したら、ブラウザを使用してウェブ インターフェースからインスタンスにアクセスできます。

  1. インスタンスの HTML URL を取得するには、次のコマンドをもう一度実行します。

       gcloud source-manager operations describe OPERATION_NAME \
        --region=us-central1
    
  2. gcloud source-manager operations describe コマンドの正常なレスポンスから HTML URL をコピーして、ブラウザのアドレスバーに貼り付けます。

  3. OAuth 2.0 画面が表示され、sourcemanager.dev に Google Cloud アカウントへのアクセスを許可するかどうかを尋ねられます。

  4. [許可] ボタンをクリックします。

  5. Secure Source Manager のウェブ インターフェースが開きます。ウェブ インターフェースから、リポジトリと、関連するすべての問題と pull リクエストを作成して表示できます。

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。

  1. Google Cloud コンソールで [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ