RBAC, 팀 및 IAM 통합

IBM Cloud® Identity and Access Management(IAM)를 사용하면 안전하게 사용자를 인증하고 IBM Cloud에서 모든 클라우드 리소스에 대한 액세스를 일관되게 제어할 수 있습니다. 팀은 사용자 또는 사용자 그룹이 정의된 범위에 있는 메트릭에 액세스할 수 있도록 Monitoring 인스턴스에 격리된 작업공간을 제공합니다.

IAM은 사용자가 특정 메트릭 세트에만 액세스하고 정의된 조치 세트를 제품 내에서 수행할 수 있도록 팀과 역할의 조합을 맵핑할 수 있습니다.

팀은 사용자가 계정의 전체 인프라가 아닌 자신의 앱이 배치된 인프라와 관련된 메트릭만 볼 수 있도록 추가 보안을 제공합니다. 예를 들어, Kubernetes 클러스터에서 앱이 배치된 1 kubernestes.namespace의 메트릭만 볼 수 있는 액세스 권한을 개발자 그룹에 부여할 수 있습니다.

Monitoring 인스턴스에는 하나 이상의 팀을 정의할 수 있습니다. 팀은 사용자 또는 사용자 그룹이 정의된 범위의 메트릭에 액세스할 수 있도록 격리된 작업공간을 제공합니다.

Monitoring 인스턴스에는 다음과 같은 팀이 포함됩니다.

  • 모니터 오퍼레이션
  • 보안 오퍼레이션

기본적으로 사용자에게는 monitor operations 팀 또는 인스턴스 관리자가 기본 팀으로 구성한 팀에 대한 액세스 권한이 부여됩니다.

  • 서비스 관리자는 여러 개의 팀을 구성하고 기본 팀을 변경할 수 있습니다.

  • 각 팀에는 팀 범위에 있는 데이터를 모니터하는 데 사용할 수 있는 자체 사용자 정의 대시보드 및 경보 세트가 있습니다.

  • 팀의 사용자는 팀 관리자가 정의한 범위에 포함되는 데이터에 액세스할 수 있습니다.

팀에 대해 자세히 알아보기

사용자가 팀 컨텍스트 내에서 데이터를 모니터하려면 사용자에게 IBM Cloud Monitoring 서비스에 대한 정책을 부여해야 합니다. 정책은 사용자가 해당 팀의 범위에 있는 데이터에 대해 작업할 수 있도록 사용자에 대한 팀과 서비스 권한을 지정합니다.

다음과 같은 IAM 서비스 역할을 부여할 수 있습니다.

  • 작성자: 작성자 역할을 사용할 경우 사용자는 대시보드, 경보 및 알림을 통해 데이터를 모니터하고 팀 범위에 있는 대시보드, 경보 및 알림 등의 리소스를 관리할 수 있습니다.
  • 독자: 독자 역할을 사용할 경우 사용자는 팀 범위에 있는 대시보드, 경보 및 알림을 통해 데이터를 모니터할 수 있습니다.
  • 관리자: 관리자 역할은 관리 권한을 부여하는 인스턴스 레벨 역할입니다. 팀에 대한 정책에서 이 역할을 부여할 경우 해당 팀에 속하는 사용자에게 인스턴스에 대한 관리자 권한이 부여됩니다.

정책 및 권한 부여를 만들 수 있는 IAM 권한이 있는 경우 대상 서비스의 사용자로서 보유한 액세스 수준만 부여할 수 있습니다. 예를 들어 대상 서비스에 대한 뷰어 액세스 권한이 있는 경우 권한 부여를 위해 뷰어 역할만 할당할 수 있습니다. 관리자 등의 상위 권한을 할당하려고 하면 권한이 부여된 것처럼 보일 수 있지만 대상 서비스에 대한 가장 높은 수준의 권한, 즉 보기 권한만 할당됩니다.

다음 표는 Monitoring 서비스 작업을 수행할 수 있도록 사용자에게 부여할 수 있는 사용자 역할을 보여줍니다.

