Как разрешить запрос GetBucketLocation на корзине s3 для создания CA - PullRequest
0 голосов
/ 20 ноября 2018

Чтобы обновить сертификат SSL на AWS, для CSR требуется CA.

Когда я пытаюсь настроить и создать CA, я получаю такой массаж:

ValidationException Принципал ACM Private CA «acm-pca.amazonaws.com» требует разрешения «s3: GetBucketLocation» для вашей корзины S3 «MyBucket».Проверьте разрешения S3 Bucket и попробуйте еще раз

Чтобы продвинуться вперед с этим, настройте разрешения на Amazon S3> MyBucket > Разрешения> Политика Bucket:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::MyBucket/*"
        }
    ]
}

Согласно документации, найденной здесь: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html

LocationConstraint требуется.

Как решить проблему "s3: GetBucketLocation" и создать CA?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Однажды у меня возникла та же проблема, и мне пришлось читать документы AWS.

Настроить CRL: Настроить список отзыва сертификатов (CRL), если вы хотите, чтобы ACM PCA поддерживал его длясертификаты, отозванные вашим частным центром сертификации.

Если вы хотите создать CRL, выполните следующие действия:

  1. Выберите Включить рассылку CRL
  2. Чтобы создать новый S3сегмент для ваших записей CRL, выберите Да для параметра Создать новый блок S3 и введите уникальное имя блока.В противном случае выберите Нет и выберите существующий сегмент из списка.

Если вы выберете Да , ACM PCA создаст для вас необходимую политику сегментов.Если вы выберете Нет , убедитесь, что к вашему ведру прикреплена следующая политика:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "acm-pca.amazonaws.com"
      },
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket-name/*",
        "arn:aws:s3:::your-bucket-name"
      ]
    }
  ]
}

AWS doc

0 голосов
/ 20 ноября 2018

Вам необходимо изменить свою политику, сделать так, чтобы она выглядела примерно так:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": ["s3:GetBucketLocation"],
            "Resource": ["arn:aws:s3:::*"]
        }
    ]
}

Политика предоставляет пользователю разрешения s3:CreateBucket, s3:ListAllMyBuckets и s3:GetBucketLocation.Обратите внимание, что для всех этих разрешений вы устанавливаете часть относительного идентификатора ресурса ARN на «*».Для всех других действий группы необходимо указать имя группы.

Вы также можете указать принцип ACM, чтобы не делать предложение слишком широким.

...