일부 주 구성원의 임시 권한 상승을 허용하는 사용 권한을 만들 수 있습니다. 사용 권한을 만들 때는 다음 사항에 유의하세요.
조직, 폴더 또는 프로젝트 수준에서 사용 권한을 만들 수 있습니다. 각 수준에서 사용 권한에 의해 부여되는 역할은 Google Cloud리소스 계층 구조를 따릅니다. 예를 들어 조직 수준에서 사용 권한에 의해 부여된 역할은 폴더 및 프로젝트 수준에서 상속됩니다.
조직 수준에서 Security Command Center 프리미엄 또는 엔터프라이즈 등급이 활성화된 경우 권한별로 두 개 이상의 승인 수준을 요구할 수 있으므로 권한별로 최대 두 수준의 순차적 승인이 허용됩니다. 수준별로 최대 5개의 승인을 요구할 수 있습니다.
필요한 수의 1단계 승인이 접수되면 2단계 승인자에게 이메일 알림이 전송됩니다. 필요한 수의 2단계 승인이 접수되면 부여가
active상태로 이동합니다. 승인자가 권한 부여를 거부하면 권한 부여가denied상태로 이동하고 추가 승인자에게 전송되지 않습니다.이 기능은 프리뷰 버전으로 제공됩니다.
서비스 계정이 이 리소스에 대한 승인을 승인할 수 있는 경우 서비스 계정 및 워크로드 풀 ID를 승인자로 추가할 수 있습니다. 이 설정을 사용 설정하는 방법을 알아보려면 Privileged Access Manager 설정 구성을 참고하세요.
이 기능은 프리뷰 버전으로 제공됩니다.
사용 권한에 그룹을 요청자로 추가하면 해당 그룹의 모든 개별 계정이 해당 사용 권한의 부여를 요청할 수 있습니다. 하지만 부여를 요청하는 개인 계정만 승격된 권한을 받을 수 있습니다.
사용 권한에 그룹을 승인 담당자로 추가하면 해당 그룹의 모든 개별 계정이 부여 요청을 승인하거나 거부할 수 있습니다.
기본 역할(관리자, 작성자, 리더)은 지원되지만 기존 기본 역할(소유자, 편집자, 뷰어)은 지원되지 않습니다.
권한에 서비스 에이전트 역할을 포함하지 마세요.
일부 서비스 에이전트 역할에는 매우 강력한 권한이 포함되어 있고 이러한 역할 내의 권한은 예고 없이 변경될 수 있습니다. 대신 다른 사전 정의된 역할을 선택하거나 필요한 권한이 포함된 커스텀 역할을 만듭니다.
시작하기 전에
사용 권한을 만드는 데 필요한 권한을 얻으려면 관리자에게 사용 권한을 만들려는 조직, 폴더 또는 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
조직의 사용 권한을 만듭니다.
-
Privileged Access Manager 관리자 (
roles/privilegedaccessmanager.admin) -
보안 관리자 (
roles/iam.securityAdmin)
-
Privileged Access Manager 관리자 (
-
폴더에 대해 만들기:
-
Privileged Access Manager 관리자 (
roles/privilegedaccessmanager.admin) -
폴더 IAM 관리자 (
roles/resourcemanager.folderAdmin)
-
Privileged Access Manager 관리자 (
-
프로젝트의 사용 권한을 만듭니다.
-
Privileged Access Manager 관리자 (
roles/privilegedaccessmanager.admin) -
프로젝트 IAM 관리자(
roles/resourcemanager.projectIamAdmin)
-
Privileged Access Manager 관리자 (
-
감사 로그 보기:
로그 뷰어 (
roles/logs.viewer)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 권한을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
혜택을 만들려면 다음 권한이 필요합니다.
-
조직의 사용 권한 및 권한 부여를 만들려면 다음 단계를 따르세요.
-
resourcemanager.organizations.get -
resourcemanager.organizations.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
폴더의 사용 권한 및 권한 부여를 만들려면 다음 단계를 따르세요.
-
resourcemanager.folders.get -
resourcemanager.folders.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
프로젝트의 사용 권한 및 권한 부여를 만들려면 다음 단계를 따르세요.
-
resourcemanager.projects.get -
resourcemanager.projects.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
사용 권한 만들기
콘솔
Privileged Access Manager 페이지로 이동합니다.
사용 권한을 적용할 조직, 폴더 또는 프로젝트를 선택합니다.
사용 권한 탭을 클릭합니다.
만들기를 클릭합니다.
사용 권한 세부정보 섹션에서 다음 사용 권한 세부정보를 입력합니다.
다음을 클릭합니다.
요청자 추가 섹션에 사용 권한에 대해 요청하는 유효한 주 구성원을 최대 20개까지 입력합니다.
allUsers및allAuthenticatedUsers를 제외한 모든 주 구성원 유형이 지원됩니다. 20개가 넘는 ID를 그룹에 추가하고 사용 권한에 그룹을 나열하여 추가할 수 있습니다.주 구성원이 부여 요청에 대한 근거를 제공해야 하는지 선택합니다.
사용 권한을 요청할 수 있을 때 알림을 받을 사용자의 추가 이메일 주소를 입력합니다.
사용 권한과 연결된 Google ID(예: 승인 담당자 및 요청자)에게 자동으로 알림이 전송됩니다. 하지만 추가 사용자에게 알림을 보내려면 이메일 주소를 추가하면 됩니다. Google 계정 대신 직원 ID를 사용하는 경우 특히 유용합니다.
다음을 클릭합니다.
승인자 추가 섹션에서 다음 중 하나를 수행합니다.
승인 없이 역할 부여를 허용하려면 승인 없이 액세스 활성화를 선택합니다.
승인을 필수로 설정하려면 다음 단계를 따르세요.
- 선택사항: 승인 담당자가 요청 승인에 대한 근거를 입력하도록 하려면 승인 담당자에게 근거 필요를 선택합니다.
1단계 승인자 세부정보를 입력합니다.
사용 권한의 승인자 목록
다음 주 구성원 유형을 승인자로 추가할 수 있습니다.
Google 계정
Google 그룹스
Google Workspace 도메인
직원 풀 식별자
워크로드 풀 식별자
서비스 계정
서비스 계정 및 워크로드 풀 식별자는 서비스 계정이 이 리소스에 대한 부여를 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
승인 수는 필수 항목입니다.
그룹을 승인자로 추가한 경우 필요한 승인 수가 그룹의 주 구성원 수보다 작거나 같은지 확인합니다. 그렇지 않으면 권한이
approval awaited상태에서 영구적으로 멈춰 있습니다.알림을 받을 승인자의 이메일 주소
선택사항: 2단계 승인 담당자 세부정보를 추가합니다.
사용 권한의 승인자 목록
다음 주 구성원 유형을 승인자로 추가할 수 있습니다.
Google 계정
Google 그룹스
Google Workspace 도메인
직원 풀 식별자
워크로드 풀 식별자
서비스 계정
서비스 계정 및 워크로드 풀 식별자는 서비스 계정이 이 리소스에 대한 부여를 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
승인 수는 필수 항목입니다.
그룹을 승인자로 추가한 경우 필요한 승인 수가 그룹의 주 구성원 수보다 작거나 같은지 확인합니다. 그렇지 않으면 권한이
approval awaited상태에서 영구적으로 멈춰 있습니다.알림을 받을 승인자의 이메일 주소
승인당 최대 20개의 승인 주 구성원 (ID 또는 그룹)을 추가할 수 있습니다. 승인자를 20명 이상 추가하려면 승인자를 그룹에 추가하고 사용 권한의 승인자로 그룹을 나열하면 됩니다.
다음을 클릭합니다.
사용 권한 만들기를 클릭합니다.
새로 생성된 사용 권한이 전파되고 사용할 수 있게 되기까지 몇 분 정도 걸릴 수 있습니다.
gcloud
gcloud alpha pam entitlements create 명령어는 조직, 폴더 또는 프로젝트 수준에서 사용 권한을 만듭니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
ENTITLEMENT_ID: 만들 사용 권한 ID입니다. ID는 4~63자(영문 기준)여야 하며[a-z0-9-]문자를 사용해야 합니다. 첫 번째 글자는 문자여야 합니다.RESOURCE_TYPE: 선택사항. 사용 권한이 속한 리소스 유형입니다.organization,folder또는project값을 사용합니다.RESOURCE_ID:RESOURCE_TYPE에 사용됩니다. 사용 권한을 관리하려는 Google Cloud조직, 폴더 또는 프로젝트의 ID입니다. 프로젝트 ID는my-project와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012와 같은 숫자입니다.RESOURCE_MANAGER_RESOURCE_TYPE: 범위에 따라Organization,Folder또는Project입니다.ROLE: 사용 권한이 부여되면 할당할 역할입니다.MAXIMUM_GRANT_DURATION: 권한 부여를 요청할 수 있는 최대 기간(초)입니다. 지원되는 범위는 30분 (1800)에서 168시간 (604800) 사이입니다.-
REQUESTING_MEMBER: 사용 권한 부여를 요청할 수 있는 주 구성원입니다.allUsers및allAuthenticatedUsers를 제외한 모든 주 구성원 유형이 지원됩니다. -
APPROVING_MEMBER: 사용 권한 요청을 승인할 수 있는 주 구성원입니다. 유효한 주 구성원 유형은 다음과 같습니다.- 사용자
- 그룹
- 도메인
- 직원 풀 식별자
- 워크로드 풀 식별자
이 옵션은 서비스 계정이 이 리소스의 권한 요청을 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
- 서비스 계정
이 옵션은 서비스 계정이 이 리소스의 권한 요청을 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
APPROVALS_NEEDED: 사용 권한 요청을 승인하는 데 필요한 승인자 수입니다.그룹을 승인자로 추가한 경우 필수 승인 수가 그룹의 주 구성원 수보다 작거나 같은지 확인합니다. 그렇지 않으면 권한이
approval awaited상태로 영원히 멈춰 있습니다.APPROVER_EMAIL_ADDRESSES: 선택사항. 부여가 요청되었을 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 담당자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.ADMIN_EMAIL_ADDRESS: 선택사항. 요청자에게 액세스 권한이 부여될 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 담당자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.REQUESTER_EMAIL_ADDRESS: 선택사항. 이 사용 권한을 요청할 수 있을 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 요청자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.CONDITION_EXPRESSION: 선택사항. 주 구성원이 역할의 권한을 사용할 수 있는 경우를 지정하는 조건 표현식입니다. 이 조건은 권한이 활성 상태일 때만 적용됩니다.
다음 콘텐츠를 entitlement.yaml 파일에 저장합니다.
privilegedAccess: gcpIamAccess: resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID roleBindings: - role: ROLE_1 conditionExpression: CONDITION_EXPRESSION_1 - role: ROLE_2 conditionExpression: CONDITION_EXPRESSION_2 maxRequestDuration: MAXIMUM_GRANT_DURATION eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: APPROVALS_NEEDED_1 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_1 - APPROVER_EMAIL_ADDRESSES_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 - approvalsNeeded: APPROVALS_NEEDED_2 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_3 - APPROVER_EMAIL_ADDRESSES_4 approvers: - principals: - APPROVING_MEMBER_3 - APPROVING_MEMBER_4 requesterJustificationConfig: unstructured: {} additionalNotificationTargets: adminEmailRecipients: - ADMIN_EMAIL_ADDRESS_1 - ADMIN_EMAIL_ADDRESS_2 requesterEmailRecipients: - REQUESTER_EMAIL_ADDRESS_1 - REQUESTER_EMAIL_ADDRESS_2
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud alpha pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud alpha pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud alpha pam entitlements create ^ ENTITLEMENT_ID ^ --entitlement-file=entitlement.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
다음과 비슷한 응답이 표시됩니다.
Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
manualApprovals:
requireApproverJustification: true
steps:
- id: step-1
approvalsNeeded: 3
approvers:
- principals:
- user:alex@example.com
- group:dev-team@example.com
- id: step-2
approvalsNeeded: 1
approvers:
- principals:
- user:alex@example.com
createTime: '2024-04-09T02:39:37.011866832Z'
eligibleUsers:
- principals:
- user:bola@example.com
etag: 00000000000000000000000000000000000000000000000000000000000=
maxRequestDuration: 7200s
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID
privilegedAccess:
gcpIamAccess:
resource: //cloudresourcemanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID
resourceType: cloudresourcemanager.googleapis.com/Project
roleBindings:
- role: roles/storage.admin
id: hwarq_1
conditionExpression: "request.time.getHours() >= 8"
requesterJustificationConfig:
unstructured: {}
state: AVAILABLE
REST
Privileged Access Manager API의 createEntitlement 메서드는 조직, 폴더 또는 프로젝트 수준에서 사용 권한을 만듭니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
SCOPE: 사용 권한을 만들 조직, 폴더 또는 프로젝트로,organizations/ORGANIZATION_ID,folders/FOLDER_ID또는projects/PROJECT_ID형식입니다. 프로젝트 ID는my-project와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012와 같은 숫자입니다.ENTITLEMENT_ID: 만들 사용 권한 ID입니다. ID는 4~63자(영문 기준)여야 하며[a-z0-9-]문자를 사용해야 합니다. 첫 번째 글자는 문자여야 합니다.RESOURCE_MANAGER_RESOURCE_TYPE: 범위에 따라Organization,Folder또는Project입니다.ROLE: 사용 권한이 부여되면 할당할 역할입니다.MAXIMUM_GRANT_DURATION: 권한 부여를 요청할 수 있는 최대 기간(초)입니다. 지원되는 범위는 30분 (1800)에서 168시간 (604800) 사이입니다.-
REQUESTING_MEMBER: 사용 권한 부여를 요청할 수 있는 주 구성원입니다.allUsers및allAuthenticatedUsers를 제외한 모든 주 구성원 유형이 지원됩니다. -
APPROVING_MEMBER: 사용 권한 요청을 승인할 수 있는 주 구성원입니다. 유효한 주 구성원 유형은 다음과 같습니다.- 사용자
- 그룹
- 도메인
- 직원 풀 식별자
- 워크로드 풀 식별자
이 옵션은 서비스 계정이 이 리소스의 권한 요청을 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
- 서비스 계정
이 옵션은 서비스 계정이 이 리소스의 권한 요청을 승인할 수 있는 경우에만 사용할 수 있습니다. 자세한 내용은 Privileged Access Manager 설정 구성하기를 참고하세요.
APPROVALS_NEEDED: 사용 권한 요청을 승인하는 데 필요한 승인자 수입니다.그룹을 승인자로 추가한 경우 필요한 승인 수가 그룹의 주 구성원 수보다 작거나 같은지 확인합니다. 그렇지 않으면 권한이
approval awaited상태로 영원히 멈춰 있습니다.APPROVER_EMAIL_ADDRESSES: 선택사항. 부여가 요청되었을 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 담당자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.ADMIN_EMAIL_ADDRESS: 선택사항. 요청자에게 액세스 권한이 부여될 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 담당자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.REQUESTER_EMAIL_ADDRESS: 선택사항. 이 사용 권한을 요청할 수 있을 때 알림을 보낼 추가 이메일 주소입니다. 부여 승인 요청자와 연결된 Google ID에 자동으로 알림이 전송됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.CONDITION_EXPRESSION: 선택사항. 주 구성원이 역할의 권한을 사용할 수 있는 경우를 지정하는 조건 표현식입니다. 이 조건은 권한이 활성 상태일 때만 적용됩니다.
HTTP 메서드 및 URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID
JSON 요청 본문:
{
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
"resource": "//cloudresourcemanager.googleapis.com/SCOPE",
"roleBindings": [
{
"role": "ROLE_1",
"conditionExpression": "CONDITION_EXPRESSION_1",
},
{
"role": "ROLE_2",
"conditionExpression": "CONDITION_EXPRESSION_2",
},
]
}
},
"maxRequestDuration": "MAXIMUM_GRANT_DURATION",
"eligibleUsers": [
{
"principals": [
"REQUESTING_MEMBER_1",
"REQUESTING_MEMBER_2",
...
]
}
],
"approvalWorkflow": {
"manualApprovals": {
"requireApproverJustification": true,
"steps": [
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_1",
"APPROVING_MEMBER_2",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_1,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_1",
"APPROVER_EMAIL_ADDRESSES_2",
]
},
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_3",
"APPROVING_MEMBER_4",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_2,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_3",
"APPROVER_EMAIL_ADDRESSES_4",
]
}
]
}
},
"requesterJustificationConfig": {
"unstructured": {
}
},
"additionalNotificationTargets": {
"adminEmailRecipients": [
"ADMIN_EMAIL_ADDRESS_1",
"ADMIN_EMAIL_ADDRESS_2",
],
"requesterEmailRecipients": [
"REQUESTER_EMAIL_ADDRESS_1",
"REQUESTER_EMAIL_ADDRESS_2",
]
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{
"name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
"createTime": "2024-03-05T03:35:14.596739353Z",
"target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1beta"
},
"done": false
}
만들기 작업의 진행 상황을 확인하려면 다음 엔드포인트에 GET 요청을 전송하면 됩니다.
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
다음 엔드포인트에 GET 요청을 전송하여 모든 작업을 나열합니다.
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Terraform
Terraform을 사용하여 사용 권한을 만들 수 있습니다. 자세한 내용은 Terraform 문서의 google_privileged_access_manager_entitlement를 참고하세요. 새로 생성된 사용 권한이 전파되고 사용할 수 있게 되기까지 몇 분 정도 걸릴 수 있습니다.
Config Connector
Kubernetes 구성 커넥터를 사용하여 사용 권한을 만들 수 있습니다. 자세한 내용은 구성 커넥터 문서의 PrivilegedAccessManagerEntitlement을 참조하세요. 새로 생성된 사용 권한이 전파되고 사용할 수 있게 되기까지 몇 분 정도 걸릴 수 있습니다.