Workflows는 Identity and Access Management(IAM)를 사용하여 어떤 인증된 사용자 및 서비스 계정이 어떤 작업을 수행할 수 있는지 제어합니다.
Workflows 리소스에 대한 액세스를 인증 및 승인하기 전에 IAM의 기본 개념을 이해해야 합니다.
이 페이지에서는 워크플로 실행 호출 기능을 포함하여 Workflows 리소스에 액세스하는 데 필요한 권한에 대해 자세히 설명합니다.
워크플로에 다른 서비스에 액세스하기 위한 권한 부여에 대한 자세한 내용은 워크플로에 리소스 액세스 권한 부여 Google Cloud 를 참조하세요.
액세스 제어
인증 구현 방법에 관계없이 액세스 제어 및 사용 가능한 워크플로 역할을 이해하는 것이 중요합니다. 역할은에서 리소스에 대한 액세스 권한을 부여하는 권한 모음입니다. Google Cloud 프로덕션 애플리케이션을 빌드할 때 서비스 계정에는 해당 Google Cloud API, 기능 또는 리소스와 상호작용하는 데 필요한 역할만 부여됩니다.
사용 가능한 Workflows 역할에 대한 자세한 내용은 Workflows 역할 및 권한을 참조하세요.
Workflows 호출
서비스 계정은 ID인 동시에 IAM 정책을 허용하는 리소스입니다. 따라서 서비스 계정에 역할을 부여한 다음 다른 주 구성원이 서비스 계정 또는 서비스 계정의 상위 리소스 중 하나에 대한 역할을 부여하여 서비스 계정을 가장하도록 할 수 있습니다.
예를 들어 계정에 워크플로 실행을 트리거하는 권한이 포함되도록 서비스 계정에 workflows.invoker 역할을 부여할 수 있습니다. 그런 다음 주 구성원이 서비스 계정으로 작동하거나 이를 가장하도록 허용할 수 있습니다.
워크플로가 자체적으로 호출하거나 다른 워크플로를 호출하지 않는 한 워크플로 서비스 계정에 workflows.invoker 역할이 필요하지 않습니다.
서비스 계정 가장에 대한 자세한 내용은 서비스 계정 가장을 참조하세요.
서비스에 워크플로를 실행하고 실행을 관리할 수 있는 권한이 있도록 Workflows를 호출하는 서비스의 서비스 계정에 호출자 역할(roles/workflows.invoker)을 부여하려면 다음을 수행합니다.
콘솔
콘솔에서 서비스 계정 페이지로 이동합니다.
서비스 계정으로 이동 Google Cloud프로젝트를 선택한 후 서비스 계정 만들기 를 클릭합니다.
서비스 계정 이름 필드에 이름(예:
sa-name)을 입력합니다.만들고 계속하기를 클릭합니다.
역할 선택 목록에서 Workflows > 워크플로 호출자를 선택합니다.
완료를 클릭합니다.
gcloud
터미널을 엽니다.
다음 명령어를 입력합니다.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/workflows.invoker
다음을 바꿉니다.
PROJECT_ID: 프로젝트의 ID입니다. Google CloudSERVICE_ACCOUNT_NAME: 서비스 계정의 이름입니다.