如何将KeyManager添加到使用m模拟的kms密钥

2024-10-03 17:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个由AWS管理的密钥。到目前为止,这就是我所拥有的

@mock_kms
def test_mocking_getting_keys(self):
    session = boto3.Session(profile_name=profile)
    client = session.client('kms', 'us-east-2')
    key = client.create_key(
        Policy='string',
        Description='string',
        KeyUsage='SIGN_VERIFY',
        CustomerMasterKeySpec='RSA_2048',
        Origin='AWS_KMS',
        CustomKeyStoreId='string',
        BypassPolicyLockoutSafetyCheck=True,
        Tags=[
            {
                'TagKey': 'string',
                'TagValue': 'string'
            },
        ]
    )
    print(key)

但是密钥似乎没有KeyManager字段:

 {'KeyMetadata': {'AWSAccountId': '012345678912', 'KeyId': '7fc3e676-0d1c-4526-9161-41b27a776033', 'Arn': 'arn:aws:kms:us-east-2:012345678912:key/7fc3e676-0d1c-4526-9161-41b27a776033', 'CreationDate': datetime.datetime(2020, 1, 3, 13, 31, 17, tzinfo=tzutc()), 'Enabled': True, 'Description': 'string', 'KeyUsage': 'SIGN_VERIFY', 'KeyState': 'Enabled'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'amazon.com'}, 'RetryAttempts': 0}}

我尝试在create\u key调用期间添加KeyManager作为参数,但也没有成功。你知道吗

似乎moto没有返回KeyManager字段。有没有一种方法可以专门模拟返回值,但不改变字典.get其他参数的方法?你知道吗

key['KeyMetadata']['AWSAccountId']将返回模拟值,然后 key['KeyMetadata']['KeyManager']将返回我可以指定的另一个模拟值。你知道吗


Tags: keyclientawsstringsessioncreate密钥description