所有する別のawsアカウントからS3バケットのリソースにアクセスするには、クロスアカウントロールを作成する必要があります。S3クロスアカウントアクセス(ロール付き)
私は、アクセスまたは秘密鍵を使用せずにクロスアカウントのIAMの役割を使用してこれを実装するのを手伝ってください。アカウントBでの役割
- ロールA
あなたが望む:
所有する別のawsアカウントからS3バケットのリソースにアクセスするには、クロスアカウントロールを作成する必要があります。S3クロスアカウントアクセス(ロール付き)
私は、アクセスまたは秘密鍵を使用せずにクロスアカウントのIAMの役割を使用してこれを実装するのを手伝ってください。アカウントBでの役割
あなたが望む:
のは、あなたが持っているとしましょうインスタンスA上のアプリケーションがバケットBのコンテンツにアクセスできるようにする。
Request Information That You Can Use for Policy Variablesのドキュメントを含むaws:userid
のさまざまな値を示す表があります。
Amazon EC2インスタンスに割り当てられ役割については、それがため
role-id:ec2-instance-id
に設定されているが、あなたは役割のIDを使用することができアクセスを許可するAmazon EC2インスタンスに関連付けられたロール、またはインスタンスID。例えば
は、このバケットポリシーは役割IDに基づいている:ロールIDを取得するには
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID123",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::MYBUCKET",
"arn:aws:s3:::MYBUCKET/*"
],
"Principal": "*",
"Condition": {
"StringLike": {
"aws:userid": [
"AROAIIPEUJOUGITIU5BB6*"
]
}
}
}
]
}
、使用:
aws iam get-role --role-name ROLENAME
このバケットポリシーはインスタンスに基づいていますID:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID123",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::MYBUCKET",
"arn:aws:s3:::MYBUCKET/*"
],
"Principal": "*",
"Condition": {
"StringLike": {
"aws:userid": [
"AROAIIPEUJOUGITIU5BB6*"
]
}
}
}
]
}
インスタンスIDはインスタンスに残されますが、新しいインスタンスが起動されると、同じAmazonマシンイメージ(AMI)からでもインスタンスIDが割り当てられます。
もちろん、これらのアクセス許可をs3:*
ではなく、s3:GetObject
に制限することをお勧めします。
(この回答はGranting access to S3 resources based on role nameに基づいています)
ありがとうございます。出来た。 – JVA