MalformedPolicyDocumentException null being thrown putting policy on CMK

0

I have created and IAM User and a CMK. When trying to put the policy on the CMK it is throwing a MalformedPolicyDocumentException null error but does NOT define WHAT the malformation is, just a generic Policy is not syntactically or semantically correct.

I have verified (via jslint) that the json I'm passing to the policy parameter is properly formatted and valid json.

I have eliminated this as a timing issue by creating the User and CMK and then waiting and trying to apply the key 30 min later.

Here is the code and the policy document (redacted of specific ARN data):

CODE:

    PutKeyPolicyRequest putKeyPolicyRequest = PutKeyPolicyRequest.builder()  

            .keyId(targetKeyId)  
            .policy(masterKeyPolicyDocument) //Add JSON document below  
            .policyName("default")  
            .bypassPolicyLockoutSafetyCheck(true)  
            .build();  


    PutKeyPolicyResponse putCreatePolicyResponse = kmsClient.putKeyPolicy(putKeyPolicyRequest); //Error thrown here  

EDITED: Found solution.

It would be REALLY NICE if in the developer guide you published or at least referenced the POLICY schema from the IAM policy in the KMS policy section versus assuming that structure was already known.

Edited by: qdpaul on Aug 10, 2020 10:16 AM

qdpaul
質問済み 4年前371ビュー
1回答
0

After finding the Policy Schema definitions in the IAM user policy guide was able to create semantically correct policy json.

qdpaul
回答済み 4年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