AWS Backup でクロスアカウントコピーを実行するときに「Given key ID is not accessible」というエラーを解決する方法を教えてください。

所要時間2分
0

AWS Backup でクロスアカウントコピーを実行すると、「Given key ID is not accessible」というエラーが表示されます。

簡単な説明

AWS Backup を使用してある AWS アカウントから別の AWS アカウントへのクロスアカウントコピーを実行すると、次のメッセージのようなエラーが表示されます。

「Given key ID is not accessible」

-または-

「The source snapshot KMS key does not exist, is not enabled or you do not have permissions to access it」

クロスアカウントコピーを正常に作成するには、コピー元アカウントの AWS Key Management Service (AWS KMS) キーポリシーで宛先アカウントを許可する必要があります。さまざまな暗号化操作を実行するには、次の AWS KMS 権限が必要です。

  • DescribeKey
  • Encrypt
  • Decrypt
  • ReEncryptFrom
  • ReEncryptTo
  • GenerateDataKeyPair
  • GenerateDataKeyPairWithoutPlaintext
  • GenerateDataKeyWithoutPlaintext
  • CreateGrant
  • ListGrant
  • RevokeGrant

解決策

送信元アカウントの AWS KMS キーポリシーには、宛先アカウントのルートユーザーを含める必要があります。次に、宛先アカウントのルートユーザーは、必要な AWS ID およびアクセス管理 (IAM) 権限をユーザーとロールに委任します。

完全な AWS バックアップ管理をサポートするリソースの場合、ソース AWS KMS キーはボールトの暗号化キーです。ソース AWS KMS キーは、顧客管理キーでも AWS マネージドキーでもかまいません。ソース AWS KMS キーがカスタマーマネージドキーの場合は、ターゲットアカウントを含むようにキーポリシーを変更する必要があります。

完全な AWS Backup 管理をサポートしていないリソースの場合、ソース AWS KMS キーは元のリソースの暗号化キーです。ソースの AWS KMS キーはカスタマーマネージドキーである必要があり、ターゲットアカウントを含むようにキーポリシーを変更する必要があります。

**注:**ソース AWS KMS キーを AWS マネージドキーにすることはできません。これは、AWS マネージドキーではキーポリシーを変更できないためです。また、AWS マネージドキーを宛先アカウントと共有することはできません。

ソース AWS KMS キーポリシー

あるアカウントから別のアカウントへのコピーを作成するには、ソース AWS KMS キーを変更して次の権限を含めてください。

注:送信元アカウント ID送信先アカウント ID を、独自の送信元と送信先のアカウント ID に置き換えてください。

{  
    "Version": "2012-10-17",  
    "Id": "cab-kms-key",  
    "Statement": [{  
            "Sid": "Enable IAM User Permissions",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": "arn:aws:iam::SourceAccountID:root"  
            },  
            "Action": "kms:*",  
            "Resource": "*"  
        },  
        {  
            "Sid": "Allow use of the key",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": [  
                    "arn:aws:iam::SourceAccountID:root",  
                    "arn:aws:iam::DestinationAccountID:root"  
                ]  
            },  
            "Action": [  
                "kms:DescribeKey",  
                "kms:Encrypt",  
                "kms:Decrypt",  
                "kms:ReEncrypt*",  
                "kms:GenerateDataKey*"  
            ],  
            "Resource": "*"  
        },  
        {  
            "Sid": "Allow attachment of persistent resources",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": [  
                    "arn:aws:iam::SourceAccountID:root",  
                    "arn:aws:iam::DestinationAccountID:root"  
                ]  
            },  
            "Action": [  
                "kms:CreateGrant",  
                "kms:ListGrants",  
                "kms:RevokeGrant"  
            ],  
            "Resource": "*",  
            "Condition": {  
                "Bool": {  
                    "kms:GrantIsForAWSResource": "true"  
                }  
            }  
        }  
    ]  
}

**ヒント:**上記のポリシーでは、arn: aws:iam::DestinationAccountID:root を使用する代わりに、arn:aws:iam::DestinationAccountID:role/aws-service-role/backup.amazonaws.com/AWSServiceRoleForBackup を使用して、宛先アカウントからのアクセスを単一のロールに制限できます。AWSServiceRoleForBackup は、宛先アカウントで自動的に作成されるサービスロールで、ソースアカウントから宛先アカウントにバックアップを取り込むために使用されます。

クロスアカウントコピーの AWS Backup での暗号化に関するその他の考慮事項

どのリソースタイプが AWS Backup の完全管理の対象となるかを確認するには、「リソース別の機能の可用性」を参照してください。

リソースが AWS Backup の完全管理をサポートしている場合、これらのリソースを顧客管理の AWS KMS キーまたは AWS マネージドキーで暗号化できます。このシナリオでは、次の暗号化が行われます。

  • ソースバックアップは、ソースボールトの AWS KMS キーで暗号化されます。
  • 宛先コピーは、宛先ボールトの AWS KMS キーで暗号化されます。

完全な AWS Backup 管理をサポートしていないリソースからクロスアカウントコピーを作成するには、お客様が管理する AWS KMS キーでリソースを暗号化します。このシナリオでは、次の暗号化が行われます。

  • ソースバックアップは、元のリソース暗号化キーで暗号化されます。
  • 宛先コピーは、宛先ボールトの AWS KMS キーで暗号化されます。

関連情報

AWS Backup とは?

クロスリージョン/クロスアカウントデプロイソリューションにおけるコードのセキュリティの確保

AWS Backup でのバックアップの暗号化

AWS公式
AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