1
S3 버킷의 마이크로 서비스 액세스 정책을 확인하기 위해 boto3을 사용하여 몇 가지 테스트를 만듭니다.Boto3는 S3 액세스 정책을 테스트하기 위해 사용자 지정 사용자 에이전트를 설정합니다.
버킷 설정이 버킷 정책이 지정된 역할을 가진 사람들에 대한 액세스를 제한하기위한 것입니다
test-bucket/
service/
micro-a/
micro-b/
:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessIfInThisRole",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::test-bucket/*",
"Condition": {
"StringNotLike": {
"aws:userid": "*role-id*"
}
}
}
]
}
이 역할 ID가 부여이 IAM 역할을 참조하고 마이크로 서비스 사용자 에이전트, 즉 마이크로 서비스 A의 사용자 에이전트는 '마이크로 A'일 수 있으므로 버킷의 각 마이크로 서비스 특정 폴더에 대한 액세스는 012에 액세스해야합니다 337,817,하지만 test-bucket/service/micro-b/*
에 :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::as-bucket-test/service/${aws:useragent}/*"
]
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::as-bucket-test"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"service/${aws:useragent}/*"
]
}
}
}
]
}
내가 다른 액세스 정책을 확인하기 위해 사용자 에이전트 여러 항목을 설정할 수 있도록 boto3 클라이언트를 만드는 방법을 이해하지 않습니다.
이AttributeError: 'str' object has no attribute 'user_agent_name'