리소스와 관련하여 Identity and Access Management(IAM) 역할을 사용자에게 부여하기 전에 특정 리소스에 대해 부여할 수 있는 역할에 대해 알아두는 것이 좋습니다.
시작하기 전에
Enable the IAM API.
인증을 설정합니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C++
이 페이지의 C++ 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
C#
이 페이지의 .NET 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
Go
이 페이지의 Go 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
자바
이 페이지의 Java 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
Python
이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
필요한 역할
부여 가능한 역할을 나열하는 데 필요한 권한을 얻으려면 관리자에게 부여 가능한 역할을 나열할 리소스에 대한 보안 검토자(
roles/iam.securityReviewer
) IAM 역할을 부여해 달라고 관리자에게 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.이 사전 정의된 역할에는 모든 리소스 유형에 대한
getIamPolicy
권한이 포함되어 있습니다. 부여 가능한 역할을 나열하려면 부여 가능한 역할을 나열하려는 리소스에 대해getIamPolicy
권한이 필요합니다. 예를 들어 프로젝트에 대해 부여 가능한 역할을 나열하려면resourcemanager.projects.getIamPolicy
권한이 필요합니다.커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
부여 가능한 역할 알아보기
역할에 특정 리소스 유형에 대한 권한이 포함되어 있으면 해당 리소스에 대해 또는 해당 리소스 범위를 넘어 역할을 부여할 수 있습니다. 예를 들어
storage.admin
역할은storage.buckets.get
및storage.objects.get
API에 대한 권한을 부여하므로 스토리지 버킷 및 스토리지 객체 리소스 유형에 대해서도 역할을 부여할 수 있습니다.또한 권한이 정의된 리소스 유형 범위를 '넘어' 역할이 부여될 수도 있습니다. 즉, Google Cloud 리소스 계층 구조에서 하위 수준의 리소스에 대해 부여된 역할이 이보다 높은 수준의 리소스에 대해서도 부여될 수 있습니다. 예를 들어
storage.admin
역할을 스토리지 버킷뿐만 아니라 프로젝트 수준 또는 조직 수준에서도 부여할 수 있습니다.역할을 통해 부여된 권한은 특정 수준 또는 그 이하의 리소스에만 적용됩니다. 즉, 상위 수준 또는 같은 수준의 리소스에는 영향을 주지 않습니다. 또한 리소스에 대해 역할이 부여되면 역할의 이름, 설명, 역할에 포함된 다른 권한과 관계없이 해당 리소스에 적용될 수 있는 권한만 부여됩니다. 예를 들어 프로젝트 수준에서 사용자에게
resourcemanager.organizationAdmin
역할을 부여(resourcemanager.projects.list
권한을 부여)하면 사용자는 특정 프로젝트에 대한 권한만 부여받습니다. 조직의 모든 프로젝트를 나열하거나 관리하는 권한은 부여되지 않습니다. 마찬가지로 특정 Compute Engine 인스턴스에compute.admin
역할을 할당하면 권한은 해당 인스턴스에 대해서만 부여되며 프로젝트의 다른 인스턴스에 대해서는 부여되지 않습니다.부여 가능한 역할 나열
Google Cloud 콘솔, Google Cloud CLI, IAM API, IAM 클라이언트 라이브러리를 사용하여 부여 가능한 역할을 나열할 수 있습니다.
Google Cloud 콘솔에 표시 중인 리소스에 대해 부여할 수 있는 모든 역할이 항상 나열됩니다. Google Cloud CLI, IAM API, 클라이언트 라이브러리에는 사용 설정된 API에 부여할 수 있는 역할만 나열됩니다.
콘솔
프로젝트, 폴더, 조직에 부여 가능한 역할을 보려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
페이지 상단에서 프로젝트 선택을 클릭합니다.
부여 가능한 역할을 확인할 프로젝트, 폴더, 조직을 선택합니다.
액세스 권한 부여를 클릭합니다.
역할 선택을 클릭합니다. 이 메뉴에는 이 리소스에 대해 부여할 수 있는 커스텀 역할을 포함한 모든 역할이 표시됩니다.
다른 리소스 유형에 대해 부여 가능한 역할을 보려면 다음을 수행하세요.
Google Cloud 콘솔에서 부여 가능한 역할을 확인할 리소스가 나열된 페이지로 이동합니다.
예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 VM 인스턴스 페이지로 이동합니다.
부여 가능한 역할을 보려는 리소스 옆에 있는 체크박스를 선택합니다.
정보 패널이 표시되었는지 확인합니다. 표시되지 않았으면 정보 패널 표시를 클릭합니다.
주 구성원 추가를 클릭합니다.
역할 선택을 클릭합니다. 이 메뉴에는 이 리소스에 대해 부여할 수 있는 커스텀 역할을 포함한 모든 역할이 표시됩니다.
gcloud
특정 리소스에 적용되는 모든 역할의 목록을 반환하려면
gcloud iam list-grantable-roles
명령어를 사용합니다.gcloud iam list-grantable-roles full-resource-name
원하는 리소스에 따라 매우 많은 역할이 반환될 수 있습니다. 결과를 제한하려면 필터 표현식을 지정합니다.
출력은 다음과 같습니다.
description: Full control of all Compute Engine resources. name: roles/compute.admin title: Compute Admin --- description: Full control of Compute Engine instance resources. name: roles/compute.instanceAdmin title: Compute Instance Admin # Additional results here...
C++
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM C++ API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
C#
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM C# API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
Go
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
Java
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
Python
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
REST
roles.queryGrantableRoles
메서드는 리소스에 부여 가능한 모든 역할의 목록을 반환합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
FULL_RESOURCE_NAME
: 서비스 이름과 리소스 경로로 구성된 URI입니다. 예시는 전체 리소스 이름을 참조하세요.
HTTP 메서드 및 URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
JSON 요청 본문:
{ "fullResourceName": "FULL_RESOURCE_NAME" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
위의 예에서 전체 리소스 이름은 스키마가 따로 정의되지 않은 URI로서 DNS 호환 API 서비스와 리소스 경로로 구성됩니다.
예를 들어 프로젝트에 대해 부여 가능한 모든 역할을 반환하려면 다음을 사용합니다.
//cloudresourcemanager.googleapis.com/projects/project-id
하위 수준의 리소스는 보다 세부적인 완전히 정규화된 이름을 갖습니다. 예를 들어 Compute Engine 인스턴스에 대해 부여 가능한 모든 역할을 반환하려면 다음을 사용합니다.
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
다음 단계
- 사용 가능한 IAM 역할에 대해 알아보기
- 가장 적합한 사전 정의된 역할 선택 방법 찾아보기
- 주 구성원에 대한 액세스 부여, 변경, 취소 방법 자세히 알아보기
- 다양한 유형의 리소스에 대한 리소스 이름의 예시 확인하기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-09-27(UTC)