Utilizzare CreatePolicy con un SDK AWS o una CLI - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Utilizzare CreatePolicy con un SDK AWS o una CLI

Gli esempi di codice seguenti mostrano come utilizzare CreatePolicy.

.NET
SDK per .NET
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

using System; using System.Threading.Tasks; using Amazon.Organizations; using Amazon.Organizations.Model; /// <summary> /// Creates a new AWS Organizations Policy. /// </summary> public class CreatePolicy { /// <summary> /// Initializes the AWS Organizations client object, uses it to /// create a new Organizations Policy, and then displays information /// about the newly created Policy. /// </summary> public static async Task Main() { IAmazonOrganizations client = new AmazonOrganizationsClient(); var policyContent = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\" : [{" + " \"Action\" : [\"s3:*\"]," + " \"Effect\" : \"Allow\"," + " \"Resource\" : \"*\"" + "}]" + "}"; try { var response = await client.CreatePolicyAsync(new CreatePolicyRequest { Content = policyContent, Description = "Enables admins of attached accounts to delegate all Amazon S3 permissions", Name = "AllowAllS3Actions", Type = "SERVICE_CONTROL_POLICY", }); Policy policy = response.Policy; Console.WriteLine($"{policy.PolicySummary.Name} has the following content: {policy.Content}"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
  • Per informazioni dettagliate sull’API, consulta CreatePolicy nella documentazione di riferimento dell’API AWS SDK per .NET.

CLI
AWS CLI

Esempio 1: come creare una policy con un file di sorgente del testo per la policy JSON.

L’esempio seguente mostra come creare una policy di controllo dei servizi (SCP) denominata AllowAllS3Actions: Il contenuto della policy è tratto da un file nel computer locale denominato policy.json.

aws organizations create-policy --content file://policy.json --name AllowAllS3Actions, --type SERVICE_CONTROL_POLICY --description "Allows delegation of all S3 actions"

L’output include un oggetto policy con dettagli sulla nuova policy:

{ "Policy": { "Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":[\"*\"]}]}", "PolicySummary": { "Arn": "arn:aws:organizations::o-exampleorgid:policy/service_control_policy/p-examplepolicyid111", "Description": "Allows delegation of all S3 actions", "Name": "AllowAllS3Actions", "Type":"SERVICE_CONTROL_POLICY" } } }

Esempio 2: come creare una policy con una policy JSON come parametro.

L’esempio seguente mostra come creare la stessa policy di controllo dei servizi, questa volta incorporando il contenuto della policy come stringa JSON nel parametro. La stringa deve essere preceduta da barre rovesciate come caratteri di escape prima delle virgolette doppie affinché queste ultime vengano considerate valori letterali del parametro, che a sua volta dovrà essere racchiuso tra virgolette doppie:

aws organizations create-policy --content "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":[\"*\"]}]}" --name AllowAllS3Actions --type SERVICE_CONTROL_POLICY --description "Allows delegation of all S3 actions"

Per ulteriori informazioni sulla creazione e l’utilizzo delle policy nell’organizzazione, consulta Gestione delle policy dell’organizzazione nella Guida per l’utente di AWS Organizations.

  • Per informazioni dettagliate sull’API, consulta CreatePolicy nella documentazione di riferimento dei comandi della AWS CLI.

Python
SDK per Python (Boto3)
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

def create_policy(name, description, content, policy_type, orgs_client): """ Creates a policy. :param name: The name of the policy. :param description: The description of the policy. :param content: The policy content as a dict. This is converted to JSON before it is sent to AWS. The specific format depends on the policy type. :param policy_type: The type of the policy. :param orgs_client: The Boto3 Organizations client. :return: The newly created policy. """ try: response = orgs_client.create_policy( Name=name, Description=description, Content=json.dumps(content), Type=policy_type, ) policy = response["Policy"] logger.info("Created policy %s.", name) except ClientError: logger.exception("Couldn't create policy %s.", name) raise else: return policy
  • Per informazioni dettagliate sull’API, consulta CreatePolicy nella documentazione di riferimento dell’API SDK AWS per Python (Boto3).