IAM을 사용하여 액세스 관리

기본적으로 프로젝트 소유자와 편집자만 서비스를 생성, 업데이트, 삭제 또는 호출할 수 있으며, 프로젝트 소유자와 Cloud Run 관리자만 ID 및 액세스 관리(IAM) 정책을 수정(예: 서비스를 공개하도록 설정)할 수 있습니다. 자세한 내용은 Cloud Run IAM 역할을 참조하세요.

다른 사용자 또는 그룹에 이러한 작업을 할 수 있는 권한을 부여하려면 IAM을 사용하여 역할을 다른 구성원에게 부여하면 됩니다.

개별 서비스에 대한 액세스 제어

서비스별로 액세스를 제어하려는 경우 서비스별 IAM을 사용할 수 있습니다.

서비스 공개 설정

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 공개할 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

  4. 구성원 추가 필드에서 allUsers를 선택합니다.

  5. 역할 선택 드롭다운 메뉴에서 Cloud Run 호출자 역할을 선택합니다.

  6. 추가를 클릭합니다.

gcloud

특수 allUsers 구성원 유형을 서비스에 추가하고 roles/run.invoker 역할을 부여하면 서비스에 공개적으로 액세스할 수 있습니다.

  gcloud run services add-iam-policy-binding [SERVICE_NAME] \
    --member="allUsers" \
    --role="roles/run.invoker"

또는 gcloud run deploy 명령어로 서비스를 배포할 때 서비스에 공개적으로 액세스할 수 있는지 여부를 명시적으로 지정할 수 있습니다.

gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated

새 서비스를 만들 때 '인증되지 않은 액세스를 허용'할지 확인하는 메시지가 표시됩니다. 예라고 답변하면 위의 작업을 수행하여 서비스를 공개할 수 있습니다. 아니요로 답변하면 서비스가 비공개로 유지됩니다.

도메인 제한 공유

조직 정책에서 도메인 제한 공유 제약조건이 적용되는 프로젝트에서는 공개 서비스를 만들 수 없습니다. 이 제한이 적용되지 않는 폴더에 모든 프로젝트를 만들고 기존 프로젝트에서 삭제하는 것이 좋습니다.

사용자 추가

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 사용자를 추가할 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

  4. 구성원 추가 필드에 서비스에 액세스해야 하는 ID를 한 개 이상 입력합니다.

  5. 역할 선택 드롭다운 메뉴에서 역할을 한 개 이상 선택합니다. 선택한 역할 및 부여되는 권한에 대한 간단한 설명이 창에 표시됩니다.

  6. 추가를 클릭합니다.

gcloud

gcloud run services add-iam-policy-binding 명령어를 사용합니다.

gcloud run services add-iam-policy-binding SERVICE_NAME \
  --member=MEMBER_TYPE \
  --role=ROLE

여기서 SERVICE_NAME은 서비스 이름이고 MEMBER_TYPE은 구성원 유형(예: user:email@domain.com)이고 ROLE은 역할입니다.

MEMBER_TYPE에 사용 가능한 값 목록은 IAM 개념 페이지를 참조하세요. ROLE에 사용 가능한 값 목록은 Cloud Run IAM 역할을 참조하세요.

사용자 삭제

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 사용자를 삭제할 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

  4. 삭제할 사용자를 검색하거나 사용자의 역할을 확대합니다.

  5. 역할 내 구성원 유형 옆에 있는 삭제 휴지통을 클릭하여 구성원의 역할을 삭제합니다.

gcloud

gcloud run services remove-iam-policy-binding 명령어를 사용합니다.

  gcloud run services remove-iam-policy-binding SERVICE_NAME \
    --member=MEMBER_TYPE \
    --role=ROLE

여기서 SERVICE_NAME은 서비스 이름이고 MEMBER_TYPE은 구성원 유형(예: user:email@domain.com)이고 ROLE은 역할입니다.

MEMBER_TYPE에 사용 가능한 값 목록은 IAM 개념 페이지를 참조하세요. ROLE에 사용 가능한 값 목록은 Cloud Run IAM 역할을 참조하세요.

사용자 일괄 추가 또는 삭제

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 사용자를 추가하거나 삭제할 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

사용자를 추가하려면 다음 단계를 따르세요.

  1. 구성원 추가 필드에 서비스에 액세스해야 하는 ID를 여러 개 입력합니다.

  2. 역할 선택 드롭다운 메뉴에서 역할을 한 개 이상 선택합니다. 선택한 역할 및 부여되는 권한에 대한 간단한 설명이 창에 표시됩니다.

  3. 추가를 클릭합니다.

사용자를 삭제하려면 다음 단계를 따르세요.

  1. 삭제할 사용자를 검색하거나 사용자의 역할을 펼칩니다.

  2. 역할 내 구성원 유형 옆에 있는 삭제 휴지통을 클릭하여 구성원의 역할을 삭제합니다.

gcloud

IAM 정책을 만듭니다.

cat <<EOF > policy.json
{
  "bindings": [
    {
      "role": ROLE,
      "members": [
        MEMBER_TYPE
      ]
    }
  ]
}
EOF

gcloud run services set-iam-policy 명령어를 사용합니다.

gcloud run services set-iam-policy SERVICE_NAME policy.json

MEMBER_TYPE에 사용 가능한 값 목록은 IAM 개념 페이지를 참조하세요. ROLE에 사용 가능한 값 목록은 Cloud Run IAM 역할을 참조하세요.

사용자 보기

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 사용자 및 역할을 확인할 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

  4. 모든 사용자가 부여된 역할별로 그룹화되어 표시됩니다.

gcloud

gcloud run services get-iam-policy 명령어를 사용합니다.

gcloud run services get-iam-policy SERVICE_NAME

프로젝트의 모든 서비스에 대한 액세스 제어

프로젝트의 모든 서비스에서 구성원에게 역할을 부여하려면 프로젝트 수준 IAM을 사용하면 됩니다.

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 프로젝트 수준의 전체 역할을 부여할 사용자를 찾습니다.

  3. 사용자 행의 오른쪽에 있는 수정 연필을 클릭합니다.

  4. 다른 역할 추가를 클릭하고 원하는 역할을 선택합니다.

  5. 저장을 클릭합니다.

gcloud

gcloud projects add-iam-policy-binding 명령어를 사용합니다.

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER_TYPE \
  --role=ROLE

여기서 MEMBER_TYPE은 구성원 유형(예: user:email@domain.com)이고 ROLE은 역할(예: roles/run.admin)입니다.

다음 단계

보안을 설정한 서비스에 개발자, 서비스, 사용자를 안전하게 인증하는 방법 알아보기