View a markdown version of this page

역할 관리자에 대한 액세스 관리 - AWS Identity and Access Management

역할 관리자에 대한 액세스 관리

역할 관리자에 대한 액세스를 두 가지 수준에서 제어합니다. IAM 권한은 계정에서 역할 관리자를 활성화할 수 있는 사용자와 역할 관리자가 제공하는 역할을 사용할 수 있는 사용자를 결정합니다. 서비스 제어 멤버 계정이 조직에서 수행할 수 있는 작업을 결정합니다.

역할 관리자에 대한 권한

역할 관리자를 활성화하거나 비활성화하려면 iam:PutAccountProperties 권한이 필요합니다. AWS 관리형 정책 IAMFullAccess에는 이 권한이 포함되어 있습니다.

역할 관리자를 사용하려면, 사용자에게는 역할 관리자가 자신을 대신하여 수행하는 작업에 대한 IAM 권한이 필요합니다. 역할 관리자는 AcquireRole API를 통해 역할을 제공하며, 이 API는 사용자의 권한에 대해 각 기본 IAM 작업을 평가합니다.

  • 템플릿과 일치하는 역할이 계정에 이미 있는 경우, AcquireRole은 해당 역할을 반환합니다. 이를 위해서는 iam:GetRole권한이 필요합니다.

  • 일치하는 역할이 없는 경우, AcquireRole은 템플릿에서 역할을 생성합니다. 여기에는 iam:CreateRole 권한과 템플릿에 정의되어 있는 내용에 대한 권한이 필요합니다. 템플릿에 인라인 정책이 추가되어 있는 경우에는 iam:PutRolePolicy이, 템플릿이 관리형 정책을 연결하는 경우에는 iam:AttachRolePolicy이 필요합니다.

전체 IAM 액세스 권한이 있는 사용자에게는 역할 관리자에게 필요한 모든 권한이 있습니다. 특정 템플릿에 필요한 작업이 무엇인지 정확하게 확인하려면 GetRoleTemplateVersion을 사용하여 템플릿을 검색하고 해당 정책을 검토합니다.

역할 관리자가 역할을 생성하면 AWS CloudTrail은 이허한 생성을 단일 AcquireRole 이벤트로 기록합니다. 이벤트에는 작업을 호출한 사용자, 사용된 역할 템플릿 및 파라미터 값, 생성된 역할이 표시됩니다.

다음 예제는 역할 관리자가 PowerUserRoleTemplate 역할 템플릿을 사용하여 역할 PowerUserRole을 생성하고 역할 Admin를 맡은 사용자를 대신하여 AcquireRole 작업을 호출했음을 보여줍니다.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123EXAMPLE:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "arn": "arn:aws:sts::123456789012:assumed-role/Admin/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "accountId": "123456789012", "accessKeyId": "ASIAWZYMLEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "attributes": { "creationDate": "2026-08-11T18:18:50Z", "mfaAuthenticated": "false" } }, "onBehalfOf": { "userId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "identityStoreArn": "arn:aws:identitystore::111122223333:identitystore/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } }, "eventTime": "2026-08-11T18:23:00Z", "eventSource": "iam.amazonaws.com", "eventName": "AcquireRole", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36", "requestParameters": { "templateArn": "arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1", "templateMinorVersion": 0, "replacementValues": { "AWSServiceName": { "values": [ "iam.amazonaws.com" ] } } }, "responseElements": { "role": { "path": "/", "roleName": "PowerUserRole", "roleId": "AROA987EXAMPLE", "arn": "arn:aws:iam::123456789012:role/PowerUserRole", "createDate": "2026-08-11T18:23:00Z", "assumeRolePolicyDocument": "%7B%22Version%22:%222012-10-17%22,%22Statement%22:%5B%7B%22Effect%22:%22Allow%22,%22Principal%22:%7B%22Service%22:%22iam.amazonaws.com%22%7D,%22Action%22:%22sts:AssumeRole%22%7D%5D%7D" } }, "requestID": "fde3dac0-73ac-491c-876b-EXAMPLE89c57", "eventID": "c93332cf-1429-4aee-bcaa-EXAMPLE3790d", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "iam.amazonaws.com" }, "sessionCredentialFromConsole": "true" }

조직의 역할 관리자 제어

AWS 조직 서비스 제어 정책(SCP)을 사용하여 조직 전체에서 역할 관리자를 제어할 수 있습니다. 다음 예제에서는 역할 관리자 활성화 차단 또는 역할 생성 차단, 템플릿을 기반으로 하는 역할 생성만 차단하는 방법을 보여줍니다.

이 예제에서는 거부 목록 전략을 사용합니다. 따라서 FullAWSAccess 또는 조직 엔터티에 연결된 작업을 허용하는 다른 정책도 필요합니다. 자격 증명 기반 정책을 사용하여 위탁자에게 권한을 부여해야 합니다.

멤버 계정이 콘솔 또는 API를 통해 역할 관리자를 활성화하는 것을 방지하려면 iam:PutAccountProperties 권한을 거부합니다. 조직을 통해 직접 새 계정을 생성하는 경우 이 정책을 사용하는 것이 좋습니다.

{ "Sid": "DenyRoleManagerEnablement", "Effect": "Deny", "Action": "iam:PutAccountProperties", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iam:AccountPropertyNamespaces": "RoleManager" } } }

역할 관리자를 사용하는 액세스 차단

역할 관리자의 사용을 차단할 때는 템플릿에서 역할을 생성하는 IAM 작업에 있는 iam:RoleTemplateARN 컨텍스트 키를 사용합니다. 다음 정책은 null이 아닌 값이 iam:RoleTemplateARN 컨텍스트 키에 있는 모든 IAM 작업을 거부합니다. 이 정책이 모든 역할 생성을 막는 것은 아닙니다. 역할 관리자를 통한 역할 생성과 SDK를 통한 템플릿 기반 역할 생성만 차단합니다.

{ "Sid": "DenyTemplatedRoleCreation", "Effect": "Deny", "Action": "iam:*", "Resource": "*", "Condition": { "Null": { "iam:RoleTemplateARN": false } } }

역할 관리자를 제외한 역할 생성 차단

역할 관리자를 통한 역할 생성을 허용하려면, 다음 정책을 사용하여 역할 관리자를 통하지 않은 역할 생성을 차단합니다. 이 정책은 여전히 SDK를 통해 템플릿 기반 역할을 직접 생성하는 것은 허용합니다.

{ "Sid": "DenyNonTemplatedRoleCreation", "Effect": "Deny", "Action": [ "iam:GetRole", "iam:GetRoleTemplateVersion", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:PutRolePermissionsBoundary", "iam:TagRole" ], "Resource": "*", "Condition": { "Null": { "iam:RoleTemplateARN": true } } }