7단계: 동기화 담당자 액세스 사용 설정

승인 토큰 가져오기

이 주제의 뒷 부분에 설명된 Apigee API 호출을 수행하려면 Apigee 조직 관리자 역할이 있는 승인 토큰을 가져와야 합니다.

  1. Apigee Hybrid 조직과 연관된 Google Cloud 프로젝트의 소유자가 아닌 경우 Google Cloud 사용자 계정에 roles/apigee.admin(Apigee 조직 관리자) 역할이 있는지 확인합니다. 다음 명령어로 할당된 역할을 확인할 수 있습니다.
    gcloud projects get-iam-policy ${PROJECT_ID}  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:your_account_email"
    

    예를 들면 다음과 같습니다.

    gcloud projects get-iam-policy my-project  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:myusername@example.com"

    출력에는 roles/apigee.admin이 포함되어야 합니다.

  2. roles/apigee.admin이 없으면 사용자 계정에 Apigee 조직 관리자 역할을 추가합니다. 다음 명령어를 사용하여 역할을 사용자 계정에 추가합니다.
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
      --member user:your_account_email \
      --role roles/apigee.admin

    예를 들면 다음과 같습니다.

    gcloud projects add-iam-policy-binding my-project \
      --member user:myusername@example.com \
      --role roles/apigee.admin
  3. 명령줄에서 다음 명령어를 사용하여 gcloud 인증 사용자 인증 정보를 가져옵니다.

    Linux/MacOS

    export TOKEN=$(gcloud auth print-access-token)

    토큰이 입력되었는지 확인하려면 다음 예시와 같이 echo를 사용합니다.

    echo $TOKEN

    그러면 토큰이 인코딩된 문자열로 표시됩니다.

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    토큰이 입력되었는지 확인하려면 다음 예시와 같이 echo를 사용합니다.

    echo %TOKEN%

    그러면 토큰이 인코딩된 문자열로 표시됩니다.

동기화 담당자 액세스 사용 설정

동기화 담당자 액세스를 사용 설정하려면 다음 안내를 따르세요.

  1. 동기화 담당자 액세스 권한을 부여할 서비스 계정에 대해 이메일 주소를 가져옵니다. 비프로덕션 환경(이 튜토리얼의 설명 참조)의 경우 apigee-non-prod여야 합니다. 프로덕션 환경에서는 apigee-synchronizer여야 합니다. 다음 명령어를 사용하세요.
    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
  2. 다음 명령어를 사용하여 setSyncAuthorization API를 호출하여 동기화 담당자에 필요한 권한을 사용 설정합니다.

    데이터 상주 없음

    curl -X POST -H "Authorization: Bearer ${TOKEN}" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \
       -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
    

    각 항목의 의미는 다음과 같습니다.

    • ${ORG_NAME}: 하이브리드 조직의 이름입니다.
    • apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: 서비스 계정의 이메일 주소입니다.

    데이터 상주

    curl -X POST -H "Authorization: Bearer ${TOKEN}" \
      -H "Content-Type:application/json" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \
       -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
    

    각 항목의 의미는 다음과 같습니다.

    • CONTROL_PLANE_LOCATION: 하이브리드 설치에서 데이터 상주를 사용하는 경우 컨트롤 플레인 데이터의 위치입니다. 프록시 번들과 같은 고객 핵심 콘텐츠가 저장되는 위치입니다. 목록은 사용 가능한 Apigee API 컨트롤 플레인 리전을 참조하세요.
    • ${ORG_NAME}: 하이브리드 조직의 이름입니다.
    • apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: 서비스 계정의 이메일 주소입니다.
  3. 서비스 계정이 설정되었는지 확인하려면 다음 명령어로 API를 호출하여 서비스 계정 목록을 가져옵니다.

    데이터 상주 없음

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
        

    데이터 상주

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
        

    결과는 다음과 유사합니다.

    {
       "identities":[
          "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

이제 Apigee Hybrid 런타임 및 관리 영역을 사용해서 통신할 수 있습니다. 다음으로, Apigee Hybrid가 인증서를 해석하고 관리할 수 있도록 cert-manager를 설치합니다.

다음 단계

1 2 3 4 5 6 7 (다음) 8단계: cert-manager 설치 9 10 11