Red Hat AI 추론에 대한 IAM 액세스 관리
계정 내 사용자의 ‘ Red Hat AI Inference ’ 프로젝트에 대한 접근 권한은 IBM Cloud® Identity and Access Management (IAM)을 통해 관리됩니다. 계정의 Red Hat AI Inference 서비스에 액세스하는 모든 사용자에게 IAM 역할과 함께 액세스 정책이 지정되어야 합니다. Red Hat AI Inference 에 대한 액세스 권한을 할당하는 가장 적합한 방법을 결정하는 데 도움이 되도록 다음 역할, 작업 등을 검토해 보십시오.
계정 내 사용자에게 할당하는 액세스 정책에 따라, 사용자가 선택한 서비스 또는 특정 프로젝트 범위 내에서 수행할 수 있는 작업이 결정됩니다. 허용되는 작업은 서비스 정책( Red Hat AI Inference )에 의해 맞춤 설정 및 정의되며, 해당 서비스에서 수행할 수 있는 작업으로 지정됩니다. 각 조치는 사용자에게 지정할 수 있는 IAM 플랫폼 또는 서비스 역할에 맵핑됩니다.
또한 사용하려는 리소스 그룹에 대해 ‘Viewer’ 역할이 부여되어 있는지 확인하십시오.
IAM 액세스 정책은 다양한 수준의 액세스를 허용합니다. 다음과 같은 옵션들이 있습니다:
- 특정 프로젝트에 대한 ‘읽기’ 또는 ‘쓰기’ 권한 부여.
- 여러 프로젝트가 포함될 수 있는 특정 리소스 그룹에 대해 ‘읽기’ 또는 ‘쓰기’ 권한을 부여하는 것.
- 수많은 프로젝트가 포함된 여러 리소스 그룹이 있을 수 있는 전체 계정에 대해 ‘읽기’ 또는 ‘쓰기’ 권한을 부여하는 경우.
- 리소스 그룹 및 계정 수준에서 ‘ Red Hat AI 추론 ’ 프로젝트에 대한 뷰어 권한을 부여합니다.
- 리소스 그룹 및 계정 수준에서 ‘ Red Hat AI 추론 ’ 프로젝트를 생성할 수 있는 권한을 부여합니다.
특정 역할 및 해당 조치가 처리하려는 유스 케이스에 맞지 않는 경우 사용자 정의 역할을 작성하고 포함할 조치를 선택할 수 있습니다.
Red Hat AI Inference 서비스를 사용할 때 각 역할별로 수행할 수 있는 작업 유형을 요약한 다음 표를 확인해 보세요. 플랫폼 관리 역할은 사용자가 플랫폼 수준에서 서비스 리소스에 대한 작업을 수행할 수 있도록 해줍니다. 예를 들어, 서비스에 대한 사용자 액세스 권한을 할당하거나, 프로젝트를 생성 또는 삭제하거나, 프로젝트를 애플리케이션에 연결하는 등의 작업을 수행할 수 있습니다. 서비스 액세스 역할은 사용자가 Red Hat AI Inference 에 액세스하고 Red Hat AI Inference 의 API를 호출할 수 있도록 합니다.
이 문서는 플랫폼 역할별로 사용자가 수행할 수 있는 작업에 대한 개요를 제공합니다. 각 역할이 할당되었을 때 수행할 수 있는 작업의 종류나 사용자가 일반적으로 수행하게 될 업무에 대해 쉬운 말로 설명해 주세요.
IAM 역할 및 조치
| 플랫폼 역할 | 설명 |
|---|---|
| 뷰어 | 조회자 권한을 가진 사용자는 프로젝트를 볼 수는 있지만, 수정할 수는 없습니다. |
| 운영자 | 운영자라면 서비스 대시보드를 확인하는 등 프로젝트를 구성하고 운영하기 위해 필요한 플랫폼 관련 작업을 수행할 수 있습니다. |
| 편집자 | 편집자는 계정 관리 및 액세스 정책 지정을 제외한 모든 플랫폼 조치를 수행할 수 있습니다. |
| 관리자 | 관리자(administrator)는 다른 사용자에게 액세스 정책을 지정하는 것을 포함하여 이 역할이 지정되는 리소스를 기반으로 모든 플랫폼 조치를 수행할 수 있습니다. |
| 서비스 구성기 리더 | 통제 관리를 위해 서비스 구성을 읽을 수 있는 기능입니다. |
| 키 관리자 | 키 관리자로서, 이 서비스는 새 리소스 키 생성 등 리소스 키를 관리하는 데 필요한 플랫폼 작업을 수행할 수 있습니다. |
| 서비스 역할 | 설명 |
|---|---|
| 독자 | 독자는 서비스 내 읽기 전용 조치(예:서비스 특정 리소스 보기)를 수행할 수 있습니다. |
| 작성자 | 작성자는 서비스 특정 리소스 작성 및 편집을 포함하여 독자 역할 이상의 권한을 갖습니다. |
| 관리자 | 관리자(manager)는 서비스에서 정의한 대로 권한이 있는 조치를 완료하기 위해 작성자 역할 이상의 권한을 갖습니다. 또한 서비스 특정 리소스를 작성하고 편집할 수 있습니다. |
| 동작 및 이벤트 | 설명 | 역할 |
|---|---|---|
instructlab.dashboard.view |
Red Hat AI Inference 대시보드를 확인하세요. | 운영자, 관리자, 편집자 |
instructlab.taxonomy.read |
분류 체계에 대한 자세한 내용을 확인하세요. | 독자, 작성자, 관리자 |
instructlab.taxonomy.create |
분류 체계 생성 | 작성자, 관리자 |
instructlab.taxonomy.list |
분류 체계를 나열하십시오. | 독자, 작성자, 관리자 |
instructlab.taxonomy.delete |
분류 체계를 삭제합니다. | 작성자, 관리자 |
instructlab.sdgdata.read |
데이터 생성 실행에 대한 세부 정보를 확인하세요. | 독자, 작성자, 관리자 |
instructlab.sdgdata.list |
데이터 생성 실행 내역을 나열합니다. | 독자, 작성자, 관리자 |
instructlab.sdgdata.create |
데이터 생성 실행을 생성합니다. | 작성자, 관리자 |
instructlab.sdgdata.delete |
데이터 생성 실행을 삭제합니다. | 작성자, 관리자 |
instructlab.sdgdata.stop |
데이터 생성 작업을 중지합니다. | 작성자, 관리자 |
instructlab.sdgdata.stop |
데이터 생성 작업을 중지합니다. | 작성자, 관리자 |
instructlab.model.read |
모델 훈련 실행에 대한 세부 내용을 읽어보세요. | 독자, 작성자, 관리자 |
instructlab.model.list |
모델 훈련 실행 내역을 나열합니다. | 독자, 작성자, 관리자 |
instructlab.model.create |
모델 훈련 실행을 생성합니다. | 작성자, 관리자 |
instructlab.model.delete |
모델 훈련 실행을 삭제합니다. | 작성자, 관리자 |
instructlab.model.stop |
모델 훈련 실행을 중지합니다. | 작성자, 관리자 |
InstuctLab 에 Object Storage 아티팩트를 생성 및 업데이트할 수 있는 권한을 부여하세요
Red Hat AI 추론 에게 Object Storage 서비스에 대한 ‘ Writer ’ 액세스 역할을 부여하십시오. 로그인한 사용자도 동일한 권한을 가지고 있어야 합니다.
-
Red Hat AI 추론 및 Object Storage 에 대한 권한 정책을 생성하십시오.
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage이미 사용할 수 있는 ‘ Object Storage ’ 리소스가 있다면, 권한 범위를 해당 리소스들로만 제한할 수 있습니다.
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage --target-service-instance-id CLOUD-OBJECT-STORAGE-INSTANCE-ID --target-resource CLOUD-OBJECT-STORAGE-BUCKET --target-resource-type bucket -
승인 정책이 생성되었는지 확인하십시오.
ibmcloud iam authorization-policies권한 부여 범위가 특정 Object Storage 버킷으로 지정되지 않은 경우의 결과:
Getting authorization policies under account abc1234 as user... OK ID: <id> Source service name: instructlab Source service instance: All instances Target service name: cloud-object-storage Target service instance: All instances Roles: Writer권한 부여 범위가 특정 Object Storage 버킷으로 제한된 경우의 결과:
Getting authorization policies under account abc1234 as user... OK ID: <id> Source service name: instructlab Source service instance: All instances Target service name: cloud-object-storage Target service instance: bucket Roles: Writer -
선택 사항: 비공개 저장소를 사용하는 경우, Red Hat AI 추론 에 대한 별도의 서비스 인증을 생성하고 Secrets Manager
ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager -
필요한 경우, 로그인한 사용자에게 ‘
Writer’ 권한을 부여하십시오. 이전 단계에서 확인한 ‘ Object Storage ’ 서비스 인스턴스 ID를 포함하십시오.ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
리소스에 대한 사용자 액세스 권한 할당
계정 내의 어떤 사용자(또는 사용자 그룹)가 Red Hat AI Inference 리소스에 액세스할 수 있는지 제어할 수 있습니다. 콘솔에서 액세스 권한을 할당하려면 다음 단계를 따르세요.
권한을 할당하는 방법, CLI 사용 단계, 또는 Red Hat AI Inference 또는 Object Storage 버킷에 대한 액세스 범위를 설정하는 다양한 방법에 대한 자세한 내용은 ‘ Red Hat AI Inference 의 IAM 액세스 관리’를 참조하십시오.
접근 권한을 부여하는 일반적인 방법은 두 가지가 있습니다:
- 사용자별 액세스 정책.
- 콘솔의 관리 > 액세스(IAM) > 사용자 페이지에서 사용자별 액세스 정책을 관리할 수 있습니다. IAM 액세스 권한을 할당하는 단계에 대한 자세한 내용은 콘솔의 ‘리소스 액세스 관리’를 참조하십시오.
- 액세스 그룹.
- 액세스 그룹은 그룹에 대한 액세스 권한을 한 번 지정하여 액세스 관리를 간소화하는 데 사용되며, 필요한 대로 그룹에서 사용자를 추가하거나 제거하여 액세스 권한을 제어할 수 있습니다. 콘솔의 관리 > 액세스(IAM) > 액세스 그룹 페이지에서 액세스 그룹 및 해당 액세스를 관리합니다. 자세한 정보는 콘솔에서 그룹에 대한 액세스 지정을 참조하십시오.
{{../iam/iam-mng-access.md#access-resources-console}}
{{../iam/iam-mng-access.md#access-to-resources-console}}
{{../iam/iam-mng-access.md#access-to-resource-group}}
CLI를 사용하여 Red Hat AI 추론 에 대한 액세스 권한 할당
액세스 지정, 제거 및 검토에 대한 단계별 지시사항은 CLI를 사용하여 리소스에 대한 액세스 지정을 참조하십시오. 다음 예제는 instructlab 에 ‘ Writer ’ 역할을 할당하는 명령어를 보여줍니다:
서비스 이름에 instructlab을(를) 사용하십시오. 역할 ID를 확인하려면 ibmcloud iam roles 명령을 실행하십시오. 또한, 한 단어가 넘는 역할 이름은 따옴표로 묶어 주세요. 예를 들어 "Service Configuration Reader".
계정 내 특정 Red Hat AI 추론 프로젝트에 대해 사용자에게 ‘Viewer’ 역할을 부여하는 명령어 예시.
ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"
계정 내 특정 Red Hat AI 추론 프로젝트에 대해 사용자에게 ‘Key Manager’ 역할을 부여하는 명령어 예시.
ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab
계정 내 모든 Red Hat AI 추론 프로젝트에 대해 사용자에게 ‘Writer’ 역할을 부여하는 명령어 예시.
ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer
계정 내의 모든 ‘ Red Hat AI 추론 ’ 서비스 인스턴스에 관리자 역할을 할당하는 명령어 예시입니다.
ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab
계정 내의 모든 리소스 그룹에 ‘Viewer’ 역할을 할당하는 명령어 예시.
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
특정 리소스 그룹의 모든 사용자에게 ‘Viewer’ 역할을 할당하는 명령어 예시.
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
관리자 역할이 부여된 리소스 그룹을 가져오는 명령어 예시.
ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group
API를 사용하여 Red Hat AI 추론 에 대한 사용자 액세스 권한 부여
액세스 권한 지정, 제거 및 검토에 대한 단계별 지시사항은 API를 사용하여 리소스에 대한 액세스 권한 지정 또는 정책 API 문서 작성을 참조하십시오. 다음 표에 있는 역할 클라우드 리소스 이름(CRN)은 API로 액세스를 지정하는 데 사용됩니다.
서비스 이름으로는 ‘ instructlab ’을 사용하고, 역할 CRN 값 표를 참조하여 역할에 올바른 값을 사용하고 있는지 확인하십시오. 다음 역할 CRN 목록을 검토하십시오.
| 역할 | CRN |
|---|---|
| 독자 | crn:v1:bluemix:public:iam::::serviceRole:Reader |
| 작성자 | crn:v1:bluemix:public:iam::::serviceRole:Writer |
| 관리자 | crn:v1:bluemix:public:iam::::serviceRole:Manager |
| 뷰어 | crn:v1:bluemix:public:iam::::role:Viewer |
| 운영자 | crn:v1:bluemix:public:iam::::role:Operator |
| 편집자 | crn:v1:bluemix:public:iam::::role:Editor |
| 관리자 | crn:v1:bluemix:public:iam::::role:Administrator |
| 서비스 구성기 리더 | crn:v1:bluemix:public:iam::::role:ConfigReader |
| 키 관리자 | crn:v1:bluemix:public:resource-controller::::role:KeyManager |
다음 예제에서는 instructlab 에 ‘ Writer ’ 역할을 할당합니다.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
"type": "access",
"description": "Writer role for InstructLab",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}'
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
}
],
"resources":[
{
"attributes": [
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceName",
"value": "instructlab"
}
]
}
]
}
{{../iam/iam-mng-access.md#access-resources-api}}
{{../iam/iam-mng-access.md#access-resourcegroups-api}}