CreatePermission - AWS Private Certificate Authority

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CreatePermission

L'exemple Java suivant montre comment utiliser l'CreatePermissionopération.

L'opération attribue des autorisations d'accès d'une autorité de certification privée à un principal de service AWS désigné. Les services peuvent être autorisés à créer et récupérer des certificats à partir d'une autorité de certification privée, ainsi qu'à répertorier les autorisations actives accordées par l'autorité de certification privée. Pour renouveler automatiquement les certificats via ACM, vous devez attribuer toutes les autorisations possibles (IssueCertificate,GetCertificate, etListPermissions) de l'autorité de certification au principal de service ACM (acm.amazonaws.com). Vous pouvez trouver l'ARN d'une autorité de certification en appelant la ListCertificateAuthoritiesfonction.

Une fois qu'une autorisation est créée, vous pouvez l'inspecter avec la ListPermissionsfonction ou la supprimer avec la DeletePermissionfonction.

package com.amazonaws.samples; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.services.acmpca.AWSACMPCA; import com.amazonaws.services.acmpca.AWSACMPCAClientBuilder; import com.amazonaws.services.acmpca.model.CreatePermissionRequest; import com.amazonaws.services.acmpca.model.CreatePermissionResult; import com.amazonaws.services.acmpca.model.InvalidArnException; import com.amazonaws.services.acmpca.model.InvalidStateException; import com.amazonaws.services.acmpca.model.LimitExceededException; import com.amazonaws.services.acmpca.model.PermissionAlreadyExistsException; import com.amazonaws.services.acmpca.model.RequestFailedException; import com.amazonaws.services.acmpca.model.ResourceNotFoundException; import java.util.ArrayList; public class CreatePermission { public static void main(String[] args) throws Exception { // Retrieve your credentials from the C:\Users\name\.aws\credentials file // in Windows or the .aws/credentials file in Linux. AWSCredentials credentials = null; try { credentials = new ProfileCredentialsProvider("default").getCredentials(); } catch (Exception e) { throw new AmazonClientException("Cannot load your credentials from file.", e); } // Define the endpoint for your sample. String endpointRegion = "region"; // Substitute your region here, e.g. "us-west-2" String endpointProtocol = "https://acm-pca." + endpointRegion + ".amazonaws.com/"; EndpointConfiguration endpoint = new AwsClientBuilder.EndpointConfiguration(endpointProtocol, endpointRegion); // Create a client that you can use to make requests. AWSACMPCA client = AWSACMPCAClientBuilder.standard() .withEndpointConfiguration(endpoint) .withCredentials(new AWSStaticCredentialsProvider(credentials)) .build(); // Create a request object. CreatePermissionRequest req = new CreatePermissionRequest(); // Set the certificate authority ARN. req.setCertificateAuthorityArn("arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566"); // Set the permissions to give the user. ArrayList<String> permissions = new ArrayList<>(); permissions.add("IssueCertificate"); permissions.add("GetCertificate"); permissions.add("ListPermissions"); req.setActions(permissions); // Set the Principal. req.setPrincipal("acm.amazonaws.com"); // Create a result object. CreatePermissionResult result = null; try { result = client.createPermission(req); } catch (InvalidArnException ex) { throw ex; } catch (InvalidStateException ex) { throw ex; } catch (LimitExceededException ex) { throw ex; } catch (PermissionAlreadyExistsException ex) { throw ex; } catch (RequestFailedException ex) { throw ex; } catch (ResourceNotFoundException ex) { throw ex; } } }