Excluir uma chave de acesso do IAM usando um AWS SDK - AWS Identity and Access Management

Excluir uma chave de acesso do IAM usando um AWS SDK

Os exemplos de código a seguir mostram como excluir uma chave de acesso do IAM.

.NET
AWS SDK for .NET
dica

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

/// <summary> /// Delete the user, and other resources created for this example. /// </summary> /// <param name="client">The initialized client object.</param> /// <param name=accessKeyId">The Id of the user's access key.</param>" /// <param name="userName">The user name of the user to delete.</param> /// <param name="policyName">The name of the policy to delete.</param> /// <param name="policyArn">The Amazon Resource Name ARN of the Policy to delete.</param> /// <param name="roleName">The name of the role that will be deleted.</param> public static async Task DeleteResourcesAsync( AmazonIdentityManagementServiceClient client, string accessKeyId, string userName, string policyArn, string roleName) { var detachPolicyResponse = await client.DetachRolePolicyAsync(new DetachRolePolicyRequest { PolicyArn = policyArn, RoleName = roleName, }); var delPolicyResponse = await client.DeletePolicyAsync(new DeletePolicyRequest { PolicyArn = policyArn, }); var delRoleResponse = await client.DeleteRoleAsync(new DeleteRoleRequest { RoleName = roleName, }); var delAccessKey = await client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest { AccessKeyId = accessKeyId, UserName = userName, }); var delUserResponse = await client.DeleteUserAsync(new DeleteUserRequest { UserName = userName, }); }
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for .NET.

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" ) // IAMDeleteAccessKeyAPI defines the interface for the DeleteAccessKey function. // We use this interface to test the function using a mocked service. type IAMDeleteAccessKeyAPI interface { DeleteAccessKey(ctx context.Context, params *iam.DeleteAccessKeyInput, optFns ...func(*iam.Options)) (*iam.DeleteAccessKeyOutput, error) } // RemoveAccessKey deletes an AWS Identity and Access Management (IAM) access key. // 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 DeleteAccessKeyOutput object containing the result of the service call and nil. // Otherwise, nil and an error from the call to DeleteAccessKey. func RemoveAccessKey(c context.Context, api IAMDeleteAccessKeyAPI, input *iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error) { return api.DeleteAccessKey(c, input) } func main() { keyID := flag.String("k", "", "The ID of the access key") userName := flag.String("u", "", "The name of the user") flag.Parse() if *keyID == "" || *userName == "" { fmt.Println("You must supply the key ID and user name (-k KEY-ID -u USER-NAME") return } cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { panic("configuration error, " + err.Error()) } client := iam.NewFromConfig(cfg) input := &iam.DeleteAccessKeyInput{ AccessKeyId: keyID, UserName: userName, } _, err = RemoveAccessKey(context.TODO(), client, input) if err != nil { fmt.Println("Error", err) return } fmt.Println("Deleted key with ID " + *keyID + " from user " + *userName) }
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for Go.

Java
SDK para Java 2.x
dica

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

public static void deleteKey(IamClient iam ,String username, String accessKey ) { try { DeleteAccessKeyRequest request = DeleteAccessKeyRequest.builder() .accessKeyId(accessKey) .userName(username) .build(); iam.deleteAccessKey(request); System.out.println("Successfully deleted access key " + accessKey + " from user " + username); } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for Java 2.x.

JavaScript
SDK para JavaScript V3
dica

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

Crie o cliente.

import { IAMClient } from "@aws-sdk/client-iam"; // Set the AWS Region. const REGION = "REGION"; // For example, "us-east-1". // Create an IAM service client object. const iamClient = new IAMClient({ region: REGION }); export { iamClient };

Exclua a chave de acesso.

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { DeleteAccessKeyCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { AccessKeyId: "ACCESS_KEY_ID", // ACCESS_KEY_ID UserName: "USER_NAME", // USER_NAME }; export const run = async () => { try { const data = await iamClient.send(new DeleteAccessKeyCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
SDK para JavaScript V2
dica

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

// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create the IAM service object var iam = new AWS.IAM({apiVersion: '2010-05-08'}); var params = { AccessKeyId: 'ACCESS_KEY_ID', UserName: 'USER_NAME' }; iam.deleteAccessKey(params, function(err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Kotlin
SDK para Kotlin
nota

Essa documentação é de pré-lançamento para um recurso em versão de pré-visualização. Está sujeita a alteração.

dica

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

suspend fun deleteKey(userNameVal: String, accessKey: String) { val request = DeleteAccessKeyRequest { accessKeyId = accessKey userName = userNameVal } IamClient { region = "AWS_GLOBAL" }.use { iamClient -> iamClient.deleteAccessKey(request) println("Successfully deleted access key $accessKey from $userNameVal") } }
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for Kotlin.

Python
SDK para Python (Boto3).
dica

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

def delete_key(user_name, key_id): """ Deletes a user's access key. :param user_name: The user that owns the key. :param key_id: The ID of the key to delete. """ try: key = iam.AccessKey(user_name, key_id) key.delete() logger.info( "Deleted access key %s for %s.", key.id, key.user_name) except ClientError: logger.exception("Couldn't delete key %s for %s", key_id, user_name) raise
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK para Python (Boto3).

Ruby
SDK for Ruby
dica

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

# Deletes a user. If the user has inline policies or access keys, they are deleted # before the user is deleted. # # @param user [Aws::IAM::User] The user to delete. def delete_user(user) user.policies.each do |policy| name = policy.name policy.delete puts("Deleted user policy #{name}.") end user.access_keys.each do |key| key.delete puts("Deleted access key for user #{user.name}.") end name = user.name user.delete puts("Deleted user #{name}.") rescue Aws::Errors::ServiceError => e puts("Couldn't detach policies and delete user #{user.name}. Here's why:") puts("\t#{e.code}: #{e.message}") end
  • Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for Ruby.

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 delete_access_key( client: &iamClient, user: &User, key: &AccessKey, ) -> Result<(), iamError> { loop { match client .delete_access_key() .user_name(user.user_name.as_ref().unwrap()) .access_key_id(key.access_key_id.as_ref().unwrap()) .send() .await { Ok(_) => { break; } Err(e) => { println!("Can't delete the access key: {:?}", e); sleep(Duration::from_secs(2)).await; } } } Ok(()) }
  • Para obter detalhes da API, consulte DeleteAccessKey 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.