Desanexar uma política do IAM de um usuário usando um AWS SDK - AWS Identity and Access Management

Desanexar uma política do IAM de um usuário usando um AWS SDK

Os exemplos de código a seguir mostram como desanexar uma política do IAM de um usuário.

Go
SDK for Go V2
dica

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

package main import ( "context" "flag" "fmt" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/iam" ) // IAMDetachRolePolicyAPI defines the interface for the DetachRolePolicy function. // We use this interface to test the function using a mocked service. type IAMDetachRolePolicyAPI interface { DetachRolePolicy(ctx context.Context, params *iam.DetachRolePolicyInput, optFns ...func(*iam.Options)) (*iam.DetachRolePolicyOutput, error) } // DetachDynamoFullPolicy detaches an Amazon DynamoDB full-access policy from an AWS Identity and Access Management (IAM) role. // Inputs: // c is the context of the method call, which includes the AWS Region. // api is the interface that defines the method call. // input defines the input arguments to the service call. // Output: // If successful, a DetachRolePolicyOutput object containing the result of the service call and nil. // Otherwise, nil and an error from the call to DetachRolePolicy. func DetachDynamoFullPolicy(c context.Context, api IAMDetachRolePolicyAPI, input *iam.DetachRolePolicyInput) (*iam.DetachRolePolicyOutput, error) { return api.DetachRolePolicy(c, input) } func main() { roleName := flag.String("r", "", "The name of the IAM role") flag.Parse() if *roleName == "" { fmt.Println("You must supply a role name (-r ROLE)") return } cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { panic("configuration error, " + err.Error()) } client := iam.NewFromConfig(cfg) policyArn := "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess" input := &iam.DetachRolePolicyInput{ PolicyArn: &policyArn, RoleName: roleName, } _, err = DetachDynamoFullPolicy(context.TODO(), client, input) if err != nil { fmt.Println("Unable to detach DynamoDB full-access role policy from role") return } fmt.Println("Role detached successfully") }
  • Para obter mais detalhes da API, consulte DetachUserPolicy na Referência da API do AWS SDK for Go.

Python
SDK para Python (Boto3).
dica

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

def detach_policy(user_name, policy_arn): """ Detaches a policy from a user. :param user_name: The name of the user. :param policy_arn: The Amazon Resource Name (ARN) of the policy. """ try: iam.User(user_name).detach_policy(PolicyArn=policy_arn) logger.info("Detached policy %s from user %s.", policy_arn, user_name) except ClientError: logger.exception( "Couldn't detach policy %s from user %s.", policy_arn, user_name) raise
  • Para obter detalhes da API, consulte DetachUserPolicy na Referência da API do AWS SDK para Python (Boto3).

Rust
SDK for Rust
nota

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está sujeito a alterações e não deve ser usado em ambientes de produção.

dica

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

pub async fn detach_user_policy( client: &iamClient, user_name: &str, policy_arn: &str, ) -> Result<(), iamError> { client .detach_user_policy() .user_name(user_name) .policy_arn(policy_arn) .send() .await?; Ok(()) }
  • Para obter detalhes da API, consulte DetachUserPolicy na Referência da API do AWS SDK for Rust.

Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código, consulte Usar o IAM com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.