Skip to main content
Gå til innhold

Useful Tips

Sikt AWS self-service portal

Sikt AWS portalen benyttes dersom du ikke allerede er logget inn i en ønsket AWS-konto eller ønsker å bytte AWS-kontoen du benytter.

https://aws.sikt.no/

caution

AWS-kontoen "Unit SANDBOX" skal i utgangspunkte ikke benyttes. Denne kontoen ble opprettet før Sikt implementerte en multi-konto strategi. Alle Sikt-ansatte har imidlertid lese-tilgang inn til denne kontoen da den benyttes som default-konto ved CLI-pålogging med samlauth.py

Gå direkte til AWS Console (dersom du allerede er innlogget):
https://console.aws.amazon.com/

Gå direkte til AWS Console i en bestemt region:
Irland - https://eu-west-1.console.aws.amazon.com/
Sverige - https://eu-north-1.console.aws.amazon.com/

Anbefalt daglig rutine:

  1. Gå til https://aws.sikt.no/ og logg inn
  2. Velg AWS-konto, og gjenta ved behov i andre nettleserprofiler/nettlesere/incognito.
  3. For CLI/API tilgang lokalt benytt scriptet samlauth.py
  4. Dersom du skal benytte flere kontoer lokalt: bruk et wrapper-script.

Tips og triks

Det er kun mulig å være innlogget i 1 AWS-konto om gangen i en nettleserprofil eller nettleser (les: pr. cookie-jar). Benytt flere profiler, incognito, eller evt. andre nettlesere for å være innlogget på flere AWS-kontoer samtidig.

Hvis du logger inn på https://aws.sikt.no/ på nytt så vil AWS opprette nye credentials i nettleseren, noe som vil logge deg ut fra den forrige sesjonen. Når dette skjer må du kjøre en refresh eller trykke på "back" i nettleseren for at dine AWS Console tabs skal fungere.

Er du allerede logget inn i en AWS-konto og trenger en ny tab:

  1. Kopier tab: høyreklikk tab og trykk duplicate
  2. Åpne en ny tab og gå inn på URL: https://console.aws.amazon.com/

Local setup

Anbefalte kjøremiljø og verktøy:

#!/bin/bash

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
complete -C '$(which aws_completer)' aws
pip3 install --upgrade --user cfn_flip
pip3 install --upgrade --user cfn-lint
#RVM + Ruby >=2.5
gem install cfn_nag

#Docker
docker run -v pwd/spec/test_templates:/templates -t stelligent/cfn_nag /templates/json/efs/filesystem_with_encryption.json

Nyttige AWS-verktøy

API/CLI tilgang

For å kunne kommunisere med AWS via CLI eller API (feks fra Java/Python/Node/lokalt IDE etc), må du ha AWS credentials (access-key, secret-key og session-token). Det er laget et pythonprogram som kan benyttes for å logge på med Feide fra kommandolinjen: samlauth.py.

Finn "account identity" via self-service portalen

Sjekk lenken: https://aws.sikt.no/ for ønsket AWS-konto, høyreklikk kontooppføringen og kopier ut hvilken URL AWS-portalen peker til.

F.eks. hvis oppføringen peker til: idp.bibsys.no/simplesaml/saml2/idp/SSOService.php?spentityid=urn:amazon:webservices:ArbeidslivsportalenSandbox

Så har denne AWS-kontoen Account Identity: ArbeidslivsportalenSandbox

Logg inn med account identity

Gitt account identity: ArbeidslivsportalenSandbox

./samlauth.py -a ArbeidslivsportalenSandbox -p alp-sandbox
aws sts get-caller-identity --profile alp-sandbox

Du må ha et sett med cedentials per. rolle per. AWS-konto. Hvis du jobber med flere AWS-kontoer til daglig så kan du lage deg selv et hjelpescript.

Hjelpescript

Tips: la 'default'-profilen i hjelpescriptet peke på den AWS-kontoen+IAMRole du jobber mest med til daglig. NB: dette bør IKKE være en produksjonskonto.

Eksempel:

#!/bin/bash

/path/to/samlauth.py -a CristinSentralimportSandbox -p default -r FeideLimitedAdmin
/path/to/samlauth.py -a CristinSentralimportTest -p cristin-si-test -r FeideLimitedAdmin
/path/to/samlauth.py -a CristinSentralimportProd -p cristin-si-prod-importer -r FeideCristinImporter

Config AWS CLI

aws configure set cli_history enabled

(Optional) Enable logging:

aws history list
aws history show [command_id from list]

Troubleshooting

Eksempel på ordinær feil:

Assertion failed: attempted to submit credentials to unauthorized host: https://idp.bibsys.no/simplesaml/module.php/saml/sp/saml2-acs.php/feide

Prøv:

samlauth.py -f

CodeCommit

Sikt bruker primært GitLab/BitBucket/GitHub, men for rask prototyping så kan CodeCommit være et alternativ. Les mer om CodeCommit her.

pip3 install git-remote-codecommit
aws codecommit create-repository --repository-name MyDemoRepo

git clone codecommit://MyDemoRepo my-demo-repo
# Or, when using non-default profile:
git clone codecommit://CodeCommitProfile@MyDemoRepo my-demo-repo