IAM 조건을 사용하여 개별 워크스테이션 포트에 대한 액세스 권한을 부여할 수 있습니다. 이는 개별 워크스테이션 포트에 대한 제한된 액세스 권한을 공유하는 데 유용합니다. 예를 들어 IAM 조건을 사용하여 워크스테이션 포트에서 실행되는 데모 서버에 대한 액세스 권한을 부여할 수 있습니다.
Cloud Workstations는 destination.port
IAM 조건 속성을 지원합니다.
IAM 조건에 대한 자세한 내용은 다음을 참고하세요.
시작하기 전에
개별 워크스테이션 포트에 대한 액세스 권한을 부여하려면 워크스테이션에 Cloud Workstations 정책 관리자(roles/workstations.policyAdmin
) 역할이 있어야 합니다.
워크스테이션에서 IAM 역할 확인
워크스테이션에 Cloud Workstations 사용자 (roles/workstations.user
) 및 Cloud Workstations 정책 관리자 (roles/workstations.policyAdmin
) 역할이 있는지 확인합니다. 이러한 역할이 없으면 조직의 Cloud Workstations 관리자에게 워크스테이션에서 이러한 역할을 부여해 달라고 요청하세요.
워크스테이션에서 데모 서버 시작
워크스테이션 시작 가이드를 사용하여 워크스테이션을 시작하고 연결합니다. 워크스테이션에서 다음 명령어를 실행하여 워크스테이션 포트에서 데모 서버를 시작합니다.
python3 -m http.server WORKSTATIONS_PORT
다음을 바꿉니다.
WORKSTATIONS_PORT
: 데모 서버가 리슨하는 포트입니다. 예를 들어 8081을 사용합니다.
워크스테이션의 조건부 IAM 정책 업데이트
워크스테이션 포트에 대한 액세스 권한을 부여하려면 Google Cloud 콘솔 또는 gcloud
CLI iam policies
명령어를 사용하면 됩니다.
콘솔
워크스테이션에 조건부 액세스 권한을 부여하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Cloud Workstations > 워크스테이션 페이지로 이동합니다.
워크스테이션을 찾은 다음 more_vert더보기 옵션 메뉴를 클릭하고 사용자 추가를 선택합니다.
조건부 액세스 권한을 부여하려면 주 구성원의 이메일을 입력합니다. 예를 들면
222larabrown@gmail.com
입니다.Cloud Workstations 사용자가 역할로 선택되어 있는지 확인합니다.
포트별 액세스 권한을 부여하도록 IAM 조건을 업데이트합니다.
IAM 조건 추가를 클릭합니다.
포트 8081과 같은 제목을 지정합니다.
조건 편집기 탭에서 다음 조건을 입력합니다.
destination.port == WORKSTATIONS_PORT
- 저장을 클릭하여 특정 포트에 대한 조건부 액세스 권한을 주 구성원에게 부여하는 작업을 완료합니다.
gcloud
gcloud
CLIworkstations get-iam-policy
명령어를 사용하여 워크스테이션 IAM 정책을 가져옵니다. 이 명령어는/tmp/WORKSTATIONS_NAME.yaml
파일에 정책을 출력합니다. 파일이 이미 있으면 덮어씁니다.gcloud workstations get-iam-policy WORKSTATIONS_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --config=WORKSTATIONS_CONFIG_NAME \ --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID \ > /tmp/WORKSTATIONS_NAME.yaml
다음을 바꿉니다.
WORKSTATIONS_NAME
: 워크스테이션의 이름입니다.WORKSTATIONS_CONFIG_NAME
: 워크스테이션 구성의 이름입니다.WORKSTATIONS_CLUSTER_NAME
: 워크스테이션 클러스터의 이름입니다.LOCATION
: 워크스테이션 클러스터의 리전 이름입니다.WORKSTATIONS_PROJECT_ID
: 워크스테이션이 포함된 Cloud Workstations 프로젝트의 ID입니다.
사용자에게 조건부 액세스 권한을 부여하려면 이전 단계에서 다운로드한 워크스테이션의 IAM 정책 파일(
/tmp/WORKSTATIONS_NAME.yaml
)을 업데이트합니다.예를 들면 다음과 같습니다.
bindings: - members: - user:YOUR_ID role: roles/workstations.user - condition: expression: destination.port == WORKSTATIONS_PORT title: Port WORKSTATIONS_PORT members: - user:PRINCIPAL role: roles/workstations.user etag: BwYlui8uSXo= version: 3
다음을 바꿉니다.
YOUR_ID
: 자체 로그인 ID입니다. 예를 들면222larabrown@gmail.com
입니다.PRINCIPAL
: 워크스테이션의 포트 WORKSTATIONS_PORT에 대한 액세스 권한을 공유할 주 구성원입니다. 예를 들면baklavainthebalkans@gmail.com
입니다.WORKSTATIONS_PORT
: 데모 서버가 리슨하는 워크스테이션 포트입니다.
gcloud
CLIworkstations set-iam-policy
명령어를 사용하여 워크스테이션의 IAM 정책을 설정합니다.gcloud workstations set-iam-policy WORKSTATIONS_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --config=WORKSTATIONS_CONFIG_NAME \ --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID \ /tmp/WORKSTATIONS_NAME.yaml
다음을 바꿉니다.
WORKSTATIONS_NAME
: 워크스테이션의 이름입니다.WORKSTATIONS_CONFIG_NAME
: 워크스테이션 구성의 이름입니다.WORKSTATIONS_CLUSTER_NAME
: 워크스테이션 클러스터의 이름입니다.LOCATION
: 워크스테이션 클러스터의 리전 이름입니다.WORKSTATIONS_PROJECT_ID
: 워크스테이션이 포함된 Cloud Workstations 프로젝트의 ID입니다.
워크스테이션의 IAM 정책이 업데이트되면 주 구성원이 워크스테이션의 지정된 포트에 액세스할 수 있습니다.
워크스테이션 URL 공유
사용자는 다음 워크스테이션 URL을 사용하여 지정된 포트에 액세스할 수 있습니다.
https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev
자리표시자는 다음을 나타냅니다.
WORKSTATIONS_PORT
: 데모 서버가 리슨하는 포트입니다.WORKSTATIONS_NAME
: 워크스테이션 이름입니다.WORKSTATIONS_CLUSTER_NAME
: 무작위로 생성된 클러스터 식별자입니다.cloudworkstations.dev
: 워크스테이션의 기본 도메인 이름입니다.
주 구성원은 액세스 권한이 없는 워크스테이션의 다른 포트에 액세스할 수 없습니다.