정책을 사용하여 AWS 리소스에 대한 액세스 제어
정책을 사용하여 IAM 또는 모든 AWS 내 리소스에 대한 액세스를 제어할 수 있습니다.
정책을 사용하여 AWS에서 액세스를 제어하려면 AWS이 액세스를 부여하는 방식을 이해해야 합니다. AWS는 리소스 모음으로 구성되어 있습니다. IAM 사용자는 리소스입니다. Amazon S3 버킷은 리소스입니다. AWS API, AWS CLI 또는 AWS Management Console을 사용하여 작업을 수행할 경우(예: 사용자 생성) 해당 작업에 대한 요청을 전송합니다. 이 요청은 작업, 리소스, 보안 주체 엔터티(사용자 또는 역할), 보안 주체 계정 및 필요한 요청 정보를 지정합니다. 이러한 모든 정보는 콘텍스트를 제공합니다.
그런 다음 AWS은 사용자(보안 주체)가 지정된 리소스에 대해 지정된 작업을 수행할 수 있도록 인증(로그인) 및 권한 부여(권한 있음)되었는지 확인합니다. 권한을 부여하는 동안 AWS는 요청 콘텍스트에 적용되는 모든 정책을 확인합니다. 대부분의 정책은 AWS에 JSON 문서로 저장되며 보안 주체 엔터티에 대한 권한을 지정합니다. 정책 유형 및 활용에 대한 자세한 정보는 AWS Identity and Access Management의 정책 및 권한 섹션을 참조하세요.
AWS는 정책이 요청의 각 부분을 허용한 경우에만 요청에 권한을 부여합니다. 이러한 프로세스의 다이어그램을 보려면 IAM 작동 방식 섹션을 참조하세요. AWS가 요청이 허용되는지 여부를 결정하는 방법에 대한 자세한 내용은 정책 평가 로직 섹션을 참조하세요.
IAM 정책을 생성하면 다음에 대한 액세스를 제어할 수 있습니다.
이러한 정책을 사용하여 AWS 리소스에 액세스할 수 있는 대상과 액세스한 대상이 리소스에서 수행할 수 있는 작업을 지정할 수 있습니다. 모든 IAM 사용자는 처음에 권한이 없습니다. 다시 말해, 기본적으로 사용자는 아무 작업도 할 수 없으며, 심지어 자신의 액세스 키를 볼 수도 없습니다. 사용자에게 작업을 수행할 권한을 부여하기 위해 사용자에게 권한을 추가(즉 사용자에게 정책 연결)하거나 의도한 권한을 보유한 사용자 그룹에 사용자를 추가할 수 있습니다.
예를 들어, 자신의 액세스 키를 나열할 사용자 권한을 부여할 수 있습니다. 해당 권한을 확장하여 각 사용자가 자신의 키를 생성, 업데이트 및 삭제하도록 할 수도 있습니다.
사용자 그룹에 권한을 부여하면 사용자 그룹에 속한 모든 사용자가 해당 권한을 얻습니다. 예를 들어, Administrators 사용자그룹에 AWS 계정 리소스에서 IAM 작업을 수행할 권한을 부여할 수 있습니다. 또 다른 예로 Managers 사용자 그룹에 AWS 계정의 Amazon EC2 인스턴스를 설명할 권한을 부여할 수 있습니다.
사용자, IAM 그룹 및 역할에 기본 권한을 위임하는 방법에 대한 자세한 정보는 IAM 리소스에 액세스하는 데 필요한 권한 섹션을 참조하세요. 기본 권한을 보여주는 정책의 예를 더 보려면 IAM 리소스를 관리하기 위한 정책의 예 섹션을 참조하세요.
보안 주체에 대한 액세스 제어
정책을 사용하여 요청하는 사용자(보안 주체)가 수행하도록 허용된 사항을 제어할 수 있습니다. 이렇게 하려면 자격 증명 기반 정책을 해당 사용자의 자격 증명(사용자, 사용자 그룹 또는 역할)에 연결해야 합니다. 또한 권한 경계를 사용하여 엔터티(사용자 또는 역할)에 부여할 수 있는 최대 권한을 설정할 수 있습니다.
예를 들어 사용자 Zhang Wei의 CloudWatch, Amazon DynamoDB, Amazon EC2 및 Amazon S3에 대한 완전한 액세스를 허용하고자 한다고 가정해 봅시다. 다른 사용자에 대해 권한 세트 한 개가 필요한 경우 나중에 분리할 수 있도록 두 가지 다른 정책을 생성할 수 있습니다. 또는 모든 권한을 단일 정책으로 모은 다음 이 정책을 이름이 Zhang Wei인 IAM 사용자에게 연결할 수 있습니다. 정책을 Zhang Wei가 속한 사용자 그룹 또는 Zhang Wei가 수임하는 역할에 연결할 수도 있습니다. 그 결과, Zhang이 S3 버킷의 내용을 볼 경우 해당 요청이 허용됩니다. 새 IAM 사용자를 생성하려고 시도할 경우에는 권한이 없으므로 요청이 거부됩니다.
Zhang의 권한 경계를 사용하여 Zhang에게 amzn-s3-demo-bucket1
S3 버킷으로의 액세스 권한을 부여해야 합니다. 이렇게 하기 위해서는 Zhang에게 부여하고자 하는 최대 권한을 결정합니다. 이런 경우, Zhang이 그의 권한 정책으로 하는 일을 제어합니다. 여기서는 Zhang이 기밀 버킷으로 액세스하지만 않도록 신경 씁니다. 따라서 다음 정책을 사용하여 Zhang의 경계를 정의하여 Amazon S3에 대한 모든 AWS 작업 및 몇 가지 기타 서비스를 허용하지만 amzn-s3-demo-bucket1
S3 버킷으로의 액세스는 거부합니다. 권한 경계가 모든 IAM 작업을 허용하지 않기 때문에 권한 경계는 Zhang이 그의(또는 어떠한 사람의) 경계를 삭제하지 못하도록 방지합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsBoundarySomeServices", "Effect": "Allow", "Action": [ "cloudwatch:*", "dynamodb:*", "ec2:*", "s3:*" ], "Resource": "*" }, { "Sid": "PermissionsBoundaryNoConfidentialBucket", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket1
", "arn:aws:s3:::amzn-s3-demo-bucket1
/*" ] } ] }
이 사용자에 대한 권한 경계처럼 정책을 할당할 경우 어떠한 권한도 허용하지 않는다는 점을 유의하세요. 권한 경계는 자격 증명 기반 정책에서 IAM 엔터티에 부여할 수 있는 최대 권한을 설정합니다. 권한 경계에 대한 자세한 정보는 IAM 엔터티의 권한 범위 섹션을 참조하세요.
이전 절차에 대한 자세한 정보는 이러한 리소스 섹션을 참조하세요.
-
보안 주체에 연결할 수 있는 IAM 정책의 생성에 대해 자세히 알아보려면 고객 관리형 정책으로 사용자 지정 IAM 권한 정의 섹션을 참조하세요.
-
보안 주체에 IAM 정책을 연결하는 방법에 대해 자세히 알아보려면 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.
-
EC2에 전체 액세스 권한을 부여하는 예시 정책을 보려면 Amazon EC2: 특정 리전 내에서의 모든 EC2 액세스를 프로그래밍 방식으로 콘솔에서 허용 섹션을 참조하세요.
-
S3 버킷에 읽기 전용 액세스를 허용하려면 Amazon S3: S3 버킷에 있는 객체에 대한 읽기 및 쓰기 액세스 권한을 프로그래밍 방식으로 콘솔에서 허용 예시 정책의 첫 번째 두 설명문을 사용하세요.
-
사용자에게 콘솔 암호, 프로그래밍 방식의 액세스 키, MFA 디바이스 등 사용자의 보안 인증을 설정하도록 허용하는 정책 예제는 AWS: MFA 인증 IAM 사용자가 보안 인증 페이지에서 자신의 보안 인증을 관리할 수 있도록 허용 섹션을 참조하세요.
자격 증명에 대한 액세스 제어
IAM 정책에서 사용자 그룹 전반의 모든 사용자에게 연결하는 정책을 생성함으로써 사용자가 자격 증명에 대해 수행할 수 있는 사항을 제어할 수 있습니다. 이렇게 하려면 자격 증명에 수행할 수 있는 사항 또는 자격 증명에 액세스할 수 있는 대상을 제어하는 정책을 생성합니다.
예를 들어, 이름이 AllUsers인 사용자 그룹을 생성한 다음 해당 사용자 그룹을 모든 사용자에 연결할 수 있습니다. 사용자 그룹을 생성할 때 이전 섹션에서 설명한 대로 모든 사용자에게 보안 인증을 설정하기 위한 액세스 권한을 부여할 수 있습니다. 그런 다음 정책 조건에 사용자 이름이 포함되지 않은 경우 사용자 그룹을 변경하는 액세스를 거부하는 정책을 생성할 수 있습니다. 그러나 정책에서 이 부분은 나열된 사용자를 제외한 모든 사용자의 액세스만 거부합니다. 또한 사용자 그룹 사용자 모두에 대한 모든 사용자 그룹 관리 작업을 허용하는 권한을 포함해야 합니다. 마지막으로, 모든 사용자에게 적용되도록 이 정책을 사용자 그룹에 연결합니다. 그 결과, 정책에 지정되지 않은 사용자가 사용자 그룹을 변경하려고 하면 해당 요청이 거부됩니다.
시각적 편집기를 사용하여 이 정책을 생성하려면
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
왼쪽의 탐색 창에서 정책을 선택합니다.
정책을 처음으로 선택하는 경우 관리형 정책 소개 페이지가 나타납니다. 시작하기(Get Started)를 선택합니다.
-
정책 생성을 선택합니다.
-
정책 편집기 섹션에서 시각적 편집기 옵션을 선택합니다.
-
서비스 선택에서 IAM을 선택합니다.
-
허용된 작업에서 검색 상자에
group
을 입력합니다. 시각적 편집기에group
이라는 단어가 포함된 모든 IAM 작업이 표시됩니다. 모든 확인란을 선택합니다. -
리소스를 선택하여 정책에 대한 리소스를 지정합니다. 선택한 작업에 따라 group과 user 리소스 유형이 표시됩니다.
-
그룹 - ARN 추가를 선택합니다. 리소스 내부의 경우 모든 계정 옵션을 선택합니다. 경로를 포함하는 모든 그룹 이름 확인란을 선택한 다음, 사용자 그룹 이름
AllUsers
를 입력합니다. 그런 다음 ARN 추가를 선택합니다. -
사용자 - 이 계정에서 모두 옆에 있는 확인란을 선택합니다.
선택한 작업 중 하나인
ListGroups
는 특정 리소스 사용을 지원하지 않습니다. 해당 작업에서 All resources(모든 리소스)를 선택할 필요가 없습니다. 정책을 저장하거나 JSON 편집기에서 정책을 보는 경우 이 모든 리소스에 대해 IAM이 작업 권한을 부여하는 새 권한 블록을 자동으로 생성하는 것을 확인할 수 있습니다. -
-
다른 권한 블록을 추가하려면 더 많은 권한 추가를 선택합니다.
-
서비스 선택을 선택한 다음 IAM을 선택합니다.
-
허용된 작업을 선택한 다음 권한 거부로 전환을 선택합니다. 이렇게 하면 권한을 거부할 때 전체 블록이 사용됩니다.
-
검색 상자에
group
을 입력합니다. 시각적 편집기에group
이라는 단어가 포함된 모든 IAM 작업이 표시됩니다. 다음 작업 옆에 있는 확인란을 선택합니다.-
CreateGroup
-
DeleteGroup
-
RemoveUserFromGroup
-
AttachGroupPolicy
-
DeleteGroupPolicy
-
DetachGroupPolicy
-
PutGroupPolicy
-
UpdateGroup
-
-
리소스를 선택하여 정책에 대한 리소스를 지정합니다. 선택한 작업에 따라 group 리소스 유형이 표시됩니다. ARN 추가를 선택합니다. 리소스 내부의 경우 모든 계정 옵션을 선택합니다. 그룹 이름과 경로에서 사용자 그룹 이름
AllUsers
를 입력합니다. 그런 다음 ARN 추가를 선택합니다. -
요청 조건 - 선택 사항을 선택한 다음, 다른 조건 추가를 선택합니다. 다음 값을 사용하여 양식 입력을 완료합니다.
-
조건 키 — aws:username 선택
-
한정어 - 기본값을 선택합니다.
-
연산자 - StringNotEquals를 선택합니다.
-
값 -
srodriguez
를 입력한 다음 추가를 선택합니다.mjackson
를 입력한 다음, 추가를 선택하여 다른 값을 추가합니다.adesai
를 입력한 다음 조건 추가를 선택합니다.
이 조건은 호출한 사용자가 목록에 포함되지 않은 경우 지정된 사용자 그룹 관리 작업 액세스가 거부됩니다. 이는 명시적으로 권한을 거부하므로 해당 사용자가 작업을 호출할 수 있도록 허용된 이전 블록을 무시합니다. 목록에 있는 사용자는 액세스가 거부되지 않으며 첫 번째 권한 블록의 권한이 부여되므로 사용자 그룹을 전체적으로 관리할 수 있습니다.
-
-
마쳤으면 [Next]를 선택합니다.
참고
언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기 옵션에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 정책 재구성 단원을 참조하십시오.
-
검토 및 생성 페이지에서 정책 이름에
LimitAllUserGroupManagement
를 입력합니다. 설명에Allows all users read-only access to a specific user group, and allows only specific users access to make changes to the user group
을 입력합니다. 이 정책에 정의된 권한을 검토하여 의도한 권한을 부여했는지 확인합니다. 그런 다음 정책 생성을 선택하여 새 정책을 저장합니다. -
사용자 그룹에 정책을 연결합니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거 단원을 참조하십시오.
또는 이러한 예시 JSON 정책 문서를 사용하여 동일한 정책을 생성할 수 있습니다. 이 JSON 정책을 보려면 IAM: 특정 IAM 사용자가 프로그래밍 방식으로, 그리고 콘솔에서 그룹을 관리하도록 허용 섹션을 참조하세요. JSON 문서를 사용하여 정책을 생성하는 자세한 지침은 JSON 편집기를 사용하여 정책 생성 섹션을 참조하세요.
정책에 대한 액세스 제어
사용자가 AWS 관리형 정책을 적용하는 방식을 제어할 수 있습니다. 이렇게 하려면 이 정책을 모든 사용자에게 연결합니다. 이 작업에 사용자 그룹을 사용하는 것이 좋습니다.
예를 들어, 사용자가 새 IAM 사용자, 사용자 그룹 또는 역할에 IAMUserChangePassword
고객 관리형 정책의 경우 이러한 정책을 생성, 업데이트 및 삭제할 수 있는 대상을 제어할 수 있습니다. 정책을 위탁자 엔터티(IAM 그룹, 사용자 및 역할)에 연결하고 해당 개체에서 분리할 수 있는 대상을 제어할 수 있습니다. 또한 사용자가 어떤 정책을 어떤 주체에 연결하거나 분리할지 제어할 수 있습니다.
예를 들어 계정 관리자에게 정책을 생성, 업데이트 및 삭제할 권한을 부여할 수 있습니다. 그런 다음 팀 리더 또는 기타 제한된 관리자에게 제한된 관리자가 관리하는 보안 주체 개체에 이러한 정책을 연결하고 분리할 권한을 부여합니다.
자세한 정보는 다음 리소스 섹션을 참조하세요.
-
보안 주체에 연결할 수 있는 IAM 정책의 생성에 대해 자세히 알아보려면 고객 관리형 정책으로 사용자 지정 IAM 권한 정의 섹션을 참조하세요.
-
보안 주체에 IAM 정책을 연결하는 방법에 대해 자세히 알아보려면 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.
-
관리형 정책 사용을 제한하는 예시 정책을 보려면 IAM: IAM 사용자, 그룹 또는 역할에 적용 가능한 관리형 정책을 제한 섹션을 참조하세요.
고객 관리형 정책을 생성, 업데이트 및 삭제할 권한 제어
IAM 정책을 사용하여 AWS 계정에서 고객 관리형 정책을 생성, 업데이트 및 삭제할 수 있는 대상을 제어할 수 있습니다. 다음 목록에는 정책 또는 정책 버전을 생성, 업데이트 및 삭제하는 것과 직접적으로 관련된 API 작업이 포함되어 있습니다.
위 목록의 API 작업은 IAM 정책을 사용하여 허용하거나 거부할 수 있는 작업, 즉 부여할 수 있는 권한에 해당합니다.
다음 예시 정책을 고려하세요. 사용자가 AWS 계정에서 모든 고객 관리형 정책의 기본 버전을 생성, 업데이트(즉, 새 정책 버전 생성), 삭제 및 설정하도록 허용합니다. 또한 이 정책 예에서는 사용자가 정책을 나열하고 가져오도록 허용합니다. 이 예시 JSON 정책 문서를 사용하여 정책을 생성하는 방법에 대해 자세히 알아보려면 JSON 편집기를 사용하여 정책 생성 섹션을 참조하세요.
예 모든 정책의 기본 버전을 생성, 업데이트, 삭제, 나열, 가져오기 및 설정하도록 허용하는 정책 예
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:SetDefaultPolicyVersion" ], "Resource": "*" } }
이러한 API 작업의 사용을 제한하는 정책을 생성하여 지정하는 관리형 정책에만 영향을 줄 수 있습니다. 예를 들어, 특정 고객 관리형 정책의 경우에만 사용자가 기본 버전을 설정하고 정책 버전을 삭제하도록 허용해야 할 수 있습니다. 이렇게 하려면 이러한 권한을 부여하는 정책의 Resource
요소에 정책 ARN을 지정합니다.
다음 예시는 사용자가 정책 버전을 삭제하고 기본 버전을 설정할 수 있는 정책을 보여줍니다. 이런 작업은 /TEAM-A/ 경로를 포함하는 고객 관리형 정책에만 허용됩니다. 고객 관리형 정책 ARN은 그 정책의 Resource
요소에 지정되어 있습니다. (이 예에서 ARN에는 경로와 와일드카드가 포함되어 있으므로 경로 /TEAM-A/를 포함하는 모든 고객 관리형 정책과 일치합니다.) 이 예시 JSON 정책 문서를 사용하여 정책을 생성하는 방법에 대해 자세히 알아보려면 JSON 편집기를 사용하여 정책 생성 섹션을 참조하세요.
고객 관리형 정책 이름에서 경로를 사용하는 방법에 대한 자세한 정보는 표시 이름 및 경로 섹션을 참조하세요.
예 특정 정책의 경우에만 정책 버전 삭제와 기본 버전 설정을 허용하는 정책 예
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:DeletePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::
account-id
:policy/TEAM-A/*" } }
관리형 정책을 연결 및 분리하는 권한 제어
IAM 정책을 사용하여 사용자가 특정 관리형 정책만 사용하도록 허용할 수도 있습니다. 사실상 사용자가 다른 보안 주체에 부여할 수 있는 권한을 제어할 수 있습니다.
다음은 보안 주체 개체에 관리형 정책을 연결하고 분리하는 것과 직접적으로 관련된 API 작업 목록입니다.
이러한 API 작업의 사용을 제한하는 정책을 생성하여 지정하는 특정 관리형 정책 및/또는 보안 주체 개체에만 영향을 줄 수 있습니다. 예를 들어, 사용자가 지정하는 관리형 정책에만 연결하도록 허용해야 할 수 있습니다. 또는 사용자가 지정하는 보안 주체 엔터티에만 관리형 정책을 연결하도록 허용해야 할 수 있습니다.
다음 정책 예에서는 사용자가 경로 /TEAM-A/를 포함하는 IAM 그룹 및 역할에만 관리형 정책을 연결하도록 허용합니다. 사용자 그룹 및 역할 ARN은 정책의 Resource
요소에서 지정됩니다. (이 예제에서 ARN에는 경로와 와일드카드 문자가 포함되어 있으므로 경로 /TEAM-A/를 포함하는 모든 IAM 그룹 및 역할과 일치합니다.) 이 예시 JSON 정책 문서를 사용하여 정책을 생성하는 방법에 대해 자세히 알아보려면 JSON 편집기를 사용하여 정책 생성 섹션을 참조하세요.
예 특정 사용자 그룹 또는 역할에만 관리형 정책 연결을 허용하는 정책 예
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::
account-id
:group/TEAM-A/*", "arn:aws:iam::account-id
:role/TEAM-A/*" ] } }
앞 예에서 지정하는 정책에만 영향을 주도록 작업의 사용을 제한할 수 있습니다. 즉, 정책에 조건을 추가하여 사용자가 다른 보안 주체 엔터티에 연결하도록 허용할 권한을 제어할 수 있습니다.
다음 예에서 조건은 연결된 정책이 지정된 정책 가운데 하나와 일치하는 경우에만 AttachGroupPolicy
및 AttachRolePolicy
권한이 허용되도록 합니다. 이 조건은 iam:PolicyARN
조건 키를 사용하여 연결할 수 있는 정책을 결정합니다. 다음은 위의 예시를 확장한 예시 정책입니다. 사용자가 경로 /TEAM-A/ 경로를 포함하는 IAM 그룹 및 역할에만 /TEAM-A/ 경로를 포함하는 관리형 정책만 연결하도록 허용합니다. 이 예시 JSON 정책 문서를 사용하여 정책을 생성하는 방법에 대해 자세히 알아보려면 JSON 편집기를 사용하여 정책 생성 섹션을 참조하세요.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::
account-id
:group/TEAM-A/*", "arn:aws:iam::account-id
:role/TEAM-A/*" ], "Condition": {"ArnLike": {"iam:PolicyARN": "arn:aws:iam::account-id
:policy/TEAM-A/*"} } } }
이 정책은 ArnLike
조건 연산자를 사용하지만 두 조건 연산자가 동일하게 작동하므로 ArnEquals
조건 연산자도 사용할 수 있습니다. ArnLike
및 ArnEquals
에 대한 자세한 내용은 정책 요소 참조의 조건 유형에서 Amazon 리소스 이름(ARN) 조건 연산자 섹션을 참조하세요.
예를 들어, 지정하는 관리형 정책만 포함하도록 작업 사용을 제한할 수 있습니다. 이렇게 하려면 이러한 권한을 부여하는 정책의 Condition
요소에 정책 ARN을 지정합니다. 예를 들어, 고객 관리형 정책의 ARN을 지정하려면:
"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::
123456789012
:policy/POLICY-NAME
"} }
AWS 관리형 정책의 Condition
요소에서도 정책의 ARN을 지정할 수 있습니다. AWS 관리형 정책의 ARN은 다음 예와 같이 정책 ARN에 계정 ID 대신 aws
라는 특별한 별칭을 사용합니다.
"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::aws:policy/AmazonEC2FullAccess"} }
리소스에 대한 액세스 제어
자격 증명 기반 정책 또는 리소스 기반 정책을 사용하여 리소스에 대한 액세스를 제어할 수 있습니다. 자격 증명 기반 정책에서 자격 증명에 정책을 연결하고 자격 증명이 액세스할 수 있는 리소스를 지정합니다. 리소스 기반 정책에서 제어하려는 리소스에 정책을 연결합니다. 정책에서 해당 리소스에 액세스할 수 있는 보안 주체를 지정합니다. 두 정책 유형에 대한 자세한 정보는 자격 증명 기반 정책 및 리소스 기반 정책 섹션을 참조하세요.
자세한 정보는 다음 리소스 섹션을 참조하세요.
-
보안 주체에 연결할 수 있는 IAM 정책의 생성에 대해 자세히 알아보려면 고객 관리형 정책으로 사용자 지정 IAM 권한 정의 섹션을 참조하세요.
-
보안 주체에 IAM 정책을 연결하는 방법에 대해 자세히 알아보려면 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.
-
Amazon S3는 해당 버킷의 리소스 기반 정책 사용을 지원합니다. 자세한 정보는 버킷 정책 예시 섹션을 참조하세요.
리소스 생성자에게 권한이 자동으로 부여되지는 않음
AWS 계정 루트 사용자 자격 증명을 사용하여 로그인한 경우 해당 계정에 속한 리소스에서 모든 작업을 수행할 수 있는 권한이 부여됩니다. 그러나 IAM 사용자의 경우에는 그렇지 않습니다. IAM 사용자는 리소스를 생성할 권한을 받을 수 있지만, 그러한 리소스에 대한 권한은 명시적으로 부여받은 권한으로 제한됩니다. 즉, IAM 역할과 같은 리소스를 생성했다는 이유만으로 해당 역할을 편집 또는 삭제할 권한이 자동으로 부여되지는 않습니다. 또한 사용자의 권한은 계정 소유자 또는 해당 권한을 관리할 권한이 있는 다른 사용자가 언제든지 취소할 수 있습니다.
특정 계정에서 보안 주체에 대한 액세스 제어
계정의 IAM 사용자에게 리소스에 대한 액세스 권한을 직접 부여할 수 있습니다. 다른 계정의 사용자가 리소스에 액세스할 필요가 있다면 IAM 역할을 생성합니다. 역할은 권한을 포함한 개체이지만 특정 사용자와 관련이 없습니다. 다른 계정의 사용자는 해당 역할을 수임하여 해당 역할에 할당된 권한에 따라 리소스에 액세스할 수 있습니다. 자세한 내용은 소유한 다른 AWS 계정의 IAM 사용자에 대한 액세스 단원을 참조하십시오.
참고
일부 서비스만이 자격 증명 기반 정책 및 리소스 기반 정책(예: Amazon S3, Amazon SNS, Amazon SQS)에 설명된 리소스 기반 정책을 지원합니다. 그런 서비스의 역할 사용 대안은 공유할 리소스(버킷, 주제 또는 대기열)에 정책을 연결하는 것입니다. 리소스 기반 정책은 리소스에 대한 액세스 허가를 받은 AWS 계정을 지정할 수 있습니다.