AWS SDK または CLI で CreatePolicyVersion を使用する - AWS Identity and Access Management

AWS SDK または CLI で CreatePolicyVersion を使用する

以下のコード例は、CreatePolicyVersion の使用方法を示しています。

アクション例は、より大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。次のコード例で、このアクションのコンテキストを確認できます。

CLI
AWS CLI

新しいバージョンの管理ポリシーを作成するには

この例では、ARN が arn:aws:iam::123456789012:policy/MyPolicy である IAM ポリシーの新しい v2 バージョンを作成し、それをデフォルトのバージョンにします。

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

出力:

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

詳細については、「AWS IAM ユーザーガイド」の「IAM ポリシーのバージョニング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreatePolicyVersion」を参照してください。

PowerShell
Tools for PowerShell

例 1: この例では、ARN が arn:aws:iam::123456789012:policy/MyPolicy である IAM ポリシーの新しい「v2」バージョンを作成し、それをデフォルトのバージョンにします。NewPolicyVersion.json ファイルは、ポリシーの内容を提供します。JSON ポリシーファイルを正常に処理するには、-Raw switch パラメータを使用する必要があることに注意してください。

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

出力:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 4/15/2015 10:54:54 AM True v2
  • API の詳細については、「AWS Tools for PowerShell コマンドレットリファレンス」の「CreatePolicyVersion」を参照してください。

Python
SDK for Python (Boto3)
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、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
  • API の詳細については、「AWS SDK for Python (Boto3) API リファレンス」の「CreatePolicyVersion」を参照してください。

AWS SDK デベロッパーガイドとコード例の完全なリストについては、「このサービスを AWS SDK で使用する」を参照してください。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。