기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS KMS의 RBAC
역할 기반 액세스 제어(RBAC)는 사용자에게 직무 수행에 필요한 권한만 제공하는 권한 부여 전략입니다. AWS KMS는 키 정책 내에서 키 사용에 대한 세분화된 권한을 지정하여 키에 대한 액세스를 제어할 수 있도록 함으로써 RBAC를 지원합니다. 키 정책은 키에 대한 액세스 권한을 부여하는 리소스, 작업, 효과, 위탁자 및 선택적 조건을 지정합니다.
AWS KMS에서 RBAC를 구현하려면 키 사용자와 키 관리자에 대한 권한을 분리하는 것이 좋습니다.
- Key users
-
다음 키 정책 문 예제는 ExampleUserRole
IAM 역할이 KMS 키를 사용하도록 허용합니다.
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleUserRole"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
실제 키 사용자에게는 이 예제의 사용자보다 더 적은 권한이 필요할 수 있습니다. 그런 경우에는 사용자에게 필요한 권한만 할당하세요. 다음 질문을 사용하여 권한을 더욱 구체화할 수 있습니다.
-
어떤 IAM 위탁자(역할 또는 사용자)가 키에 액세스해야 하나요?
-
각 위탁자가 키로 수행해야 하는 작업은 무엇인가요? 예를 들어 위탁자에게 암호화 및 서명 권한만 필요한가요?
-
사용자가 사람인가요 아니면 AWS 서비스인가요? AWS 서비스인 경우 조건 키를 사용하여 키 사용을 특정 AWS 서비스로 제한할 수 있습니다.
- Key administrators
-
다음 키 정책 예제에서는 ExampleAdminRole
IAM 역할이 KMS 키를 관리할 수 있도록 허용합니다.
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleAdminRole"
},
"Action": [
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion"
],
"Resource": "*"
}
실제 키 관리자에게는 이 예제의 관리자보다 적은 권한이 필요할 수 있습니다. 그런 경우에는 키 관리자에게 필요한 권한만 할당하세요.
사용자에게 역할을 수행하는 데 필요한 권한만 부여하세요. 사용자의 권한은 키가 테스트 환경에서 사용되는지 또는 프로덕션 환경에서 사용되는지에 따라 달라질 수 있습니다. 특정 비프로덕션 환경에서 덜 제한적인 권한을 사용하는 경우에는 정책을 프로덕션으로 릴리스하기 전에 테스트하는 프로세스를 구현하세요.