검색

9.5. 역할 관리

download PDF

스토리지 관리자는 radosgw-admin 명령을 사용하여 역할 및 해당 역할과 연결된 권한을 생성, 삭제 또는 업데이트할 수 있습니다.

역할은 사용자와 유사하며 권한 정책이 연결되어 있습니다. 모든 ID로 간주할 수 있습니다. 사용자가 역할을 가정하면 동적으로 생성된 임시 인증 정보 세트가 사용자에게 반환됩니다. 역할은 일부 S3 리소스에 액세스할 수 있는 권한이 없는 사용자, 애플리케이션 및 서비스에 대한 액세스를 위임하는 데 사용할 수 있습니다.

9.5.1. 역할 생성

radosgw-admin role create 명령을 사용하여 사용자의 역할을 생성합니다. 명령에 assume-role-policy-doc 매개 변수를 사용하여 사용자를 생성해야 합니다. 이 매개 변수는 엔터티에 역할을 가정할 수 있는 권한을 부여하는 신뢰 관계 정책 문서입니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 역할을 생성합니다.

    구문

    radosgw-admin role create --role-name=ROLE_NAME [--path=="PATH_TO_FILE"] [--assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT]

    예제

    [root@host01 ~]# radosgw-admin role create --role-name=S3Access1 --path=/application_abc/component_xyz/ --assume-role-policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Principal\":\{\"AWS\":\[\"arn:aws:iam:::user/TESTER\"\]\},\"Action\":\[\"sts:AssumeRole\"\]\}\]\}
    
    {
      "RoleId": "ca43045c-082c-491a-8af1-2eebca13deec",
      "RoleName": "S3Access1",
      "Path": "/application_abc/component_xyz/",
      "Arn": "arn:aws:iam:::role/application_abc/component_xyz/S3Access1",
      "CreateDate": "2022-06-17T10:18:29.116Z",
      "MaxSessionDuration": 3600,
      "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/TESTER\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
    }

    --path 의 값은 기본적으로 / 입니다.

9.5.2. 역할 가져오기

get 명령을 사용하여 역할에 대한 정보를 가져옵니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 역할에 대한 정보를 가져옵니다.

    구문

    radosgw-admin role get --role-name=ROLE_NAME

    예제

    [root@host01 ~]# radosgw-admin role get --role-name=S3Access1
    
    {
      "RoleId": "ca43045c-082c-491a-8af1-2eebca13deec",
      "RoleName": "S3Access1",
      "Path": "/application_abc/component_xyz/",
      "Arn": "arn:aws:iam:::role/application_abc/component_xyz/S3Access1",
      "CreateDate": "2022-06-17T10:18:29.116Z",
      "MaxSessionDuration": 3600,
      "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/TESTER\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
    }

추가 리소스

  • 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드역할 생성 섹션을 참조하십시오.

9.5.3. 역할 나열

list 명령을 사용하여 특정 경로의 역할을 나열 할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 역할을 나열합니다.

    구문

    radosgw-admin role list

    예제

    [root@host01 ~]# radosgw-admin role list
    
    [
        {
            "RoleId": "85fb46dd-a88a-4233-96f5-4fb54f4353f7",
            "RoleName": "kvm-sts",
            "Path": "/application_abc/component_xyz/",
            "Arn": "arn:aws:iam:::role/application_abc/component_xyz/kvm-sts",
            "CreateDate": "2022-09-13T11:55:09.39Z",
            "MaxSessionDuration": 7200,
            "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/kvm\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
        },
        {
            "RoleId": "9116218d-4e85-4413-b28d-cdfafba24794",
            "RoleName": "kvm-sts-1",
            "Path": "/application_abc/component_xyz/",
            "Arn": "arn:aws:iam:::role/application_abc/component_xyz/kvm-sts-1",
            "CreateDate": "2022-09-16T00:05:57.483Z",
            "MaxSessionDuration": 3600,
            "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/kvm\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
        }
    ]

9.5.4. 역할의 역할 정책 문서 업데이트

