DeleteUserPolicy 사용하기
DeleteUserPolicy 사용하기 (SDK/CLI)
DeleteUserPolicy(사용자 정책 삭제) API를 활용하는 방법을 코드 예시로 정리했어요. 각 예시는 어떤 동작을 하는지, 어떤 파라미터를 쓰는지 순서대로 살펴볼 수 있어요.
출처: 문서
본문
다음 코드 예시들은 DeleteUserPolicy 를 어떻게 사용하는지 보여줘요.
.NET
/// <summary>
/// Delete an IAM user policy.
/// </summary>
/// <param name="policyName">The name of the IAM policy to delete.</param>
/// <param name="userName">The username of the IAM user.</param>
/// <returns>A Boolean value indicating the success of the action.</returns>
public async Task<bool> DeleteUserPolicyAsync(string policyName, string userName)
{
var response = await _IAMService.DeleteUserPolicyAsync(new DeleteUserPolicyRequest { PolicyName = policyName, UserName = userName });
return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
AWS CLI
IAM 사용자에서 정책 제거하기
aws iam delete-user-policy \
--user-name Bob \
--policy-name ExamplePolicy
다음 delete-user-policy 명령은 Bob이라는 IAM 사용자에게서 지정한 정책을 제거해요.
Go(SDK for Go V2)
import (
"context"
"encoding/json"
"errors"
"log"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/iam"
"github.com/aws/aws-sdk-go-v2/service/iam/types"
"github.com/aws/smithy-go"
)
// UserWrapper encapsulates user actions used in the examples.
// It contains an IAM service client that is used to perform user actions.
type UserWrapper struct {
IamClient *iam.Client
}
// DeleteUserPolicy deletes an inline policy from a user.
func (wrapper UserWrapper) DeleteUserPolicy(ctx context.Context, userName string, policyName string) error {
_, err := wrapper.IamClient.DeleteUserPolicy(ctx, &iam.DeleteUserPolicyInput{
PolicyName: aws.String(policyName),
UserName: aws.String(userName),
})
if err != nil {
log.Printf("Couldn't delete policy from user %v. Here's why: %v\n", userName, err)
}
return err
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
PowerShell Tools (V4)
예시 1: Bob이라는 IAM 사용자에 포함된 AccessToEC2Policy라는 인라인 정책을 삭제해요.
Remove-IAMUserPolicy -PolicyName AccessToEC2Policy -UserName Bob
예시 2: Theresa라는 IAM 사용자에 포함된 모든 인라인 정책을 찾은 뒤 삭제해요.
$inlinepols = Get-IAMUserPolicies -UserName Theresa
foreach ($pol in $inlinepols) { Remove-IAMUserPolicy -PolicyName $pol -UserName Theresa -Force}
PowerShell Tools (V5)
예시 1: Bob이라는 IAM 사용자에 포함된 AccessToEC2Policy라는 인라인 정책을 삭제해요.
Remove-IAMUserPolicy -PolicyName AccessToEC2Policy -UserName Bob
예시 2: Theresa라는 IAM 사용자에 포함된 모든 인라인 정책을 찾은 뒤 삭제해요.
$inlinepols = Get-IAMUserPolicies -UserName Theresa
foreach ($pol in $inlinepols) { Remove-IAMUserPolicy -PolicyName $pol -UserName Theresa -Force}
Ruby
# Deletes a user and their associated resources
#
# @param user_name [String] The name of the user to delete
def delete_user(user_name)
user = @iam_client.list_access_keys(user_name: user_name).access_key_metadata
user.each do |key|
@iam_client.delete_access_key({ access_key_id: key.access_key_id, user_name: user_name })
@logger.info("Deleted access key #{key.access_key_id} for user '#{user_name}'.")
end
@iam_client.delete_user(user_name: user_name)
@logger.info("Deleted user '#{user_name}'.")
rescue Aws::IAM::Errors::ServiceError => e
@logger.error("Error deleting user '#{user_name}': #{e.message}")
end
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
Rust
pub async fn delete_user_policy(
client: &iamClient,
user: &User,
policy_name: &str,
) -> Result<(), SdkError<DeleteUserPolicyError>> {
client
.delete_user_policy()
.user_name(user.user_name())
.policy_name(policy_name)
.send()
.await?;
Ok(())
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
Swift
import AWSIAM
import AWSS3
func deleteUserPolicy(user: IAMClientTypes.User, policyName: String) async throws {
let input = DeleteUserPolicyInput(
policyName: policyName,
userName: user.userName
)
do {
_ = try await iamClient.deleteUserPolicy(input: input)
} catch {
print("ERROR: deleteUserPolicy:", dump(error))
throw error
}
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.