As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use ListGrants
com um AWS SDKou CLI
Os exemplos de código a seguir mostram como usar o ListGrants
.
- .NET
-
- AWS SDK for .NET
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. using System; using System.Threading.Tasks; using Amazon.KeyManagementService; using Amazon.KeyManagementService.Model; /// <summary> /// List the AWS Key Management Service (AWS KMS) grants that are associated with /// a specific key. /// </summary> public class ListGrants { public static async Task Main() { // The identifier of the AWS KMS key to disable. You can use the // key Id or the Amazon Resource Name (ARN) of the AWS KMS key. var keyId = "1234abcd-12ab-34cd-56ef-1234567890ab"; var client = new AmazonKeyManagementServiceClient(); var request = new ListGrantsRequest { KeyId = keyId, }; var response = new ListGrantsResponse(); do { response = await client.ListGrantsAsync(request); response.Grants.ForEach(grant => { Console.WriteLine($"{grant.GrantId}"); }); request.Marker = response.NextMarker; } while (response.Truncated); } }
-
Para API obter detalhes, consulte ListGrantsem AWS SDK for .NET APIReferência.
-
- CLI
-
- AWS CLI
-
Para ver os subsídios em um AWS KMSchave
O
list-grants
exemplo a seguir exibe todas as concessões na área especificada AWS KMSchave gerenciada para o Amazon DynamoDB em sua conta. Essa concessão permite que o DynamoDB use KMS a chave em seu nome para criptografar uma tabela do DynamoDB antes de gravá-la no disco. Você pode usar um comando como este para ver as concessões no AWS KMSchaves gerenciadas e KMS chaves gerenciadas pelo cliente no AWS conta e região.Esse comando usa o
key-id
parâmetro com um ID de chave para identificar a KMS chave. Você pode usar um ID de chave ou chave ARN para identificar a KMS chave. Para obter o ID da chave ou a chave ARN de um AWS KMSchave gerenciada, use olist-aliases
comandolist-keys
or.aws kms list-grants \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
O resultado mostra que a concessão dá ao Amazon DynamoDB permissão para usar KMS a chave para operações criptográficas, além de permitir que ele visualize detalhes sobre a chave
DescribeKey
() e KMS retire as concessões ().RetireGrant
A restriçãoEncryptionContextSubset
limita a permissão às solicitações que incluem os pares de contexto de criptografia especificados. Como resultado, as permissões na concessão são efetivas somente na conta especificada e na tabela do DynamoDB.{ "Grants": [ { "Constraints": { "EncryptionContextSubset": { "aws:dynamodb:subscriberId": "123456789012", "aws:dynamodb:tableName": "Services" } }, "IssuingAccount": "arn:aws:iam::123456789012:root", "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ], "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com", "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com", "CreationDate": "2021-05-13T18:32:45.144000+00:00" } ] }
Para obter mais informações, consulte Subsídios em AWS KMSno AWS Guia do desenvolvedor do serviço de gerenciamento de chaves.
-
Para API obter detalhes, consulte ListGrants
em AWS CLI Referência de comando.
-
- Java
-
- SDKpara Java 2.x
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. /** * Asynchronously displays the grant IDs for the specified key ID. * * @param keyId the ID of the AWS KMS key for which to list the grants * @return a {@link CompletableFuture} that, when completed, will be null if the operation succeeded, or will throw a {@link RuntimeException} if the operation failed * @throws RuntimeException if there was an error listing the grants, either due to an {@link KmsException} or an unexpected error */ public CompletableFuture<Object> displayGrantIdsAsync(String keyId) { ListGrantsRequest grantsRequest = ListGrantsRequest.builder() .keyId(keyId) .limit(15) .build(); ListGrantsPublisher paginator = getAsyncClient().listGrantsPaginator(grantsRequest); return paginator.subscribe(response -> { response.grants().forEach(grant -> { logger.info("The grant Id is: " + grant.grantId()); }); }) .thenApply(v -> null) .exceptionally(ex -> { Throwable cause = ex.getCause(); if (cause instanceof KmsException) { throw new RuntimeException("Failed to list grants: " + cause.getMessage(), cause); } else { throw new RuntimeException("An unexpected error occurred: " + cause.getMessage(), cause); } }); }
-
Para API obter detalhes, consulte ListGrantsem AWS SDK for Java 2.x APIReferência.
-
- Kotlin
-
- SDKpara Kotlin
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. suspend fun displayGrantIds(keyIdVal: String?) { val request = ListGrantsRequest { keyId = keyIdVal limit = 15 } KmsClient { region = "us-west-2" }.use { kmsClient -> val response = kmsClient.listGrants(request) response.grants?.forEach { grant -> println("The grant Id is ${grant.grantId}") } } }
-
Para API obter detalhes, consulte ListGrants
em AWS SDKpara referência ao KotlinAPI.
-
- Python
-
- SDKpara Python (Boto3)
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. class GrantManager: def __init__(self, kms_client): self.kms_client = kms_client def list_grants(self, key_id): """ Lists grants for a key. :param key_id: The ARN or ID of the key to query. :return: The grants for the key. """ answer = input(f"Ready to list grants on key {key_id} (y/n)? ") if answer.lower() == "y": try: grants = self.kms_client.list_grants(KeyId=key_id)["Grants"] except ClientError as err: logger.error( "Couldn't list grants for key %s. Here's why: %s", key_id, err.response["Error"]["Message"], ) else: print(f"Grants for key {key_id}:") pprint(grants) return grants
-
Para API obter detalhes, consulte ListGrantsem AWS SDKpara referência em Python (Boto3). API
-
Para obter uma lista completa de AWS SDKguias do desenvolvedor e exemplos de código, consulteO uso do AWS KMS com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre SDK versões anteriores.