modify 명령으로 역할을 가정할 수 있도록 엔터티 권한을 부여하는 assume 역할 정책 문서를 업데이트할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 역할의 assume 역할 정책 문서를 수정합니다.

    구문

    radosgw-admin role-trust-policy modify --role-name=ROLE_NAME --assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT

    예제

    [root@host01 ~]# radosgw-admin role-trust-policy modify --role-name=S3Access1 --assume-role-policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Principal\":\{\"AWS\":\[\"arn:aws:iam:::user/TESTER\"\]\},\"Action\":\[\"sts:AssumeRole\"\]\}\]\}
    
    {
      "RoleId": "ca43045c-082c-491a-8af1-2eebca13deec",
      "RoleName": "S3Access1",
      "Path": "/application_abc/component_xyz/",
      "Arn": "arn:aws:iam:::role/application_abc/component_xyz/S3Access1",
      "CreateDate": "2022-06-17T10:18:29.116Z",
      "MaxSessionDuration": 3600,
      "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/TESTER\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
    }

9.5.5. 역할에 연결된 권한 정책 가져오기

get 명령을 사용하여 역할에 연결된 특정 권한 정책을 가져올 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 권한 정책을 가져옵니다.

    구문

    radosgw-admin role-policy get --role-name=ROLE_NAME --policy-name=POLICY_NAME

    예제

    [root@host01 ~]# radosgw-admin role-policy get --role-name=S3Access1 --policy-name=Policy1
    
    {
      "Permission policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":\"arn:aws:s3:::example_bucket\"}]}"
    }

9.5.6. 역할 삭제

연결된 권한 정책을 제거한 후에만 역할을 삭제할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • 생성된 역할입니다.
  • S3 버킷이 생성되었습니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  1. 역할에 연결된 정책을 삭제합니다.

    구문

    radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME

    예제

    [root@host01 ~]# radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1

  2. 역할을 삭제합니다.

    구문

    radosgw-admin role delete --role-name=ROLE_NAME

    예제

    [root@host01 ~]# radosgw-admin role delete --role-name=S3Access1

9.5.7. 역할에 연결된 정책 업데이트

put 명령을 사용하여 역할에 연결된 인라인 정책을 추가하거나 업데이트할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 인라인 정책을 업데이트합니다.

    구문

    radosgw-admin role-policy put --role-name=ROLE_NAME --policy-name=POLICY_NAME --policy-doc=PERMISSION_POLICY_DOCUMENT

    예제

    [root@host01 ~]# radosgw-admin role-policy put --role-name=S3Access1 --policy-name=Policy1 --policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Action\":\[\"s3:*\"\],\"Resource\":\"arn:aws:s3:::example_bucket\"\}\]\}

    이 예제에서는 Policy1example_bucket 의 모든 S3 작업을 허용하는 S3Access1 역할에 연결합니다.

9.5.8. 역할에 연결된 권한 정책 나열

list 명령을 사용하여 역할에 연결된 권한 정책의 이름을 나열 할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 권한 정책의 이름을 나열합니다.

    구문

    radosgw-admin role-policy list --role-name=ROLE_NAME

    예제

    [root@host01 ~]# radosgw-admin role-policy list --role-name=S3Access1
    
    [
      "Policy1"
    ]

9.5.9. 역할에 연결된 정책 삭제

rm 명령을 사용하여 역할에 연결된 권한 정책을 삭제할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • 권한 정책을 삭제합니다.

    구문

    radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME

    예제

    [root@host01 ~]# radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1

9.5.10. 역할의 세션 기간 업데이트

update 명령을 사용하여 역할의 세션 기간을 업데이트하여 제공된 인증 정보를 사용하여 사용자에게 로그인할 수 있는 시간을 제어할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway 설치
  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.
  • S3 버킷이 생성되었습니다.
  • 생성된 역할입니다.
  • 사용자 액세스 권한이 있는 S3 사용자

프로세스

  • update 명령을 사용하여 max-session-duration을 업데이트합니다.

    구문

    [root@node1 ~]# radosgw-admin role update --role-name=ROLE_NAME --max-session-duration=7200

    예제

    [root@node1 ~]# radosgw-admin role update --role-name=test-sts-role --max-session-duration=7200

검증

  • 역할을 나열하여 업데이트를 확인합니다.

    예제

    [root@node1 ~]#radosgw-admin role list
    [
        {
            "RoleId": "d4caf33f-caba-42f3-8bd4-48c84b4ea4d3",
            "RoleName": "test-sts-role",
            "Path": "/",
            "Arn": "arn:aws:iam:::role/test-role",
            "CreateDate": "2022-09-07T20:01:15.563Z",
            "MaxSessionDuration": 7200,				<<<<<<
            "AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam:::user/kvm\"]},\"Action\":[\"sts:AssumeRole\"]}]}"
        }
    ]

추가 리소스

  • 자세한 내용은 Red Hat Ceph Storage 개발자 가이드역할 조작 섹션을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.