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

Criar uma chave de acesso do IAM usando um AWS SDK

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

.NET
AWS SDK for .NET
dica

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

/// <summary> /// Create a new AccessKey for the user. /// </summary> /// <param name="client">The initialized IAM client object.</param> /// <param name="userName">The name of the user for whom to create the key.</param> /// <returns>A new IAM access key for the user.</returns> public static async Task<AccessKey> CreateAccessKeyAsync( AmazonIdentityManagementServiceClient client, string userName) { var request = new CreateAccessKeyRequest { UserName = userName, }; var response = await client.CreateAccessKeyAsync(request); if (response.AccessKey is not null) { Console.WriteLine($"Successfully created Access Key for {userName}."); } return response.AccessKey; }
  • Para obter detalhes da API, consulte CreateAccessKey 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" ) // IMACreateAccessKeyAPI defines the interface for the CreateAccessKey function. // We use this interface to test the function using a mocked service. type IAMCreateAccessKeyAPI interface { CreateAccessKey(ctx context.Context, params *iam.CreateAccessKeyInput, optFns ...func(*iam.Options)) (*iam.CreateAccessKeyOutput, error) } // MakeAccessKey creates a new AWS Identity and Access Management (IAM) access key for a user. // 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 CreateAccessKeyOutput object containing the result of the service call and nil. // Otherwise, nil and an error from the call to CreateAccessKey. func MakeAccessKey(c context.Context, api IAMCreateAccessKeyAPI, input *iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error) { return api.CreateAccessKey(c, input) } func main() { userName := flag.String("u", "", "The name of the user") flag.Parse() if *userName == "" { fmt.Println("You must supply a user name (-u USER)") return } cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { panic("configuration error, " + err.Error()) } client := iam.NewFromConfig(cfg) input := &iam.CreateAccessKeyInput{ UserName: userName, } result, err := MakeAccessKey(context.TODO(), client, input) if err != nil { fmt.Println("Got an error creating a new access key") fmt.Println(err) return } fmt.Println("Created new access key with ID: " + *result.AccessKey.AccessKeyId + " and secret key: " + *result.AccessKey.SecretAccessKey) }
  • Para obter detalhes da API, consulte CreateAccessKey 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 String createIAMAccessKey(IamClient iam,String user) { try { CreateAccessKeyRequest request = CreateAccessKeyRequest.builder() .userName(user) .build(); CreateAccessKeyResponse response = iam.createAccessKey(request); return response.accessKey().accessKeyId(); } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
  • Para obter detalhes da API, consulte CreateAccessKey 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 };

Crie a chave de acesso.

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { CreateAccessKeyCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = {UserName: "IAM_USER_NAME"}; //IAM_USER_NAME export const run = async () => { try { const data = await iamClient.send(new CreateAccessKeyCommand(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'}); iam.createAccessKey({UserName: 'IAM_USER_NAME'}, function(err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.AccessKey); } });
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 createIAMAccessKey(user: String?): String { val request = CreateAccessKeyRequest { userName = user } IamClient { region = "AWS_GLOBAL" }.use { iamClient -> val response = iamClient.createAccessKey(request) return response.accessKey?.accessKeyId.toString() } }
  • Para obter detalhes da API, consulte CreateAccessKey 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 create_key(user_name): """ Creates an access key for the specified user. Each user can have a maximum of two keys. :param user_name: The name of the user. :return: The created access key. """ try: key_pair = iam.User(user_name).create_access_key_pair() logger.info( "Created access key pair for %s. Key ID is %s.", key_pair.user_name, key_pair.id) except ClientError: logger.exception("Couldn't create access key pair for %s.", user_name) raise else: return key_pair
  • Para obter detalhes da API, consulte CreateAccessKey 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.

# Creates an access key for a user. # # @param user [Aws::IAM::User] The user that owns the key. # @return [Aws::IAM::AccessKeyPair] The newly created access key. def create_access_key_pair(user) user_key = user.create_access_key_pair puts("Created access key pair for user.") rescue Aws::Errors::ServiceError => e puts("Couldn't create access keys for user #{user.name}.") puts("\t#{e.code}: #{e.message}") raise else user_key end
  • Para obter detalhes da API, consulte CreateAccessKey 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 create_access_key(client: &iamClient, user_name: &str) -> Result<AccessKey, iamError> { let mut tries: i32 = 0; let max_tries: i32 = 10; let response: Result<CreateAccessKeyOutput, SdkError<CreateAccessKeyError>> = loop { match client.create_access_key().user_name(user_name).send().await { Ok(inner_response) => { break Ok(inner_response); } Err(e) => { tries += 1; if tries > max_tries { break Err(e); } sleep(Duration::from_secs(2)).await; } } }; Ok(response.unwrap().access_key.unwrap()) }
  • Para obter detalhes da API, consulte CreateContactList 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.