백업 서비스에 대한 서비스 대 서비스 권한 설정
IBM Cloud Backup for VPC가 리소스 태그를 감지하고 블록 볼륨 및 파일 공유의 백업 스냅샷을 생성할 수 있도록 서비스 간 권한 및 사용자 역할을 설정합니다.
개요
IBM Cloud Backup for VPC 서비스가 작동하려면 서비스에 대한 인증을 제공해야 합니다. 승인 과정에서 소스 서비스에 대상 서비스에 대한 액세스 권한이 부여됩니다. 선택되는 역할은 소스 서비스의 액세스 권한 레벨을 정의합니다. 대상 서비스는 사용자가 할당한 역할에 따라 소스 서비스가 액세스할 수 있도록 권한을 부여하는 서비스입니다. 소스 서비스는 권한 부여가 작성되는 계정과 동일한 계정에 있거나 다른 계정에 있을 수 있습니다. 대상 서비스는 항상 권한 부여가 작성되는 계정에 있습니다.
백업 정책을 작성하고 백업 작업을 올바르게 실행하려면 백업 서비스에 Block Storage for VPC, VPC의 스냅샷 및 Virtual Server for VPC 서비스에 대한 작업을 수행할 수 있는 권한이 부여되어야 합니다.
기업 계정 및 하위 계정에 대한 백업 정책을 생성하려는 기업 계정 관리자 역시 권한이 필요합니다. 구체적으로, 엔터프라이즈 계정의 백업 서비스는 하위 계정의 백업 서비스와 연동할 수 있도록 권한이 부여되어야 합니다.
백업 정책을 만들고 파일 공유에 대한 백업 작업을 올바르게 실행하려면 백업 서비스에 File Storage for VPC 사용할 수 있는 권한이 있어야 합니다.
권한 부여에 대한 자세한 정보는 권한 부여를 사용하여 서비스 간 액세스 부여 를 참조하십시오.
서비스 권한을 잘못 설정하면 백업 서비스가 백업 정책을 작성할 수 없습니다. 자세한 내용은 백업 정책을 만들려고 할 때 서비스 권한 부여 오류의 원인은 무엇인가요? 라는 문제 해결 도움말 항목을 참조하세요
콘솔에서 승인 정책 만들기
계정 수준에서 볼륨 백업에 대한 권한 만들기
서비스 대 서비스 권한 부여 정책을 작성하려면 다음 프로시저를 따르십시오.
- IBM Cloud 콘솔에서 [ 관리] > [액세스(IAM) ]로 이동합니다.
- 측면 패널에서 권한을 선택합니다.
- 권한 관리 페이지에서 작성을 클릭합니다.
- 에서원천 섹션에서소스 계정. 계정에서 백업 서비스에 대한 인증을 설정할 때 다음을 선택하세요.이 계정. 다음을 클릭하십시오.
- 소스 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 목록에서 다음을 선택하세요.리소스 유형.
- 다음 필드에서 IBM Cloud Backup for VPC 를 선택합니다.
- 다음 을 클릭하십시오.
- 대상 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 자원 유형을 클릭하십시오. 다음 서비스 중 하나를 선택하십시오. 모두에 대한 권한을 작성해야 합니다.
| 소스 서비스 - 리소스 유형 | 대상 서비스 - 리소스 유형 | 종속 서비스 사용자 역할 |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | 운영자 |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | 편집자 |
| IBM Cloud Backup for VPC | VPC용 다중 볼륨 스냅샷 | 편집자 |
| IBM Cloud Backup for VPC | Virtual Server for VPC | 운영자 |
(선택 사항) 권한 범위를 특정 가상 서버 인스턴스로 제한하려면 [조건 추가]를 클릭하고 속성 목록에서 [ 인스턴스 ID ]를 선택합니다. 그런 다음 메뉴에서 특정 인스턴스를 선택하십시오.
권한 범위를 특정 인스턴스로만 제한하면 다른 인스턴스에 연결된 볼륨의 백업이 실패하게 됩니다. Virtual Server for VPC 에 조건을 추가하는 경우, 백업이 필요한 볼륨을 가진 각 인스턴스에 대해 별도의 권한 정책을 생성해야 합니다. 자세한 내용은 ‘권한 범위 문제 해결’을 참조하십시오.
- 다음 을 클릭하십시오.
- 역할을 선택합니다. 자세한 내용은 해당 역할에 대한 표를 참조하십시오.
- 딸깍 하는 소리검토 그리고 당신의 선택을 살펴보세요.
- 권한 부여를 클릭하십시오.
- 권한 관리 페이지로 돌아가면 작성 을 다시 클릭하고 동일한 단계에 따라 나머지 서비스에 대한 권한을 설정하십시오.
계정 수준에서 파일 공유 백업에 대한 권한 부여 만들기
서비스 대 서비스 권한 부여 정책을 작성하려면 다음 프로시저를 따르십시오.
- IBM Cloud 콘솔에서 [ 관리] > [액세스(IAM) ]로 이동합니다.
- 측면 패널에서 권한을 선택합니다.
- 권한 관리 페이지에서 작성을 클릭합니다.
- 에서원천 섹션에서소스 계정. 계정에서 백업 서비스에 대한 인증을 설정할 때 다음을 선택하세요.이 계정. 다음을 클릭하십시오.
- 소스 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 목록에서 다음을 선택하세요.리소스 유형.
- 다음 필드에서 IBM Cloud Backup for VPC 를 선택합니다.
- 다음 을 클릭하십시오.
- 대상 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 자원 유형을 클릭하십시오. 선택 File Storage for VPC.
- 다음 을 클릭하십시오.
- 역할 선택: 편집자, 스냅샷 공유 운영자.
- 딸깍 하는 소리검토 그리고 당신의 선택을 살펴보세요.
- 권한 부여를 클릭하십시오.
하위 계정에서 엔터프라이즈 계정으로 관리되는 백업에 대한 교차 계정 인증 만들기
엔터프라이즈 관리자가 백업을 중앙에서 관리할 수 있도록 하려면, 하위 계정들이 엔터프라이즈 계정의 백업 서비스가 자신의 리소스와 상호작용할 수 있도록 권한을 부여해야 합니다. 자녀 계정 관리자는 다음 단계를 따라 자신의 계정 내에서 로컬로 권한을 설정할 수 있습니다.
- IBM Cloud 콘솔에서 [ 관리] > [액세스(IAM) ]로 이동합니다.
- 측면 패널에서 권한을 선택합니다.
- 권한 관리 페이지에서 작성을 클릭합니다.
- 에서원천 섹션에서소스 계정. 기업 계정의 백업 서비스에 대한 인증을 설정하는 동안 다음을 선택하세요.특정 계정 을 클릭하고 Enterprise 계정의 ID를 입력하세요. 다음을 클릭하십시오.
- 소스 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 목록에서 다음을 선택하세요.리소스 유형.
- 다음 필드에서 IBM Cloud Backup for VPC 를 선택합니다.
- 다음 을 클릭하십시오.
- 대상 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 자원 유형을 클릭하십시오. 표 2의 서비스 중 하나를 선택하세요.
| 소스 서비스 - 리소스 유형 | 대상 서비스 - 리소스 유형 | 종속 서비스 사용자 역할 |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | 운영자 |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | 편집자 |
| IBM Cloud Backup for VPC | VPC용 다중 볼륨 스냅샷 | 편집자 |
| IBM Cloud Backup for VPC | Virtual Server for VPC | 운영자 |
| IBM Cloud Backup for VPC | IBM Cloud Backup for VPC | 편집자 |
| IBM Cloud Backup for VPC | File Storage for VPC | 편집자, 공유 스냅샷 운영자 |
- 다음 을 클릭하십시오.
- 역할을 선택합니다. 자세한 내용은 표 2에서 해당 역할을 참조하십시오.
- 딸깍 하는 소리검토 그리고 당신의 선택을 살펴보세요.
- 권한 부여를 클릭하십시오.
- 권한 관리 페이지로 돌아가면 작성 을 다시 클릭하고 동일한 단계에 따라 나머지 서비스에 대한 권한을 설정하십시오.
엔터프라이즈에서 관리하는 백업을 위한 교차 계정 인증 템플릿 만들기
승인 템플릿을 사용하면 엔터프라이즈 계정 관리자가 승인 정책을 생성하여 하위 계정에 할당할 수 있습니다. 그러면 관리자가 각 하위 계정에 일일이 로그인할 필요 없이 해당 계정에 권한이 적용됩니다.
- IBM Cloud 콘솔에서 [관리] > [액세스(IAM)] > [엔터프라이즈] > [템플릿] 으로 이동합니다.
- 권한 부여를 선택하고 만들기를 클릭합니다.
- 기업 사용자를 위한 인증 템플릿의 용도를 설명하는 인증 템플릿의 이름과 설명을 입력합니다.
- 하위 계정 사용자에 대한 목적을 설명하는 기업 관리 권한 부여 정책에 대한 설명을 입력합니다.
- 작성을 클릭하십시오.
다음으로 다음 단계를 완료하여 권한 부여 규칙을 구축합니다:
- 권한 부여로 이동하여 권한 부여 정책의 세부 사항을 지정합니다.
- 소스 서비스에서 다른 서비스에 대한 액세스를 요청하는 계정을 선택합니다. 할당된 계정을 선택합니다. 나중에 권한 템플릿을 하위 계정에 할당하면, ‘소스 계정’ 필드는 액세스 대상 리소스를 보유한 하위 계정에 맞춰 자동으로 설정됩니다.
- 다음으로 소스 서비스 및 리소스를 선택합니다.
- 목록에서 ‘VPC 인프라 서비스’를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 목록에서 다음을 선택하세요.리소스 유형.
- 다음 필드에서 IBM Cloud Backup for VPC 를 선택합니다.
- 대상 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- 목록에서 다음을 선택하세요.리소스 유형. 다음 표에 있는 서비스 중 하나를 선택하십시오. 모두에 대한 권한을 작성해야 합니다.
| 소스 서비스 - 리소스 유형 | 대상 서비스 - 리소스 유형 | 종속 서비스 사용자 역할 |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | 운영자 |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | 편집자 |
| IBM Cloud Backup for VPC | VPC용 다중 볼륨 스냅샷 | 편집자 |
| IBM Cloud Backup for VPC | Virtual Server for VPC | 운영자 |
| IBM Cloud Backup for VPC | IBM Cloud Backup for VPC | 편집자 |
| IBM Cloud Backup for VPC | File Storage for VPC | 편집자, 공유 스냅샷 운영자 |
- 다음 을 클릭하십시오.
- 역할을 선택합니다. 자세한 내용은 해당 역할에 대한 표를 참조하십시오.
- 딸깍 하는 소리검토 그리고 당신의 선택을 살펴보세요. 그런 다음 저장을 클릭하십시오.
- 템플릿을 커밋하고 하위 계정에 할당합니다. 단계를 반복하여 모든 서비스에 대한 권한 부여 템플릿을 만듭니다.
Event Notifications 대한 권한 만들기
Event Notifications 대한 서비스 간 권한 부여 정책을 만들려면 다음 절차를 따르세요:
- IBM Cloud 콘솔에서 [ 관리] > [액세스(IAM) ]로 이동합니다.
- 측면 패널에서 권한을 선택합니다.
- 권한 관리 페이지에서 작성을 클릭합니다.
- 에서원천 섹션에서소스 계정. 계정에서 백업 서비스에 대한 인증을 설정할 때 다음을 선택하세요.이 계정. 다음을 클릭하십시오.
- 소스 서비스의 경우 목록에서 VPC 인프라 서비스 를 선택하십시오. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 속성 선택를 클릭하고 목록에서 리소스 유형를 선택합니다.
- 다음 필드에서 IBM Cloud Backup for VPC 를 선택합니다.
- 다음 을 클릭하십시오.
- 대상 서비스로 Event Notifications 을 대상 서비스로 선택합니다. 다음을 클릭하십시오.
- 클릭하여 범위를 선택하세요.특정 자원.
- 딸깍 하는 소리속성을 선택하세요.
- serviceInstance 를 클릭합니다.
- 다음 필드에서 문자열 같음을 선택합니다.
- 다음 필드에서 인증하려는 Event Notifications 서비스 인스턴스를 선택합니다.
- 이벤트 소스 관리자 역할을 선택하십시오.
- 딸깍 하는 소리검토 그리고 당신의 선택을 살펴보세요.
- 권한 부여를 클릭하십시오.
CLI에서 권한 부여 정책 작성
계정 수준에서 볼륨 백업에 대한 권한 만들기
계정에서 ‘VPC용 백업’을 사용하여 정책 및 계획을 생성하고 블록 스토리지 볼륨에 대한 백업 작업을 실행하려면 다음 서비스 간 권한을 생성하십시오
- 운영자 역할이 있는
backup-policy(소스) 대instance(대상) - 운영자 역할이 있는
backup-policy(소스) 대volume(대상) - 편집자 역할이 있는
backup-policy(소스) 대snapshot(대상) - 편집자 역할이 있는
backup-policy(소스) 대snapshot-consistency-group(대상)
- 권한 부여 정책에 대한 다음 정보를 사용하여 네 개의 JSON 파일을 작성하십시오.
예시에서 와일드카드 값("*")은 그대로 유지하십시오. 와일드카드를 특정 리소스 ID로 대체하면 권한 부여 범위가 제한되어 백업이 실패하게 됩니다. 자세한 내용은 ‘권한 범위 문제 해결’을 참조하십시오.
- 인스턴스 서비스:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "instanceId", "operator": "stringEquals", "value": "*"}]}] } - Block Storage 볼륨 서비스:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "volumeId", "operator": "stringEquals", "value": "*"}]}] } - Block Storage 스냅샷 서비스:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotId", "operator": "stringEquals", "value": "*"}]}] } - 스냅샷 일관성 그룹:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]}] }
- 그런 다음 JSON 파일을 사용하여 다음 CLI 명령을 실행하십시오.
ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
이 명령에 사용할 수 있는 모든 매개변수에 대한 자세한 정보는 ibmcloud iam authorization-policy-create를 참조하십시오.
계정 수준에서 파일 공유 백업에 대한 권한 부여 만들기
File Storage for VPC 공유 백업에 대한 서비스 간 권한 부여 정책을 만들려면 authorization-policy-create 명령을 사용하세요.
ibmcloud iam authorization-policy-create is is "Share Snapshot Operator",Editor --source-resource-type backup-policy --target-resource-type share
이 명령에 사용할 수 있는 모든 매개변수에 대한 자세한 정보는 ibmcloud iam authorization-policy-create를 참조하십시오.
엔터프라이즈에서 관리하는 백업을 위한 교차 계정 인증 템플릿 만들기
기업 계정 관리자는 하위 계정에 권한 정책 템플릿을 생성하고 할당하여 권한을 중앙에서 관리할 수 있습니다. 엔터프라이즈의 모든 하위 계정에서 백업 정책에 사용할 권한 정책 템플릿을 생성하려면 다음 단계를 수행하십시오.
- 엔터프라이즈 루트 계정 ID를 가져오려면 다음 명령을 실행하면 됩니다.
ibmcloud enterprise show
- 권한 부여 정책 템플릿의 정의를 제공하는 JSON 파일을 만듭니다. JSON 파일에서 사용할 수 있는 속성에 대한 자세한 내용은 IAM 정책 관리 API를 참조하세요.
-
인스턴스 서비스:
{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }- Block Storage 볼륨 서비스:
{ "name": "Centralized authorization for Backup service to work with Block Storage service", "description": "Grant Operator Role for the Backup service to work with Block Storage volumes", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on Block Storage for VPC volumes", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "volumeId", "operator": "stringExists", "value": "true"} ]}} }- Block Storage 스냅샷 서비스:
{ "name": "Centralized authorization for Backup service to work with Block Storage snapshots", "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on Block Storage for VPC snapshots", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotId", "operator": "stringExists", "value": "true"} ]}} }- 스냅샷 일관성 그룹:
{ "name": "Centralized authorization for Backup service to work with snapshot consistency groups", "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on snapshot consistency groups", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"} ]}} }- 파일 공유:
{ "name": "Centralized authorization for Backup service to work with File shares", "description": "Grant Editor Role for the Backup service to work with File shares", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor, and Share Snapshot Operator roles on File shares", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"},{"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}] }, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"}] }, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "shareId", "operator": "stringExists", "value": "true"}] } } }
-
다음 샘플 요청에 표시된 대로 JSON 파일과 함께
authorization-policy-template-create명령을 실행합니다:ibmcloud iam authorization-policy-template-create --file /path/to/vpc-share-authorization-template.json -
모든 JSON 파일에 대해 이 과정을 반복합니다. 완료되면 템플릿을 커밋하고 하위 계정에 할당할 준비가 된 것입니다.
-
다음 명령을 실행하여 템플릿 버전을 커밋하고 대상 계정에 템플릿을 할당합니다.
ibmcloud iam authorization-policy-template-version-commit (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION [-q, --quiet]ibmcloud iam authorization-policy-assignment-create (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION --target-type TYPE --target TARGET [-q, --quiet] [-o, --output FORMAT]
이 명령어에서 사용할 수 있는 모든 매개변수에 대한 자세한 내용은 ibmcloud iam authorization-policy-template-create를 참조하십시오.
Event Notifications 대한 권한 만들기
Event Notifications 대한 서비스 간 권한 부여 정책을 만들려면 ' authorization-policy-create ' 명령을 사용합니다.
ibmcloud iam authorization-policy-create is event-notification EventSourceManager --source-resource-type backup-policy --target-resource-instance $en-instance-ID
이 명령에 사용할 수 있는 모든 매개변수에 대한 자세한 정보는 ibmcloud iam authorization-policy-create를 참조하십시오.
API를 사용하여 권한 부여 정책 작성
계정 수준에서 볼륨 백업에 대한 권한 만들기
계정에서 ‘VPC용 백업’을 사용하여 정책 및 계획을 생성하고 블록 스토리지 볼륨에 대한 백업 작업을 실행하려면 다음 서비스 간 권한을 생성하십시오
- operator 역할을 갖는
is.backup-policy(소스) 대is.instance(대상). - operator 역할을 갖는
is.backup-policy(소스) 대is.volume(대상). is.backup-policy(소스) 에서 편집자 역할을 갖는is.snapshot(대상) 으로.is.backup-policy(소스) 에서 편집자 역할의is.snapshot-consistency-group로
다음 예제와 유사하게 IAM 정책 관리 API 에 대한 요청을 작성하십시오.
예시에서 와일드카드 값("*")은 그대로 유지하십시오. 와일드카드를 특정 리소스 ID로 대체하면 권한 부여 범위가 제한되어 백업이 실패하게 됩니다. 자세한 내용은 ‘권한 범위 문제 해결’을 참조하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
"type": "access",
"description": "Operator role for the Backup service to the Virtual Server service",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
],
"resources":[
{"attributes":[
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "instanceId", "operator": "stringEquals", "value": "*"}]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Operator role for the Backup service to the Cloud Block Storage",
"subjects":[
{"attributes":[
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
],
"resources":[
{"attributes": [
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is.volume"},
{"name": "volumeId", "operator": "stringEquals", "value": "*"}
]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Editor role for the Backup service to Block Storage Snapshots",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
],
"resources":[
{"attributes": [
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "snapshotId", "operator": "stringEquals", "value": "*"}]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Editor role for the Backup service to the Snapshot consistency groups",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
],
"resources":[
{"attributes":[
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]
}
]
}'
자세한 정보는 IAM 정책 관리 에 대한 API 스펙을 참조하십시오.
하위 계정에서 엔터프라이즈가 관리하는 볼륨 백업에 대한 교차 계정 인증 만들기
엔터프라이즈 관리자가 중앙에서 백업을 관리할 수 있도록 하려면 하위 계정이 하위 계정의 자원과 상호작용하도록 엔터프라이즈 계정의 백업 서비스에 대한 권한을 제공해야 합니다.
-
엔터프라이즈 관리 API 에 대한 API 요청을 작성하여 상위 엔터프라이즈 계정의 계정 ID를 가져오십시오.
curl -X GET "https://enterprise.cloud.ibm.com/v1/enterprises" -H "Authorization: Bearer <IAM_Token>" -H 'Content-Type: application/json' -
그런 다음 IAM 정책 관리 API 에 대한 요청을 작성하여 하위 계정의
is.backup,is.snapshot,is.volume,is.snapshot-consistency-group및is.instance서비스와 상호작용할 엔터프라이즈 계정의is.backup-policy에 대한 서비스 대 서비스 권한을 작성하십시오.- 편집자 역할을 사용하여
is.backup-policy(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Editor role for the Enterprise account's backup service to interact with this account's backup service.", "subjects": [ {"attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"} ], "resources":[ {"attributes":[ {"name": "accountId", "value": "$SUB_ACCOUNT_ID", "operator": "stringEquals"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "backupPolicyId", "operator": "stringEquals", "value": "*"}] } ] }'- 운영자 역할을 사용하여
is.volume(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Operator role for the Enterprise account's backup service to interact with this account's volume service", "subjects": [ { "attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"}, {"name": "volumeId", "operator": "stringEquals", "value": "*"}] } ] }'- 편집자 역할을 사용하여
is.snapshot(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Editor role for the Enterprise account's backup service to interact with this account's snapshots", "subjects":[ { "attributes":[ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotId", "operator": "stringEquals", "value": "*"}] } ] }'- 운영자 역할을 사용하여
is.instance(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Operator role for the Enterprise account's backup service to interact with this account's virtual server instance service", "subjects": [ {"attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"}, {"name": "instanceId", "operator": "stringEquals", "value": "*"}] } ] }' - 편집자 역할을 사용하여
자세한 정보는 IAM 정책 관리 에 대한 API 스펙을 참조하십시오.
파일 공유 백업에 대한 권한 부여 만들기
계정에서 ‘VPC용 백업’을 사용하여 정책 및 계획을 생성하고 파일 공유에 대한 백업 작업을 실행하려면, 필요한 서비스 간 인증을 생성하기 위해 다음 요청을 수행하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v2/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
"type": "authorization",
"description": "IAM roles for the Backup service to Cloud File Storage",
"subject": {
"attributes": [
{"key": "serviceName","operator": "stringEquals","value": "is"},
{"key": "accountId","operator": "stringEquals","value": "a1234567"},
{"key": "resourceType","operator": "stringEquals","value": "backup-policy"}]
},
"control": {
"grant": {
"roles": [
{"role_id":"crn:v1:bluemix:public:is::::serviceRole:ShareSnapshotOperator"},
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]}
},
"resource": {
"attributes": [
{"key": "accountId","operator": "stringEquals","value": "a1234567"},
{"key": "serviceName","operator": "stringEquals","value": "is"},
{"key": "shareId","operator": "stringExists","value": true}]
}
}'
엔터프라이즈에서 관리하는 백업을 위한 교차 계정 인증 템플릿 만들기
엔터프라이즈 계정 관리자는 프로그래밍 방식으로 하위 계정에 권한 정책 템플릿 생성 및 할당 를 적용하여 권한을 중앙에서 관리할 수 있습니다. 엔터프라이즈의 모든 하위 계정에서 백업 정책에 사용할 권한 정책 템플릿을 생성하려면 다음 단계를 수행하십시오.
-
엔터프라이즈 관리 API 에 대한 API 요청을 작성하여 상위 엔터프라이즈 계정의 계정 ID를 가져오십시오.
curl -X GET `https://enterprise.cloud.ibm.com/v1/enterprises` -H "Authorization: Bearer <IAM_Token>" -H 'Content-Type: application/json' -
그런 다음, 할당된 하위 계정의
is.backup,is.snapshot,is.volume,is.snapshot-consistency-group및is.instance서비스와 상호 작용할 수 있도록 기업 계정의is.backup-policy에 대한 서비스 간 인증을 만들기 위해 IAM 정책 관리 API에 요청합니다.- 편집자 역할을 사용하여
is.backup-policy(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }- 운영자 역할을 사용하여
is.volume(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Block Storage service", "description": "Grant Operator Role for the Backup service to work with Block Storage volumes", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on Block Storage for VPC volumes", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "volumeId", "operator": "stringExists", "value": "true"} ]}} }'- 편집자 역할을 사용하여
is.snapshot(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Block Storage snapshots", "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on Block Storage for VPC snapshots", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotId", "operator": "stringExists", "value": "true"} ]}} }'- 운영자 역할을 사용하여
is.instance(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }`- 편집자 역할을 사용하여
is.snapshotConsistencyGroup(대상) 과 상호작용할 수 있도록is.backup-policy(소스) 에 권한을 부여하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with snapshot consistency groups", "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on snapshot consistency groups", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"} ]}} }`- 허가하다
is.backup-policy(소스) 상호 작용하다is.share(대상)을 편집자 와 공유하고 스냅샷 운영자 역할을 공유합니다.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with File shares", "description": "Grant Editor Role for the Backup service to work with File shares", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor, and Share Snapshot Operator roles on File shares", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}, {"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}]} }, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"}] }, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "shareId", "operator": "stringExists", "value": "true"}] } } }' - 편집자 역할을 사용하여
자세한 정보는 IAM 정책 관리 에 대한 API 스펙을 참조하십시오.
Event Notifications 대한 권한 만들기
Event Notifications 에 대한 서비스 간 인증 정책을 생성하려면, EventSourceManager 역할로 is.backup-policy (소스)가 event-notification (대상)에 대한 액세스 권한을 부여받도록 API 요청을 수행하십시오.
curl -X POST 'https://iam.cloud.ibm.com/v2/policies' -H
'Authorization: Bearer $TOKEN' -H
'Content-Type: application/json' -d
'{
"type": "access",
"description": "Event Source Manager role for the backup service to interact with the Event notification service",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id" "crn:v1:bluemix:public:iam::::role:EventSourceManager"}
],
"resource":[
{"attributes": [
{"name": "serviceName", "operator": "stringEquals", "value": "event-notification"},
{"name": "instanceId", "operator": "stringEquals", "value": "<en-instance-ID>"}]
}
]
}'
Terraform을 사용하여 권한 부여 정책 작성
계정 수준에서 볼륨 백업에 대한 권한 만들기
main.tf 파일에서 ibm_iam_authorization_policy 자원 인수를 사용하여 서비스 간에 권한 부여 정책을 작성하십시오.
리소스 속성에 대해서는 operator = "stringExists" 을 value = "true" 와 함께 사용하십시오. 특정 리소스 ID를 사용하여 "stringEquals" 로 변경하면 권한 범위가 제한되어 백업이 실패하게 됩니다. 자세한 내용은 ‘권한 범위 문제 해결’을 참조하십시오.
resource "ibm_iam_authorization_policy" "policy1" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "volumeId"
operator = "stringExists"
value = "true"
}
roles = ["Operator"]
}
resource "ibm_iam_authorization_policy" "policy2" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "snapshotId"
operator = "stringExists"
value = "true"
}
roles = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy3" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "snapshotConsistencyGroupId"
operator = "stringExists"
value = "true"
}
roles = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy4" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "instanceId"
operator = "stringExists"
value = "true"
}
roles = ["Operator"]
}
인수 및 속성에 대한 자세한 정보는 권한 부여 리소스에 대한 Terraform 문서를 참조하십시오.
파일 공유 백업에 대한 권한 부여 만들기
main.tf 파일에서 ibm_iam_authorization_policy 자원 인수를 사용하여 서비스 간에 권한 부여 정책을 작성하십시오.
resource "ibm_iam_authorization_policy" "policy1" {
source_service_name = "is"
source_resource_type = "backup-policy"
target_service_name = "is"
target_resource_type = "share"
roles = ["ShareSnapshotOperator,Editor"]
}
인수 및 속성에 대한 자세한 정보는 권한 부여 리소스에 대한 Terraform 문서를 참조하십시오.
Event Notifications 대한 권한 만들기
Event Notifications 대한 서비스 간 권한 부여 정책을 만들려면 ' main.tf ' 파일에 ' ibm_iam_authorization_policy 리소스 인수를 사용하세요.
resource "ibm_iam_authorization_policy" "en-policy" {
source_service_name = "is"
source_resource_type = "backup-policy"
source_resource_instance_id = ibm_backup-policy_instance.instance.guid
target_service_name = "event-notification"
target_resource_instance_id = ibm_event-notification_instance.instance.guid
roles = ["EventSourceManager"]
}
인수 및 속성에 대한 자세한 정보는 권한 부여 리소스에 대한 Terraform 문서를 참조하십시오.