사용자 역할 목록
사용자 역할 IAM 서비스 역할
ROLE_USER reader
ROLE_ADVANCED_USER writer
ROLE_ADMIN manager

다음 표는 Monitoring 인스턴스의 팀 컨텍스트 내에서 작업할 수 있도록 사용자에게 부여할 수 있는 팀 역할을 보여줍니다.

팀 역할 목록
팀 역할 IAM 서비스 역할 팀
ROLE_TEAM_READ reader 사용자 정의 팀
ROLE_TEAM_EDIT writer 사용자 정의 팀
ROLE_TEAM_ADMIN manager 사용자 정의 팀
ROLE_TEAM_MONITOR_MANAGER manager Monitor operations
ROLE_TEAM_SECURE_MANAGER manager Secure operations

Monitoring UI에서 더 많은 팀을 정의하여 데이터에 대한 다양한 액세스 레벨을 팀 및 사용자 세트별로 정의할 수 있습니다.

사용자에게 하나 이상의 팀에 대한 액세스 권한을 부여하려면 사용자가 액세스해야 하는 각 팀에 대한 정책을 관리자가 사용자에게 부여해야 합니다. 관리자는 팀마다 개별 정책을 사용하여 모니터링 인스턴스의 데이터에 사용할 서로 다른 서비스 액세스 및 권한 레벨을 정의할 수 있습니다.

예를 들어, 팀에서 작업해야 하는 사용자에게는 다음과 같은 정책이 필요합니다.

  • 사용자가 IBM Cloud에서 모니터링 인스턴스를 볼 수 있는 플랫폼 역할 뷰어가 있는 정책
  • 사용자에게 1개 팀에 대한 액세스 권한을 부여하는 정책. 서비스 역할에 따라 팀 범위에 있는 데이터에 대해 작업할 사용자의 권한이 결정됩니다.

팀 컨텍스트 내에서 IBM Cloud Monitoring 서비스에 대해 작업할 수 있도록 사용자 또는 서비스 ID 권한을 부여하려면 다음 단계를 완료하십시오.

전제조건

사용자 ID에 관리자 플랫폼 권한이 있어야 IBM Cloud Monitoring 서비스를 관리할 수 있습니다. 계정 소유자는 사용자 액세스를 관리하고 계정 리소스를 관리할 목적으로 계정에 대한 액세스 권한을 사용자에게 부여할 수 있습니다. 자세히 보기

1단계. 액세스 그룹 작성

액세스 그룹을 작성하려면 다음을 수행하십시오.

  1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 액세스 그룹을 선택하십시오.
  2. 작성을 클릭하십시오.
  3. 그룹의 이름과 선택적 설명을 입력하고 작성을 클릭하십시오.

그룹 제거 옵션을 선택하여 그룹을 삭제할 수 있습니다. 계정에서 그룹을 제거하면 그룹 및 그룹에 지정된 모든 액세스에서 모든 사용자와 서비스 ID를 제거합니다.

CLI를 사용하여 액세스 그룹을 작성하려면 ibmcloud iam access-group-create 명령을 사용할 수 있습니다.

ibmcloud iam access-group-create GROUP_NAME [-d, --description DESCRIPTION]

2단계. 옵저버빌리티 UI에서 Monitoring 인스턴스를 볼 수 있는 권한을 추가합니다

그룹을 설정한 다음 그룹에 공통 액세스 정책을 지정할 수 있습니다. 관찰 가능성 UI에서 Monitoring 인스턴스를 볼 수 있는 권한을 추가해야 합니다.

액세스 그룹에 대해 설정한 정책은 그룹 내의 모든 엔티티, 사용자 및 서비스 ID에 적용됩니다.

UI를 사용하거나 명령행을 통해 정책을 지정할 수 있습니다.

정책을 정의할 때 플랫폼 역할을 선택해야 합니다. 플랫폼 관리 역할은 인스턴스 작성 및 삭제 기능, 별명, 바인딩, 인증 정보 관리 기능, 액세스 관리 기능을 포함하여 다양한 조치를 포함합니다. 올바른 플랫폼 역할은 관리자, 편집자, 운영자, 뷰어입니다.

CLI를 통해 권한 추가

