GetGroupPolicy 사용하기

GetGroupPolicy 사용하기 (CLI)

GetGroupPolicy(그룹 정책 조회) API를 활용하는 방법을 코드 예시로 정리했어요. 각 예시는 어떤 동작을 하는지, 어떤 파라미터를 쓰는지 순서대로 살펴볼 수 있어요.

출처: 문서

본문

다음 코드 예시들은 GetGroupPolicy 를 어떻게 사용하는지 보여줘요.

AWS CLI

IAM 그룹에 연결된 정책 정보 가져오기

aws iam get-group-policy \
    --group-name Test-Group \
    --policy-name S3-ReadOnly-Policy

다음 get-group-policy 명령은 Test-Group이라는 그룹에 연결된 지정한 정책의 정보를 가져와요.

{
    "GroupName": "Test-Group",
    "PolicyDocument": {
        "Statement": [
            {
                "Action": [
                    "s3:Get*",
                    "s3:List*"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    },
    "PolicyName": "S3-ReadOnly-Policy"
}

출력:

PowerShell Tools (V4)

예시 1: Testers 그룹에 대해 PowerUserAccess-Testers라는 포함된 인라인 정책의 세부 정보를 반환해요. PolicyDocument 속성은 URL 인코딩되어 있는데, 이 예시에서는 .NET의 UrlDecode 메서드로 디코딩했어요.

$results = Get-IAMGroupPolicy -GroupName Testers -PolicyName PowerUserAccess-Testers
$results

출력:

GroupName     PolicyDocument                                              PolicyName
---------     --------------                                              ----------
Testers       %7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20... PowerUserAccess-Testers

[System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility")
[System.Web.HttpUtility]::UrlDecode($results.PolicyDocument)
{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:555555555555:instance/i-b188560f"
      ]
    }
  ]
}

PowerShell Tools (V5)

예시 1: Testers 그룹에 대해 PowerUserAccess-Testers라는 포함된 인라인 정책의 세부 정보를 반환해요. PolicyDocument 속성은 URL 인코딩되어 있는데, 이 예시에서는 .NET의 UrlDecode 메서드로 디코딩했어요.

$results = Get-IAMGroupPolicy -GroupName Testers -PolicyName PowerUserAccess-Testers
$results

출력:

GroupName     PolicyDocument                                              PolicyName
---------     --------------                                              ----------
Testers       %7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20... PowerUserAccess-Testers

[System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility")
[System.Web.HttpUtility]::UrlDecode($results.PolicyDocument)
{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:555555555555:instance/i-b188560f"
      ]
    }
  ]
}

더 알아보기 (Learn more)