Uso de CreatePolicyVersion con un AWS SDK o la CLI - AWS Identity and Access Management

Uso de CreatePolicyVersion con un AWS SDK o la CLI

En los siguientes ejemplos de código, se muestra cómo utilizar CreatePolicyVersion.

Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:

CLI
AWS CLI

Cómo crear una nueva versión de la política administrada

En este ejemplo, se crea una nueva versión v2 de la política de IAM cuyo ARN es arn:aws:iam::123456789012:policy/MyPolicy y se la convierte en la versión predeterminada.

aws iam create-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --policy-document file://NewPolicyVersion.json \ --set-as-default

Salida:

{ "PolicyVersion": { "CreateDate": "2015-06-16T18:56:03.721Z", "VersionId": "v2", "IsDefaultVersion": true } }

Para obtener más información, consulte Control de versiones de políticas de IAM en la Guía del usuario de AWS IAM.

  • Para obtener información sobre la API, consulte CreatePolicyVersion en la Referencia de comandos de la AWS CLI.

PowerShell
Herramientas para PowerShell

Ejemplo 1: en este ejemplo, se crea una nueva versión “v2” de la política de IAM cuyo ARN es arn:aws:iam::123456789012:policy/MyPolicy y se la convierte en la versión predeterminada. El archivo NewPolicyVersion.json proporciona el contenido de la política. Tenga en cuenta que debe usar el parámetro de conmutación -Raw para procesar correctamente el archivo de políticas JSON.

New-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyPolicy -PolicyDocument (Get-content -Raw NewPolicyVersion.json) -SetAsDefault $true

Salida:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 4/15/2015 10:54:54 AM True v2
  • Para obtener información sobre la API, consulte CreatePolicyVersion en la Referencia de Cmdlet de AWS Tools for PowerShell.

Python
SDK para Python (Boto3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

def create_policy_version(policy_arn, actions, resource_arn, set_as_default): """ Creates a policy version. Policies can have up to five versions. The default version is the one that is used for all resources that reference the policy. :param policy_arn: The ARN of the policy. :param actions: The actions to allow in the policy version. :param resource_arn: The ARN of the resource this policy version applies to. :param set_as_default: When True, this policy version is set as the default version for the policy. Otherwise, the default is not changed. :return: The newly created policy version. """ policy_doc = { "Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": actions, "Resource": resource_arn}], } try: policy = iam.Policy(policy_arn) policy_version = policy.create_version( PolicyDocument=json.dumps(policy_doc), SetAsDefault=set_as_default ) logger.info( "Created policy version %s for policy %s.", policy_version.version_id, policy_version.arn, ) except ClientError: logger.exception("Couldn't create a policy version for %s.", policy_arn) raise else: return policy_version
  • Para obtener detalles sobre la API, consulte CreatePolicyVersion en la Referencia de la API del AWS SDK para Python (Boto3).

Para obtener una lista completa de las guías para desarrolladores del AWS SDK y ejemplos de código, consulte Uso de este servicio con un SDK de AWS. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.