CLI를 사용하여 액세스 그룹 정책을 작성하려면 뷰어 역할로 ibmcloud iam access-group-policy-create 명령을 사용하십시오.

ibmcloud iam access-group-policy-create GROUP_NAME {-f, --file @JSON_FILE | --roles ROLE_NAME1,ROLE_NAME2... [--service-name SERVICE_NAME] [--service-instance SERVICE_INSTANCE] [--region REGION] [--resource-type RESOURCE_TYPE] [--resource RESOURCE] [--resource-group-name RESOURCE_GROUP_NAME] [--resource-group-id RESOURCE_GROUP_ID]}

예를 들어, 다음 명령을 실행하여 사용자에게 뷰어 권한을 부여할 수 있습니다.

ibmcloud iam access-group-policy-create my-access-group --roles Viewer --service-name my-monitoring-instance --service-instance 99999999-9999-9999-999999

UI를 통해 권한 추가

UI를 통해 액세스 그룹에 정책을 지정하려면 다음 단계를 완료하십시오.

  1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 액세스 그룹을 선택하십시오.

  2. 액세스를 지정할 그룹의 이름을 선택하십시오.

  3. 액세스 정책 > 액세스 권한 할당 > 리소스에 대한 액세스 권한 할당을 클릭합니다.

  4. IAM 서비스를 선택하십시오.

  5. 지정할 액세스 권한 유형은 무엇입니까? 섹션에서 IBM Cloud Monitoring을 선택하십시오.

  6. 어떤 서비스에 액세스 권한을 지정하시겠습니까? 섹션에서 다음 옵션 중 하나를 선택하십시오.

    모든 인스턴스를 포함하도록 정책 범위를 정의하려면 모든 서비스를 선택하십시오.

    정책 범위를 세분화려면 속성 기반 서비스를 선택하십시오. 다음 옵션 중 하나를 선택하십시오.

    옵션 1: 범위가 리소스 그룹으로 설정되어 있습니다. 리소스 그룹을 선택하여 1개의 리소스 그룹을 선택하고 해당 리소스 그룹과 연관된 모든 인스턴스를 포함하도록 정책 범위를 정의하십시오.

    옵션 2: 범위가 리소스 그룹의 1개 인스턴스로 설정되어 있습니다. 리소스 그룹을 선택하여 리소스 그룹을 선택하십시오. 그런 다음 서비스 인스턴스를 선택하여 리소스 그룹 내의 인스턴스를 선택하십시오.

    옵션 3: 범위가 1개 인스턴스로 설정되어 있습니다. 서비스 인스턴스를 선택하여 인스턴스를 선택하십시오.

    Sysdig 팀 섹션에는 값을 지정하지 마십시오.

  7. 뷰어 플랫폼 역할을 선택하십시오.

  8. 지정을 클릭하십시오.

3단계. 팀에서 작업할 수 있는 권한 추가

다음으로 팀 컨텍스트 내에서 Monitoring 서비스의 데이터에 대해 작업할 수 있는 권한을 사용자에게 부여하는 정책을 추가해야 합니다.

정책을 정의할 때 서비스 역할을 선택해야 합니다. 서비스 액세스 역할은 사용자 또는 서비스가 서비스 인스턴스에 대한 조치를 수행할 수 있는지를 정의합니다. 서비스 액세스 역할은 관리자, 작성자 및 독자입니다.

CLI를 통해 권한 추가

CLI를 사용하여 액세스 그룹 정책을 작성하려면 ibmcloud iam access-group-policy-create 명령을 사용할 수 있습니다.

ibmcloud iam access-group-policy-create GROUP_NAME {-f, --file @JSON_FILE | --roles ROLE_NAME1,ROLE_NAME2... [--service-name SERVICE_NAME] [--service-instance SERVICE_INSTANCE] [--region REGION] [--resource-type RESOURCE_TYPE] [--resource RESOURCE] [--resource-group-name RESOURCE_GROUP_NAME] [--resource-group-id RESOURCE_GROUP_ID]}

올바른 역할은 Reader, Writer, Manager입니다.

