제휴 ID와 함께 사용할 Secure Source Manager 인스턴스 만들기

이 문서에서는 외부 ID 공급업체(IdP)와 함께 사용할 직원 ID 제휴를 사용하여 Secure Source Manager 인스턴스를 만드는 방법을 설명합니다.

직원 ID 제휴에 대한 자세한 내용은 직원 ID 제휴를 참고하세요.

Secure Source Manager의 직원 ID 제휴 제한사항에 관한 자세한 내용은 ID 제휴: 제품 및 제한사항을 참고하세요.

Secure Source Manager는 단일 테넌트 서비스입니다. 계약 관계가 있는 여러 회사가 공동작업을 위해 단일 인스턴스를 사용해야 하는 경우가 아니라면 단일 Secure Source Manager 인스턴스에는 하나의Google Cloud 고객의 사용자만 포함되어야 합니다.

여러 회사와 협력하여 소스 코드를 공동작업하려는 경우 회사별로 별도의 인스턴스를 만드는 것이 좋습니다.

시작하기 전에

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Secure Source Manager API.

    Enable the API

  4. Install the Google Cloud CLI.

  5. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  6. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Enable the Secure Source Manager API.

    Enable the API

  9. Install the Google Cloud CLI.

  10. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  11. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  12. beta Google Cloud CLI 구성요소를 설치합니다.
    gcloud components install beta
  13. 데이터 암호화

    기본적으로 Google Cloud 는Google-owned and Google-managed encryption keys를 사용하여 저장 데이터를 자동으로 암호화합니다. 데이터를 보호하는 키와 관련된 특정 규정 준수 또는 규제 요구사항이 있으면 고객 관리 암호화 키 (CMEK)로 암호화된 Secure Source Manager 인스턴스를 만들 수 있습니다.

    인스턴스 ID 또는 라벨 키-값 쌍에는 민감한 정보를 저장하지 마세요. CMEK로 암호화되지 않기 때문입니다.

    프로젝트에서 첫 번째 Secure Source Manager 인스턴스를 만드는 경우 다음 명령어를 실행하여 Secure Source Manager 서비스 에이전트를 수동으로 만들어야 합니다.

    gcloud beta services identity create \
        --service=securesourcemanager.googleapis.com \
        --project=PROJECT_ID
    

    여기서 PROJECT_ID는 Secure Source Manager 인스턴스를 만들 프로젝트의 프로젝트 ID입니다.

    제품별, 프로젝트별 서비스 계정 (P4SA)을 만든 후에는 보안 소스 관리자 서비스 에이전트 역할(roles/securesourcemanager.serviceAgent)을 보안 주체 service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com에 부여해야 합니다. 그렇지 않으면 인스턴스 생성이 실패합니다.

    직원 ID 제휴 설정

    인스턴스를 만들기 전에 직원 ID 제휴 풀 및 제공업체를 설정해야 합니다.

    1. 직원 ID 제휴 풀을 만듭니다.

    2. 다음 속성 매핑을 사용하여 직원 ID 풀 공급업체를 구성합니다.

      • google.subject
      • google.email

    인스턴스 만들기

    명령어를 실행하기 전에 다음을 바꿉니다.

    • INSTANCE_ID: 만들려는 인스턴스의 이름입니다.
    • LOCATION: 인스턴스를 만들 리전입니다. 지원되는 위치에 대한 자세한 내용은 위치를 참고하세요.
    • PROJECT_ID: 인스턴스를 만들 프로젝트의 프로젝트 ID입니다.

    다음 명령어를 실행합니다.

    curl \
        -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=INSTANCE_ID \
        -H "Content-Type: application/json" \
        -d "{workforce_identity_federation_config: {enabled: true}}"
    
    

    장기 실행 인스턴스 생성 작업이 시작됩니다. 출력은 다음과 유사합니다.

    {
    "name": "OPERATION_NAME",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
      "createTime": "2022-11-01T14:31:32.420469714Z",
      "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1"
    },
    "done": false
    }
    

    이 예시 출력에는 다음 값이 포함됩니다.

    • OPERATION_NAME: 작업 이름(예: projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e)
    • PROJECT_ID: Google Cloud 프로젝트
    • LOCATION: 인스턴스가 있는 리전입니다.

    작업 상태를 확인하는 데 사용해야 하므로 OPERATION_NAME를 기록합니다.

    인스턴스를 만드는 데 최대 60분이 걸립니다.

    생성 작업의 상태 확인

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • OPERATION_NAME: 생성 명령 응답의 작업 이름입니다.

    HTTP 메서드 및 URL:

    GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    인스턴스가 준비되면 다음과 비슷한 응답이 표시됩니다.

      "name": "projects/my-project/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
        "createTime": "2024-10-28T15:37:39.009812863Z",
        "endTime": "2024-10-28T16:10:58.416640259Z",
        "target": "projects/my-project/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/my-project/locations/us-central1/instances/my-instance",
        "createTime": "2024-10-28T15:37:39.004550840Z",
        "updateTime": "2024-10-28T15:37:39.867857246Z",
        "state": "ACTIVE",
        "hostConfig": {
          "html": "my-instance-326202322590.us-central1.sourcemanager.dev",
          "api": "my-instance-326202322590-api.us-central1.sourcemanager.dev",
          "gitHttp": "my-instance-326202322590-git.us-central1.sourcemanager.dev",
          "gitSsh": "my-instance-326202322590-ssh.us-central1.sourcemanager.dev"
        },
        "workforceIdentityFederationConfig": {
          "enabled": true
        }
      }
    

    여기서 my-instance-098765432109.us-central1.sourcemanager.dev은 인스턴스 HTML URL입니다.

    성공적으로 생성된 확인 상태 응답에서 HTML URL을 복사합니다. 웹 인터페이스를 통해 인스턴스에 액세스하려면 이 URL이 필요합니다.

    인스턴스 액세스

    인스턴스가 생성되면 브라우저를 사용하여 웹 인터페이스를 통해 액세스할 수 있습니다.

    1. 웹 인터페이스를 통해 Secure Source Manager 인스턴스에 액세스하려면 다음 URL을 브라우저 주소 표시줄에 복사합니다.

      INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

      다음을 바꿉니다.

      • INSTANCE_ID을 인스턴스 이름으로 바꿉니다.
      • PROJECT_NUMBER를 인스턴스의 Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 식별에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • LOCATION을 인스턴스의 리전으로 바꿉니다.

      OAuth 화면이 표시되고 제공업체 이름을 요청합니다.

    2. 직원 ID 공급업체의 이름을 다음 형식으로 입력합니다.

      locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID
      

      다음을 바꿉니다.

      • POOL_ID를 직원 ID 제휴 풀 ID로 바꿉니다.
      • PROVIDER_ID: 직원 ID 제휴 공급업체 ID.

      직원 ID 제휴 풀 및 제공업체에 대한 자세한 내용은 직원 ID 제휴 ID 풀 및 제공업체 관리를 참고하세요.

      제공업체 사용자 인증 정보를 사용하여 로그인하라는 메시지가 표시됩니다.

    3. 제공업체 사용자 인증 정보로 로그인합니다.

    4. Secure Source Manager 웹 인터페이스가 열립니다. 웹 인터페이스에서 저장소와 연결된 모든 문제 및 풀 요청을 만들고 볼 수 있습니다.

      직원 ID 제휴 풀에서 설정한 세션 기간이 만료되면 웹 인터페이스를 통해 다시 로그인해야 합니다.

    gcloud CLI 로그인 구성 만들기

    gcloud CLI 명령어 또는 Git 명령어를 사용하여 직원 ID 풀 사용자 인증 정보로 Secure Source Manager 인스턴스를 인증하려면 직원 ID 풀로 로그인 구성을 만들어야 합니다.

    직원 ID 풀 로그인 구성을 만들려면 직원 ID 제휴를 위한 단기 토큰 가져오기의 안내에 따라 gcloud CLI로 브라우저 기반 로그인을 만드세요.

    인증 후 Git 명령어를 사용하여 Secure Source Manager 인스턴스와 상호작용할 수 있습니다. Git을 시작하려면 Git 소스 코드 관리 사용의 안내를 따르세요.

    다음 단계