Which is a valid Amazon Resource name (ARN) for IAM?
A.
aws:iam::123456789012:instance-profile/Webserver
B.
arn:aws:iam::123456789012:instance-profile/Webserver
C.
123456789012:aws:iam::instance-profile/Webserver
D.
arn:aws:iam::123456789012::instance-profile/Webserver
refer to :arn:aws:iam::account-id-without-hyphens:user/${aws:username}”
B
The double-colons in C++ as a scope identifier denotes a class’ members, meaning that a value following the double-colons belongs to the value in front of the double-colons. Say, John Oswald’s father is named Harvey Oswald, and the relationship between John and Harvey can be denoted by Harvey::John. Anyhow, I’ve become to feel the inconsistencies and lacking of restrictions from AWS’s terminologies. We find some other formats using ::, and even ::: we can see from here listed on documentations:
arn:aws:elasticbeanstalk:us-east-1:123456789012:environment/My App/MyEnvironment
arn:aws:iam::123456789012:user/David
arn:aws:rds:eu-west-1:123456789012:db:mysql-db
arn:aws:s3:::my_corporate_bucket/exampleobject.png
I doubt it is related to the C++ notation. It is just their own format.
arn:partition:service:region:account-id:resourcetype:resource
so if a service does not require a region/account-id, then that part is omitted, and that’s why you see the double/triple colons.
Whats the difference between B & D???
number of “:”