PutPolicy - AWS Private Certificate Authority

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

PutPolicy

Il seguente esempio di Java mostra come utilizzare l'PutPolicyoperazione.

L'operazione associa una policy basata sulle risorse a una CA privata, abilitando la condivisione tra account. Se autorizzato da una politica, un principale residente in un altro AWS account può emettere e rinnovare certificati privati di entità finale utilizzando una CA privata di cui non è titolare. Puoi trovare l'ARN di una CA privata chiamando l'azione ListCertificateAuthorities. Per esempi di politiche, consulta la CA privata AWS guida sulle politiche basate sulle risorse.

Una volta allegata una policy a una CA, è possibile esaminarla con l'GetPolicyazione o eliminarla con l'azione. DeletePolicy

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.auth.AWSStaticCredentialsProvider; import com.amazonaws.services.acmpca.AWSACMPCA; import com.amazonaws.services.acmpca.AWSACMPCAClientBuilder; import com.amazonaws.AmazonClientException; import com.amazonaws.services.acmpca.model.PutPolicyRequest; import com.amazonaws.services.acmpca.model.PutPolicyResult; import com.amazonaws.services.acmpca.model.AWSACMPCAException; import com.amazonaws.services.acmpca.model.ConcurrentModificationException; import com.amazonaws.services.acmpca.model.InvalidArnException; import com.amazonaws.services.acmpca.model.InvalidStateException; import com.amazonaws.services.acmpca.model.InvalidPolicyException; import com.amazonaws.services.acmpca.model.LockoutPreventedException; import com.amazonaws.services.acmpca.model.RequestFailedException; import com.amazonaws.services.acmpca.model.ResourceNotFoundException; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class PutPolicy { 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 the request object. PutPolicyRequest req = new PutPolicyRequest(); // Set the resource ARN. req.withResourceArn("arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566"); // Import and set the policy. // Note: This code assumes the file "ShareResourceWithAccountPolicy.json" is in a folder titled policy. String policy = new String(Files.readAllBytes(Paths.get("policy", "ShareResourceWithAccountPolicy.json"))); req.withPolicy(policy); // Retrieve a list of your CAs. PutPolicyResult result = null; try { result = client.putPolicy(req); } catch (ConcurrentModificationException ex) { throw ex; } catch (InvalidArnException ex) { throw ex; } catch (InvalidStateException ex) { throw ex; } catch (InvalidPolicyException ex) { throw ex; } catch (LockoutPreventedException ex) { throw ex; } catch (RequestFailedException ex) { throw ex; } catch (ResourceNotFoundException ex) { throw ex; } catch (AWSACMPCAException ex) { throw ex; } } }