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.
Atenção
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como AWS IAM Identity Center (successor to AWS Single Sign-On).
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto nos seguintes exemplos de código:
- .NET
-
- AWS SDK for .NET
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. /// <summary> /// Delete an IAM user's access key. /// </summary> /// <param name="accessKeyId">The Id for the IAM access key.</param> /// <param name="userName">The username of the user that owns the IAM /// access key.</param> /// <returns>A Boolean value indicating the success of the action.</returns> public async Task<bool> DeleteAccessKeyAsync(string accessKeyId, string userName) { var response = await _IAMService.DeleteAccessKeyAsync(new DeleteAccessKeyRequest { AccessKeyId = accessKeyId, UserName = userName, }); return response.HttpStatusCode == System.Net.HttpStatusCode.OK; }
-
Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for .NET.
-
- Bash
-
- AWS CLI com script Bash
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. ############################################################################### # function errecho # # This function outputs everything sent to it to STDERR (standard error output). ############################################################################### function errecho() { printf "%s\n" "$*" 1>&2 } ############################################################################### # function iam_delete_access_key # # This function deletes an IAM access key for the specified IAM user. # # Parameters: # -u user_name -- The name of the user. # -k access_key -- The access key to delete. # # Returns: # 0 - If successful. # 1 - If it fails. ############################################################################### function iam_delete_access_key() { local user_name access_key response local option OPTARG # Required to use getopts command in a function. # bashsupport disable=BP5008 function usage() { echo "function iam_delete_access_key" echo "Deletes an WS Identity and Access Management (IAM) access key for the specified IAM user" echo " -u user_name The name of the user." echo " -k access_key The access key to delete." echo "" } # Retrieve the calling parameters. while getopts "u:k:h" option; do case "${option}" in u) user_name="${OPTARG}" ;; k) access_key="${OPTARG}" ;; h) usage return 0 ;; \?) echo "Invalid parameter" usage return 1 ;; esac done export OPTIND=1 if [[ -z "$user_name" ]]; then errecho "ERROR: You must provide a username with the -u parameter." usage return 1 fi if [[ -z "$access_key" ]]; then errecho "ERROR: You must provide an access key with the -k parameter." usage return 1 fi iecho "Parameters:\n" iecho " Username: $user_name" iecho " Access key: $access_key" iecho "" response=$(aws iam delete-access-key \ --user-name "$user_name" \ --access-key-id "$access_key") local error_code=${?} if [[ $error_code -ne 0 ]]; then aws_cli_error_log $error_code errecho "ERROR: AWS reports delete-access-key operation failed.\n$response" return 1 fi iecho "delete-access-key response:$response" iecho return 0 }
-
Para obter detalhes da API, consulte DeleteAccessKey na Referência de comandos da AWS CLI.
-
- C++
-
- SDK para C++
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. bool AwsDoc::IAM::deleteAccessKey(const Aws::String &userName, const Aws::String &accessKeyID, const Aws::Client::ClientConfiguration &clientConfig) { Aws::IAM::IAMClient iam(clientConfig); Aws::IAM::Model::DeleteAccessKeyRequest request; request.SetUserName(userName); request.SetAccessKeyId(accessKeyID); auto outcome = iam.DeleteAccessKey(request); if (!outcome.IsSuccess()) { std::cerr << "Error deleting access key " << accessKeyID << " from user " << userName << ": " << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully deleted access key " << accessKeyID << " for IAM user " << userName << std::endl; } return outcome.IsSuccess(); }
-
Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for C++.
-
- Go
-
- SDK para Go V2
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. // 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 } // DeleteAccessKey deletes an access key from a user. func (wrapper UserWrapper) DeleteAccessKey(userName string, keyId string) error { _, err := wrapper.IamClient.DeleteAccessKey(context.TODO(), &iam.DeleteAccessKeyInput{ AccessKeyId: aws.String(keyId), UserName: aws.String(userName), }) if err != nil { log.Printf("Couldn't delete access key %v. Here's why: %v\n", keyId, err) } return err }
-
Para obter detalhes da API, consulte DeleteAccessKey
na Referência da API do AWS SDK for Go.
-
- Java
-
- SDK para Java 2.x
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. 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)
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. Exclua a chave de acesso.
import { DeleteAccessKeyCommand, IAMClient } from "@aws-sdk/client-iam"; const client = new IAMClient({}); /** * * @param {string} userName * @param {string} accessKeyId */ export const deleteAccessKey = (userName, accessKeyId) => { const command = new DeleteAccessKeyCommand({ AccessKeyId: accessKeyId, UserName: userName, }); return client.send(command); };
-
Para obter mais informações, consulte o Guia do desenvolvedor do AWS SDK for JavaScript.
-
Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for JavaScript.
-
- SDK para JavaScript (v2)
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. // 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); } });
-
Para obter mais informações, consulte o Guia do desenvolvedor do AWS SDK for JavaScript.
-
Para obter detalhes da API, consulte DeleteAccessKey na Referência da API do AWS SDK for JavaScript.
-
- 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.
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. 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).
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. 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 para Ruby
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da AWS
. # 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 para Rust
-
nota
Esta documentação destina-se a um SDK na versão de pré-visualização. O SDK está sujeito a alterações e não deve ser usado em ambientes de produção.
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. 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.
-
- Swift
-
- SDK para Swift
-
nota
Esta é a documentação de pré-lançamento de um SDK na versão de visualização. Está sujeita a alteração.
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. public func deleteAccessKey(user: IAMClientTypes.User? = nil, key: IAMClientTypes.AccessKey) async throws { let userName: String? if user != nil { userName = user!.userName } else { userName = nil } let input = DeleteAccessKeyInput( accessKeyId: key.accessKeyId, userName: userName ) do { _ = try await iamClient.deleteAccessKey(input: input) } catch { throw error } }
-
Para obter detalhes da API, consulte DeleteAccessKey
na Referência da API do AWS SDK para Swift.
-
Para obter uma lista completa dos Guias do desenvolvedor do AWS SDK 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.