JSON 파일을 사용하여 팀 정책을 작성해야 합니다.

예를 들어 다음 명령을 실행할 수 있습니다.

ibmcloud iam access-group-policy-create accessGroupName accessGroupGUID --file policy.json

여기서,

  • accessGroupName은 액세스 그룹 이름입니다.
  • accessGroupGUID는 액세스 그룹의 GUID입니다.

ibmcloud iam access-groups 명령을 실행하여 계정의 이름 및 해당 GUID 목록을 가져올 수 있습니다.

다음 JSON 파일을 사용하십시오.

{
    "type": "access",
    "subjects": [
        {
            "attributes": [
                {
                    "name": "access_group_id",
                    "value": "AccessGroupGuid"
                }
            ]
        }
    ],
    "roles" : [
    {
            "role_id" : "crn:v1:bluemix:public:iam::::serviceRole:Reader"
    }
    ],
    "resources": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "value": "accountGuid"
                },
                {
                    "name": "serviceName",
                    "value": "sysdig-monitor"
                },
                {
                    "name": "serviceInstance",
                    "value": "instanceGuid"
                },
                {
                    "name": "sysdigTeam",
                    "value": "sysdigTeamID"
                }
            ]
        }
    ]
}

UI를 통해 권한 추가

UI를 통해 액세스 그룹에 정책을 지정하려면 다음 단계를 완료하십시오.

  1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 액세스 그룹을 선택하십시오.

  2. 액세스를 지정할 그룹의 이름을 선택하십시오.

  3. 액세스 정책 > 액세스 권한 할당 > 리소스에 대한 액세스 권한 할당을 클릭합니다.

  4. IAM 서비스를 선택하십시오.

  5. 지정할 액세스 권한 유형은 무엇입니까? 섹션에서 IBM Cloud Monitoring을 선택하십시오.

  6. 어떤 서비스에 액세스 권한을 지정하시겠습니까? 섹션에서 다음 단계를 완료하십시오.

    1. 정책 범위를 세분화려면 속성 기반 서비스를 선택하십시오. 다음 옵션 중 하나를 선택하십시오.

      옵션 1: 범위를 리소스 그룹의 1개 인스턴스로 설정합니다. 리소스 그룹을 선택하여 리소스 그룹을 선택하십시오. 그런 다음 서비스 인스턴스를 선택하여 리소스 그룹 내의 인스턴스를 선택하십시오.

      옵션 2: 범위를 1개 인스턴스로 설정합니다. 서비스 인스턴스를 선택하여 인스턴스를 선택하십시오.

    2. Sysdig 팀을 선택하십시오.

  7. 서비스 역할을 선택하십시오. 서비스 역할은 사용자가 해당 팀의 리소스를 보고 관리하는 데 필요한 권한을 정의합니다.

    • 서비스에 대한 관리자 권한을 부여하려면 관리자를 선택하십시오.

    • 데이터 보기 권한만 부여하려면 독자를 선택하십시오.

    필요한 역할에 관해 자세히 보기를 수행하십시오.

  8. 지정을 클릭하십시오.

4단계. 액세스 그룹에 사용자 또는 서비스 ID 추가

사용자 또는 서비스 ID를 기존 액세스 그룹에 추가할 수 있습니다.

액세스 그룹에 사용자 추가

다음 단계를 완료하여 사용자를 추가하십시오.

  1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 액세스 그룹을 선택하십시오.
  2. 액세스를 지정할 그룹의 이름을 선택하십시오.
  3. 사용자 탭에서 사용자 추가를 클릭하십시오.
  4. 목록에서 추가할 사용자를 선택하고 그룹에 추가를 클릭하십시오.

액세스 그룹에 서비스 ID 추가

다음 단계를 완료하여 서비스 ID를 추가하십시오.

  1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 액세스 그룹을 선택하십시오.
  2. 액세스를 지정할 그룹의 이름을 선택하십시오.
  3. 서비스 ID 탭을 클릭하고 서비스 ID 추가를 클릭하십시오.
  4. 목록에서 추가할 ID를 선택하고 그룹에 추가를 클릭하십시오.