GetPolicyVersion 搭配 AWS SDK或 使用 CLI - AWS SDK 程式碼範例

文件範例儲存庫中有更多 AWS SDK可用的範例。 AWS SDK GitHub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

GetPolicyVersion 搭配 AWS SDK或 使用 CLI

下列程式碼範例示範如何使用 GetPolicyVersion

動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:

CLI
AWS CLI

擷取指定受管政策指定版本的相關資訊

此範例會傳回 v2 版本政策的政策文件,其ARN為 arn:aws:iam::123456789012:policy/MyManagedPolicy

aws iam get-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --version-id v2

輸出:

{ "PolicyVersion": { "Document": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:*", "Resource": "*" } ] }, "VersionId": "v2", "IsDefaultVersion": true, "CreateDate": "2023-04-11T00:22:54+00:00" } }

如需詳細資訊,請參閱 AWS IAM 使用者指南 中的政策和許可IAM

  • 如需API詳細資訊,請參閱 命令參考 GetPolicyVersion中的 。 AWS CLI

PowerShell
適用於 的工具 PowerShell

範例 1:此範例會傳回 ARN 的政策v2版本政策文件arn:aws:iam::123456789012:policy/MyManagedPolicyDocument 屬性中的政策文件會編碼,在此範例中會使用 URL . UrlDecode NET 方法解碼。

$results = Get-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy -VersionId v2 $results

輸出:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 2/12/2015 9:39:53 AM %7B%0A%20%20%22Version%22%3A%20%222012-10... True v2 [System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") $policy = [System.Web.HttpUtility]::UrlDecode($results.Document) $policy { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" } }
  • 如需API詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考 GetPolicyVersion中的 。

Python
SDK for Python (Boto3)
注意

還有更多 。 GitHub尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

def get_default_policy_statement(policy_arn): """ Gets the statement of the default version of the specified policy. :param policy_arn: The ARN of the policy to look up. :return: The statement of the default policy version. """ try: policy = iam.Policy(policy_arn) # To get an attribute of a policy, the SDK first calls get_policy. policy_doc = policy.default_version.document policy_statement = policy_doc.get("Statement", None) logger.info("Got default policy doc for %s.", policy.policy_name) logger.info(policy_doc) except ClientError: logger.exception("Couldn't get default policy statement for %s.", policy_arn) raise else: return policy_statement
  • 如需API詳細資訊,請參閱 GetPolicyVersion 中的 AWS SDK for Python (Boto3) API參考