DeletePolicyVersion 사용하기
DeletePolicyVersion 사용하기 (SDK/CLI)
DeletePolicyVersion(정책 버전 삭제) API를 활용하는 방법을 코드 예시로 정리했어요. 각 예시는 어떤 동작을 하는지, 어떤 파라미터를 쓰는지 순서대로 살펴볼 수 있어요.
출처: 문서
본문
다음 코드 예시들은 DeletePolicyVersion 를 어떻게 사용하는지 보여줘요.
AWS CLI
관리형 정책의 버전 삭제하기
aws iam delete-policy-version \
--policy-arn arn:aws:iam::123456789012:policy/MyPolicy \
--version-id v2
이 예시는 ARN이 arn:aws:iam::123456789012:policy/MySamplePolicy인 정책에서 v2로 식별되는 버전을 삭제해요.
PowerShell Tools (V4)
예시 1: ARN이 arn:aws:iam::123456789012:policy/MySamplePolicy인 정책에서 v2로 식별되는 버전을 삭제해요.
Remove-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy -VersionID v2
예시 2: 먼저 기본이 아닌 모든 정책 버전을 삭제한 뒤 정책 자체를 삭제해요. 첫 번째 줄은 정책 객체를 가져와요. 두 번째 줄은 기본으로 표시되지 않은 모든 정책 버전을 컬렉션으로 가져온 뒤 이 명령으로 컬렉션의 각 정책을 삭제해요. 마지막 줄은 남아 있는 기본 버전뿐 아니라 정책 자체도 제거해요. 관리형 정책을 성공적으로 삭제하려면 Unregister-IAMUserPolicy, Unregister-IAMGroupPolicy, Unregister-IAMRolePolicy 명령을 사용해 사용자·그룹·역할에서 정책을 분리해야 한다는 점에 주의하세요. Remove-IAMPolicy cmdlet의 예시를 참고하세요.
$pol = Get-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy
Get-IAMPolicyVersions -PolicyArn $pol.Arn | where {-not $_.IsDefaultVersion} | Remove-IAMPolicyVersion -PolicyArn $pol.Arn -force
Remove-IAMPolicy -PolicyArn $pol.Arn -force
PowerShell Tools (V5)
예시 1: ARN이 arn:aws:iam::123456789012:policy/MySamplePolicy인 정책에서 v2로 식별되는 버전을 삭제해요.
Remove-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy -VersionID v2
예시 2: 먼저 기본이 아닌 모든 정책 버전을 삭제한 뒤 정책 자체를 삭제해요. 첫 번째 줄은 정책 객체를 가져와요. 두 번째 줄은 기본으로 표시되지 않은 모든 정책 버전을 컬렉션으로 가져온 뒤 이 명령으로 컬렉션의 각 정책을 삭제해요. 마지막 줄은 남아 있는 기본 버전뿐 아니라 정책 자체도 제거해요. 관리형 정책을 성공적으로 삭제하려면 Unregister-IAMUserPolicy, Unregister-IAMGroupPolicy, Unregister-IAMRolePolicy 명령을 사용해 사용자·그룹·역할에서 정책을 분리해야 한다는 점에 주의하세요. Remove-IAMPolicy cmdlet의 예시를 참고하세요.
$pol = Get-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy
Get-IAMPolicyVersions -PolicyArn $pol.Arn | where {-not $_.IsDefaultVersion} | Remove-IAMPolicyVersion -PolicyArn $pol.Arn -force
Remove-IAMPolicy -PolicyArn $pol.Arn -force
SAP ABAP
TRY.
lo_iam->deletepolicyversion(
iv_policyarn = iv_policy_arn
iv_versionid = iv_version_id ).
MESSAGE 'Policy version deleted successfully.' TYPE 'I'.
CATCH /aws1/cx_iamnosuchentityex.
MESSAGE 'Policy or version does not exist.' TYPE 'E'.
CATCH /aws1/cx_iamdeleteconflictex.
MESSAGE 'Cannot delete default policy version.' TYPE 'E'.
CATCH /aws1/cx_iamlimitexceededex.
MESSAGE 'Limit exceeded.' TYPE 'E'.
ENDTRY.
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.